itaeng

Blog

Pubblicato in:

Authsome plugin: Auth for people who hate the Auth component

28DIC2009

Un progetto molto simile era in cantiere da diverso tempo sul forum di cakephp-it.org, ma qualcuno ci ha battuti sul tempo (non che ci volesse molto visto il nostro stato dei lavori :))

questa la presentazione:

Assume nothing: Authsome requires that you have some kind of user model, but that's it. It doesn't care if you use a database, passwords or religious ceremonies for verifying your member logins.

Touch nothing: Authsome does not interact with your application at all. No login redirects, no permissions checks, nothing. You never have to worry about the underlaying magic, it will never get into your way.

Always available: Authsome is there for you when you need it. You can do stuff like Authsome::get('id') from anywhere in your project. If you have MVC OCD, you can also use Authsome as a regular component: $this->Authsome->get('id')

http://github.com/felixge/cakephp-authsome

Leggendo la presentazione sembra un gran bel pezzo di codice, al più presto proverò ad implementarlo in qualche progetto... ma il bello arriverà più avanti, nel 2010:

Next on the radar is Righteful: Acl for people who hate the Acl component. We hope to have it ready at some point early next year.

http://debuggable.com/posts/cakephp-aut … 76cbdd56cb

ACL è un complesso sistema di gestione delle autenticazioni, come molti sviluppatori (e non solo su cakephp) sapranno... l'unica difficoltà, che molti sviluppatori (soprattutto su cakephp) avranno già avuto modo di notare, è l'estrema macchinosità del tutto... difficile da implementare, da gestire, da utilizzare... speriamo che questo plugin ci venga in aiuto.

Adoro la comunità di cakephp...:D

Pubblicato in:

Bloodhound Gang - Uhn Tiss Uhn Tiss Uhn Tiss

27DIC2009

Si apre una nuova rubrica: cultura musicale :D.

Adoro questo gruppo...

Pubblicato in:

Tabella di compatibilità fra i browser per html5, css3, svg...

21DIC2009

Vagando per la rete alla ricerca di informazioni sul supporto ai tag audio e video in html5, mi sono imbattuto in questa interessante tabella:
http://a.deveria.com/caniuse/

Mostra la compatibilità delle nuove (future?) tecnologie web con i browser passati, attuali e futuri. Un ottimo aiuto per gli sviluppatori...

Pubblicato in:

Lockerz.com apre agli utenti italiani

14DIC2009

Lockerz è un sito americano, fondato a marzo 2009 il cui CEO è nientemeno che l'ex patron di Amazon, Kathy Savitt.

Il sito in questione ha la simpatica peculiarità di regalare (o promettere di) prodotti di vario genere ai propri visitatori: si parla di Nintendo Wii, Xbox 360, ma anche Macbook, tavole da snowboard, scooter... insomma premi anche piuttosto grossi!

Il funzionamento è semplice: ti iscrivi e partecipi ad un semplice giochino per accumulare i primi punti, dopodichè guadagni 2 punti per ogni giorno in cui ti colleghi, ed altri 2 punti se rispondi alla domanda del giorno... il tutto raddoppiato se inviti 20 persone, entrando inoltre a far parte della z-list.

Ora... credo che un po' tutti sentano puzza di fregatura, a quanto pare invece funziona sul serio, il sito guadagna dalla pubblicità e dagli sponsor, troppo bello per essere vero?

Forse, io intanto mi sono registrato... è gratuito e non costa troppa fatica, l'unico limite è la necessità di avere un invito per potersi iscrivere.

Interessato? Lascia un commento o contattami in altro modo, ne ho un po' a disposizione :)

Pubblicato in:

Helper per la formattazione delle date con Cakephp

11DIC2009

Gestire le date con cakephp non è mai stata una cosa semplice, senza parlare poi della situazione in cui si utilizza un hosting oltreoceano... 

Un piccolo helper potrebbe venirci in aiuto:

 

<?php
// ./app/views/helpers/date.php 
    /** 
     * Formattazione date e ore con Cakephp
     * 
     * @author ToX - http://emanuele.itoscano.com - toss82 - at - gmail.com 
     * 
     * 
     * 
     * @installazione: 
     *        Nella funzione daymonthyear e monthdayyear ricordati di cambiare la lingua di setlocale con ciò che ti serve (default: it_IT)
     *          
     */ 

Class DateHelper extends AppHelper{

    function nicedate($date)
    {
        if(empty($date)) {
            return "No date provided";
        }
       
        $singular         = array("secondo", "minuto", "ora", "giorno", "settimana", "mese", "anno", "decade");
        $plural           = array("secondi", "minuti", "ore", "giorni", "settimane", "mesi", "anni", "decadi");
        $lengths          = array("60","60","24","7","4.35","12","10");
       
        $now             = time();
        $unix_date         = strtotime($date);
       
           // check validity of date
        if(empty($unix_date)) {   
            return "N/A";
        }

        // is it future date or past date
        if($now > $unix_date) {   
            $difference     = $now - $unix_date;
            $tense         = "fa";
           
        } else {
            $difference     = $unix_date - $now;
            $tense         = "fra";
        }
       
        for($j = 0; $difference >= $lengths[$j] && $j < count($lengths)-1; $j++) {
            $difference /= $lengths[$j];
        }
       
        $difference = round($difference);
       
        if($difference != 1) {
            $periods[$j] = $plural[$j];
        } else {
            $periods[$j] = $singular[$j];
        }
       
        if ($now > $unix_date) {
            return "$difference $periods[$j] {$tense}";
        } else {
            return "{$tense} $difference $periods[$j]";
        }
    }

    function daymonthyear($date)
    {
        if(empty($date)) {
            return "No date provided";
        }
       
        $unix_date         = strtotime($date);
        setlocale(LC_TIME, 'it_IT'); 
        $data = strftime("%d/%m/%Y - %H:%M", $unix_date); 
        return ($data);
    }

    function monthdayyear($date)
    {
        if(empty($date)) {
            return "No date provided";
        }

        $unix_date         = strtotime($date);
        setlocale(LC_TIME, 'it_IT'); 
        $data = strftime("%m/%d/%Y - %H:%M", $unix_date); 
        return ($data);
    }
}
?>

Diciamo al nostro controller (o app_controller) di utilizzare il nuovo helper, e poi siamo pronti ad utilizzarlo:

$date->nicedate($post['Post']['created']);

oppure

$date->daymonthyear($post['Post']['created']);