Archive for the Tips and tricks Category

Di seguito vi propongo una classe per ricavare il giorno della Pasqua passando un determinato anno, mi è tornata utile per la realizzazione di un Planner.
Per ricavare il mese ed il giorno della Pasqua dell’anno 2012 basta chiamare il metodo Pasqua::get passando come argomento “2012″:

Pasqua::get(2012); // ritorna Array([day]=>18 [month]=>4)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
/**
 * Pasqua
 *    
 * Questa classe determia il giorno della Pascqua 
 * di un determinato anno, si basa sul calcolo detto
 * Metodo aritmetico di Gauss spiegato in questa pagina:
 * http://it.wikipedia.org/wiki/Calcolo_della_Pasqua
 * 
 * @author Guido Chiappucci
 */
class Pasqua {
 
    private static $aM = array(22, 22, 23, 23, 24, 24);
    private static $aN = array(2, 2, 3, 4, 5, 5);
 
    /**
     * Pasqua::get()
     * 
     * Il metodo get restituise un array 
     * contenente il mese ed il giorno 
     * della Pasqua riferita all'anno 
     * passato al metodo attraverso $year
     *  
     * @param integer $year
     * @return array
     */
    public static function get($year) {
 
        $a = $year % 19;
        $b = $year % 4;
        $c = $year % 7;
 
        $aIndex= floor($year/100)-15;
 
        $d = (19 * $a + self::$aM[$aIndex]) % 30;
        $e = (2 * $b + 4 * $c + 6 * $d + self::$aN[$aIndex]) % 7;
 
        $day = 22 + $d + $e;
        $month = 3;
 
        if ($day > 31) {
            $month = 4;
            $day -= 31;
        }
 
        /**
         * Eccezioni:
         * - Se la data risultante dalla formula è il 26 aprile, 
         *   allora la Pasqua cadrà il giorno 19 aprile;
         * - Se la data risultante dalla formula è il 25 aprile 
         *   e contemporaneamente d = 28, e = 6 e a > 10, 
         *   allora la Pasqua cadrà il 18 aprile. 
         */
        if ($month == 4 && $day == 26) {
            $day = 19;
        } elseif ($month == 4 && $day == 26 && $d == 28 && $e == 6 && $a > 10) {
            $day = 18;
        } 
 
        return array('day'=>$day,'month'=>$month);
 
    }
 
}
 
?>

Utilizzando la libreria Highcharts ho avuto la necessità di non dover stampare i valori 0 (zero) all’interno dei dataLabels, quindi documentandomi un po’ sono arrivato alla soluzione agendo sul parametro formatter:

1
2
3
4
5
6
7
8
9
dataLabels: {
    formatter: function() {
        if (this.y == 0) {
            return "";
        } else {
            return this.y;
        }
    }
}

Highcharts

MySql: select order by id in()

| luglio 30th, 2011

MySQLQuando si recuperano dei record con una query del tipo SELECT * FROM `tbl` WHERE `ID` IN(34,785,345,43) può essere necessario ordinare il risultato della query seguendo l’ordine in cui vengono passati i valori all’istruzione IN(), per fare questo basta usare la seguente istruzione order: ORDER BY FIELD(`ID`, 34, 785, 345, 43), quindi, SELECT * FROM `tbl` WHERE `ID` IN(34,785,345,43) ORDER BY FIELD(`ID`, 34, 785, 345, 43)

Ultimamente mi è stato chiesto di far funzionare lo scorrimento delle immagini su Shadowbox anche quando viene cliccata l’immagine corrente. Ho cercato in vari forum e tutti suggerivano di modificare in vari modi i sorgenti di Shadowbox ma questo metodo non mi convinceva molto, se domani aggiornano il js? Meglio procedere diversamente.

Consultando la documentazione ufficiale di Shadowbox ho scoperto che esiste l’opzione onOpen, quindi aggiungendo una riga di jQuery ho ottenuto quello che volevo senza modificare in nessun modo il sorgente.

Il codice funzionante è il seguente:

1
2
3
4
5
6
7
Shadowbox.init({
    modal: true,
    continuous: true,
    onOpen: function(galleryElement) {
        $("#sb-body-inner").attr("onclick","Shadowbox.next()");
    }
});

Se vogliamo utilizzare PhpMyAdmin sul nostro Ubuntu bastano pochi semplici passaggi.

Prima di tutto dobbiamo installare il pacchetto, quindi eseguiamo il comando sudo apt-get install phpmyadmin e rispondiamo alle semplici domande che ci vengono rivolte durante l’installazione.

Al termine dell’installazione dobbiamo dire al nostro Apache dove si trova il file di configurazione di PhpMyAdmin che ci permetterà di eseguirlo dal browser, quindi apriamo il file apache2.conf con il nostro editor preferito, ad esempio con sudo nano /etc/apache2/apache2.conf, ed aggiungiamo alla fine del file la seguente riga: Include /etc/phpmyadmin/apache.conf . Ora non ci resta che salvare il file e riavviare il server web con sudo /etc/init.d/apache2 restart.

A questo punto possiamo accedere al programma dall’indirizzo: http://localhost/phpmyadmin

Sitecom_WL-315Se utilizzate Ubuntu 10.10  e avete un ricevitore usb wireless Sitecom wl-315 vi sarete accorti che la periferica viene vista dal sistema ma non riesce a collegarsi alla rete.

Per risolvere questo problema basta aggiungere al file /etc/modprobe.d/blacklist.conf la seguente riga :

blacklist rt2800usb

Occorre riavviare il sistema e la periferica funzionerà correttamente.

È arrivato il pc nuovo e come da prassi è giunta l’ora di trasferire tutto il contenuto del vecchio computer su questo nuovo “bolide”.
Tutto semplice ma di fronte a PSPad mi sono reso conto che non esiste una funzione di esportazione delle connessioni FTP…

Ecco come operare:

Nella casella Esegui di Windows lanciare il comando %appdata%\pspad.

Recuperare il file PSPadFTP.INI (contiene le impostazioni FTP).

Sulla nuova macchina ripetere l’istruzione %appdata%\pspad e copiare all’interno della crtella il file PSPadFTP.INI recuperato in precedenza.

Avviare PSPad!

Io ho fatto questa operazione da Windows XP verso Windows 7 senza riscontrare alcun problema.