28 June, 2011

WordPress og CakePHP: accesslevels

På WordPress Codex kan man læse, at access levels er forældede; men et kig i databasen viser, at de stadig er en del af brugerprofilen. Eftersom disse levels blot er et tal i databasen, så kan man sætte CakePHP i stand til at læse tabellen. Og dermed er det nemt at styre brugeradgangen. Men det er et åbent spørgsmål om disse talværdier forsvinder?

26 June, 2011

WordPress template

I løbet af weekenden har jeg fået lavet en template til WordPress. Psykedelisk musik var en stor inspirationskilde. Først lavede jeg et udkast i HTML. Filen blev derefter udstyret med en række loops, API-kroge og andre ting og sager. Templaten fungerer med widgets; men menukoderne mangler stadig.

Under motorhjælmen er der store ligheder mellem WP og CakePHP.

Denne variant ligger på min localhost; men den er også rullet ud over multimusen.

21 June, 2011

Evolution

På iPad er det meget nemt at sætte en email og kalender op med adgang til Google. Faktisk kan det samme lade sig gøre med Evolution. På kort tid er Evolution blevet min foretrukne emailklient. De seneste par år har jeg ellers brugt browseren til formålet. Det er en interessant udvikling - ikke mindst fordi mange regner med at mere og mere skal afvikles i skyen på en browser. Men man er jo ikke altid på nettet.

20 June, 2011

Kontemplation - WordPress og CakePHP

Denne tråd anbefaler at lægge WordPress i

## ../cake/app/webroot/blog/

Det må kunne lade sig gøre at bruge CakePHP sammen med WP, fx til styring af brugeradgang.

Denne tråd bruger data fra WPs login via php.

Hvis metoden virker, så kan man bruge WP som login og til styring af rettigheder.

WP giver adgang til brugerinformationer ved hjælp af $current_user:

<?php global $current_user;
      get_currentuserinfo();

      echo 'Username: ' . $current_user->user_login . "\n";
      echo 'User email: ' . $current_user->user_email . "\n";
      echo 'User first name: ' . $current_user->user_firstname . "\n";
      echo 'User last name: ' . $current_user->user_lastname . "\n";
      echo 'User display name: ' . $current_user->display_name . "\n";
      echo 'User ID: ' . $current_user->ID . "\n";
?>

Så kan man tjekke om brugeren er logget ind:

<?php
require('./wp-blog-header.php');
?>

og



<?php
if (is_user_logged_in()){
    echo "You are logged in.";
}
else {
    echo "Please login.";
};
?>

Nøglen er den sidste kontrolstruktur. Her må man kunne gøre brug af CakePHP... eller videresende til passende CakePHP Views og CRUDs.

Selv administratorrollen kan påvises i WP via: is_admin(); 

Sådan: Cakephp og Ubuntu konfiguration

Når CakePHP installeres på en Ubuntu server, så forsvinder layoutet. Det skyldes problemer med konfigurationen af mod_rewrite. Opskrifterne på nettet er ikke altid komplette, så her er den opskrift, der (endelig) virker for mig på Ubuntu 10.04.



Download CakePHP og pak filerne ud, hvor du vil have din cakeroot, jeg bruger fx:

# /var/www/cake/
Husk at give læserettigheder og at tmp skal være skrivbar:
# sudo chmod -R 775  /var/www/cake
# sudo chmod -R 777 /var/www/cake/app/tmp

Først skal mod_rewrite aktiveres i apache, dette gøres i et terminalvindue:

# sudo a2enmod rewrite

Så skal filen /etc/apace2/sites-available/default rettes:

# sudo gedit /etc/apace2/sites-available/default

Tilføj disse linjer:

    <directory /var/www/cake/app/webroot>
        AllowOverride All
    </Directory>
    <Directory /var/www/cake>
        AllowOverride All
    </Directory>
    <directory /var/www/cake/app>
        AllowOverride All
    </Directory>

Måske burde man kunne nøjes med at give tilladelsen AllowOverride All i ../cake; men det virkede ikke på mit system. Til gengæld virker ovenstående.

Herefter skal Apache genstartes:

# sudo /etc/init.d/apache2 restart

 Nu mangler de sidste detaljer. På skærmbilledet kan man læse, at "security salt"skal ændres, og at oplysningerne om databasen skal være korrekte. Tilføj disse detaljer i ../cake/app/config/core.php (security salt). I samme directory omdøbes database.php.default til database.php. Filen skal rettes, således at databaseoplysningerne bliver korrekte:


class DATABASE_CONFIG {

    var $default = array(
        'driver' => 'mysql',
        'persistent' => false,
        'host' => 'localhost',
        'login' => 'user',
        'password' => 'password',
        'database' => 'database_name',
        'prefix' => '',
    );

    var $test = array(
        'driver' => 'mysql',
        'persistent' => false,
        'host' => 'localhost',
        'login' => 'user',
        'password' => 'password',
        'database' => 'test_database_name',
        'prefix' => '',
    );
}

Tilbage står kun at tjekke om sagerne virker i en browser:

# firefox http://localhost/cake (bare for at være kontrær og initiere firefox fra et terminalvindue...)

19 June, 2011

Croogo cms til cakePHP

Croogo er et CMS udviklet til CakePHP. Det lyder jo forjættende, for opsætning af brugerrettigheder er en labyrint i CakePHP.  Derfor skulle det prøves. Installationen ødelagde en version af CakePHP, der ellers virkeke. Det kunne jeg ikke få den til igen, selv om jeg er begyndt at installere forfra hver gang noget går galt.

Tjah, det ligner en tendens. ... .. ... .. .....

 Croogo kommer med en masse fejlmeddelelser. CakePHP virker nogen gange på Ubuntu. Det kræver held ... hver gang. Det er mit klare indtryk, at hverken CakePHP eller Croogo er modne til andet end eksperimenter. Men hvis det en dag virker, så bliver det smart. Vejledningen til Croogo fortæller ikke præcist, hvordan man installerer. Mine gæt, eksperimenter og forsøg virkede i hvert fald ikke.

"Building PHP Applications" af Porebski m.fl. skriver at Crooga skal installeres i /cake/app - men det ser ud til at Crooga nu pakkes med en fuldstændig CakePHP. Hverken den ene eller den anden tilgang virker.

Nå, det var den aften. Jeg kommer ikke videre i dag, Frameworks kan være så bøvlede, at det ville være hurtigere at udvikle sin egen kode ....

Leder efter et alternativ til Open Office

Open Office har fået lidt vel mange nykker. Efterhånden skal man kæmpe med lige så mange tåbeligheder som i Windows kontorsuite.

Cakephp og Ubuntu - endnu engang

I konfigurationsfilen kan man fravælge "pretty urls" - filen /var/www/cake/app/config/core.php fortæller hele proceduren. Jeg omdøbte simpelt hen .htaccess til .htaccess.old - og slettede derefter .htaccess. 

/**
 * To configure CakePHP *not* to use mod_rewrite and to
 * use CakePHP pretty URLs, remove these .htaccess
 * files:
 *
 * /.htaccess
 * /app/.htaccess
 * /app/webroot/.htaccess
 *
 * And uncomment the App.baseUrl below:
 */
    Configure::write('App.baseUrl', env('SCRIPT_NAME'));

/**

---
Dagen efter virker denne opskrift ikke. CakePHP kan være en prøvelse.

13 June, 2011

Trust - trådløst tastatur

Det lille trådløse tastatur fra Trust (Trust / 17508) er en herlig ting. Men senderen er ikke vildt kraftig. Jeg måtte flytte USB dimmeren i computeren til forsiden af kabinettet - og så fungerer den upåklageligt. Hvis man slutter PC og TV sammen, så er det herligt at sidde i sofaen og fjernstyre alt. Her kommer trackpaden til sin ret.
Bedømmelse: (****) (4/5).

10 June, 2011

Importere mange VCF-filer i Evolution

Evolution vil importere en fil; men Nokia E52 sender vCards som enkeltfiler. Det bliver nemt til mange filer; men løsningen er at kopirere de mange filer sammen til en:

# cat *vcf > adresser.vcf

Derefter importeres filen adresser.vcf til Evolution.

Forklaring på koden: cats output sendes via en pipe (>) til filen adresser.vcf.

07 June, 2011

IPad 40 sider jura i mikroformat

Da jeg ville opdatere et program på iPad skulle jeg lige godkende en ny bindende aftale. 40 sider advokatævl af værste skuffe. Det vil jeg da ikke sige ja til. Jailbreak rykker tættere på nu. Mac er værre end Windows med den slags.

Ku du ik bare trykke ok og så var den pot ude?

Nej! Advokatævlet er jo bindende. Eller er det? Hvordan opsiger man disse tåbelige og urimelige kontrakter som softwareproducenterne pådutter os.

Firefox hænger

Når Firefox hænger Gnome / Ubuntu er det ikke nok at

# killall firefox

Man skal

# killall firefox-bin

Aha...

06 June, 2011

Cakephp fra localhost til www server

Man kan ikke kopiere filerne direkte som de ligger på localhost. Sandsynligvis er løsningen at kopiere de individuelle filer med views, controllers etc. manuelt. Ikke just en "piece of cake" løsning (men sådan er det jo hver gang man prøver noget nyt med Cake).

"CakePHP aint piece of Cake"

Metoden med at kopiere views, models og controllere virkede. Derudover skulle:
  • Databasens opsætning konfigureres efter den nye server.
  • Core.php kopieres over fra localhost til server (salt-værdierne til kryptering skal være ens, ellers virker de Sha1 krypterede passwordstrenge ikke.
Og så virker CakePHP ellers ... http://multimusen.dk/cake/

Gnome keyring

Klik på overskriften og hop til en opskrift, der fjerner det trælse spørgsmål om keyring når Gnome starter i visse Ubuntu varianter.