set_

Mattepuffo's logo
Date in italiano con PHP

Date in italiano con PHP

PHP ha un ottimo supporto per la date, sia per la programmazione a oggetti che non.

Questa la pgina base; come vedete è possibile formattare e rappresentare le date in praticamente qualsiasi modo.

Il problema, però, sorge quando vogliamo mostrare il nome del giorno o del mese in italiano, perchè di default questi sono in inglese.

Ovviamente possiamo risolvere anche questo; prima di tutto impostiamo l'italiano:

setlocale(LC_TIME, 'ita', 'it_IT.utf8');

Qui i dettagli per la funzione setlocale.

Nel mio caso ho impostato solo il parametro LC_TIME, il resto non mi serve; ma potete sostuirlo con LC_ALL per tutto il resto.

Mattepuffo's logo
Scorciatoia da tastiera su Frame in wxPython

Scorciatoia da tastiera su Frame in wxPython

Oggi vediamo come impostare un evento da tastiera su Frame in wxPython.

Quello che vogliamo ottenere è la chiusura del programma premendo i classici Ctrl+Q.

Per fare questo dobbiamo usare l'oggetto AcceleratorTable, che ci permette appunto di specificare una scorciatoia da tastiera per un menu o per un comando.

Mattepuffo's logo
Gestire i cookie con CodeIgniter

Gestire i cookie con CodeIgniter

Oggi vediamo come gestire i cookie attraverso il framework CodeIngiter.

In generale abbiamo tre funzioni:

  • get_cookie
  • set_cookie
  • delete_cookie

Nel mio caso sto usando i cookie per salvare la lingua scelta (Italiano o Inglese).

Per la gestione del cookie ho creato un model apposito da richiamare dove mi serve.

Fate attenzione che la funzione set_cookie è leggermente diversa dalla funzione setcookie nativa di PHP.

Ad esempio i parametri path e dominio sono invertiti, e in CI mancano alcuni parametri.

Vediamo questa classe che fa da model:

<?php

class Lang_model extends CI_Model {

    public function getLang() {
        if (get_cookie('LANG') == 'eng') {
            $lang = array(
                'allUtente' => 'User'
            );
        } else {
            $lang = array(
                'allUtente' => 'Utente'
            );
        }
        return $lang;
    }

    public function setDefaultLang() { // SETTA IL COOKIE LA PRIMA VOLTA CHE SI ACCEDE SE NON ESISTE
        if (!get_cookie('LANG')) {
            set_cookie("LANG", 'ita', time() + 2592000, 'www.sito.it', '/');
        }
    }

    public function setLang($lng) {
        set_cookie("LANG", $lng, time() + 2592000, 'www.sito.it', '/');
    }

}

Ho tre funzioni.

Nella prima reperisco il valore del cookie, e in base a quello imposto le parole/frasi/quello che vi serve, in una o nell'altra lingua.

Mattepuffo's logo
Login con Codeigniter

Login con Codeigniter

Continua lo studio di questo ottimo framewrok, che probabilmente adotterò per un mio prossimo lavoro.

Oggi vediamo come creare un semplice sistema di login.

Prima di tutto assicuratevi di caricare automaticamente due librerie e due helper; andate in application -> config -> autoload.php:

$autoload['libraries'] = array('database', 'session');
$autoload['helper'] = array('url', 'form');

Poi in application -> config -> config.php potete impostare le sessioni:

$config['sess_cookie_name'] = 'my_session';
$config['sess_expiration'] = 7200;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = FALSE;
$config['sess_table_name'] = 'my_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;

Oltre al nome della sessione ho anche cambiato il parametro sess_expire_on_close in modo che alla chiusura del browser la sessione si chiuda.

Dopo questa configurazione base passiamo alla view:

<fieldset>
    <legend>Login</legend>
    <?php echo validation_errors(); ?>
    <?php echo form_open('login/dologin'); ?>
    <table>
        <tbody>
            <tr>
                <td>User:</td>
                <td><input type="text" name="username" value="" /></td>
            </tr>
            <tr>
                <td>Password:</td>
                <td><input type="password" name="password" value="" /></td>
            </tr>
            <tr>
                <td></td>
                <td><input type="submit" value="Login" name="submit" /></td>
            </tr>
    </table>
</form>
</fieldset>

Un semplice form che richiama la funzione dologin del nostro controller login.

A questo punto ci rimangono i due punti fonamentali: il controller e il model.

Mattepuffo's logo
Impostare gli mnemonici in JTabbedPane

Impostare gli mnemonici in JTabbedPane

Il JTabbedPane è qual componente SWING che ci permette di creare interfacce grafiche a tab.

Se usate il Look & Feel di default del sistema operativo potete usare la classica combinazione Ctrl + TAB per spostarvi tra i vari tab.

Ma se usate un altro Look & Feel, o se lo volete a prescindere per un fattore di comodità, potete impostare una vostra combinazione di tasti per richiamare i vari tab.

Io da esempio ho messo ALT + 1 al primo tab, e ALT + 2 al secondo.

Se ci basta ALT + qualcosa, ci basta impostare lo mnemonico.

Farlo è molto semplice.

Prima di tutto istanziamo un JTabbedPane e aggiungiamo due JPanel:

javax.swing.JTabbedPane jTabbedPane1 = new javax.swing.JTabbedPane();

jTabbedPane1.addTab("Panel 1", jpanel1);

jTabbedPane1.addTab("Panel 2", jpanel2);

Grosso modo una cosa del genere (dipende anche da che IDE usate e se lo usate).