Categoria ‘Sviluppo’


Very short snippet: WordPress, separare le categorie in due colonne

Prendendo spunto da WordPress Hack #2 – Separare le categorie in colonne nella sidebar può tornare utile “spezzare” in due colonne la lista delle categorie di WordPress.

Continua...

Adobe AIR e le API di Feedburner: reloaded

Prendo spunto dall’ottimo tutorial di Napolux, Flex 3, Adobe AIR e le API di Feedburner, che mostra come scrivere una semplice applicazione (o widget) Adobe AIR usando Flex 3, per mostrare come realizzare la stessa identica cosa usando Adobe Flash CS3. Se lo desiderate, inoltre, potete sfruttare l’estensione per la creazione di applicazioni Adobe AIR. Non è infatti necessario, ai fini di questo tutorial, compilare l’applicazione come eseguibile AIR; potete usare il codice proposto come semplice filmato Flash da “apporre” alle vostre pagine Web.

Continua...

Very short trick: 3 output function in PHP

All’interno di una funzione PHP è possibile stampare in tre modi diversi:

1
2
3
4
5
6
7
8
9
10
<?php
function miaFunction( $valore = 'Ciao' ) {
?>
<ul>
  <!-- <li><?php echo $valore; ?> -->
  <li><?=$valore?></li>
</ul>
<?php
}
?>

Oppure:

1
2
3
4
function miaFunction( $valore = 'Ciao' ) {
    $o = '<ul><li>'.$valore.'</li></ul>';
    echo $o;
}

Oppure:

1
2
3
4
function miaFunction( $valore = 'Ciao' ) {
    $o = "<ul><li>$valore</li></ul>";
    echo $o;
}

Continua...

SWFObject su Google AJAX Libraries API

swfobjectGoogle AJAX Libraries API allarga il suo parco di librerie e framework anche a SWFObject, utilissima per inserire e manipolare filmati Flash sulle nostre pagine Web.

Continua...

Actionscript 3.0 for beginners: lesson #4

Riprendiamo il nostro codice di esempio del TicTacToe (che trovate per intero su Google Code) e iniziamo ad analizzarlo in dettaglio.

Importare le definizioni

Con Actionscript 3.0 è stato fatto un grande lavoro di pulizia e sistemazione nell’alberatura delle classi (contenute nei pacchetti, package) utilizzate durante lo sviluppo. In altri linguaggi di programmazione, come il C ad esempio, quando si desidera utilizzare una funzionalità bisogna esplicitamente “importarla” nel codice. Questa operazione di “importazione” è necessaria per permettere al compilatore di avere tutti i codici e le definizioni legate alla funzionalità che vogliamo usare. In Actionscript 3.0, tuttavia, l’istruzione import non va confusa con l’equivalente C/C++ #include; Actionscript 3.0 mette a disposizione l’istruzione include che è identica all’#include del C/C++. Quest’ultima, infatti, “include” effettivamente del codice che, se usato o meno, viene compilato nell’eseguibile finale. L’istruzione import è di più alto livello e risulta più “intelligente” in fase di compilazione. Essa serve principalemente per accedere alle classi senza doverne specificare il nome completo. In alre parole invece di usare forme del tipo:

1
var myMC:flash.display.MovieClip = new flash.display.MovieClip();

Continua...

Very short trick: versatilità delle classi CSS

I più esperti lo sapranno già, tuttavia mi viene spesso chiesto che differenza c’è tra class e id nei fogli di stile CSS. Una panoramica su alcune differenze e avvertenze è possibile trovarla in Classi e ID nei CSS, tuttavia una caratteristica utile, che distingue class da id, è la possibilità di usare classi multiple.

Continua...

Very short snippet: WordPress administrator?

Amministratore o sottoscrittore? Ecco un modo rapido per capirlo:

1
2
3
4
5
6
7
8
9
global $user_ID;
//
$capabilities = get_usermeta( $user_ID, 'wp_capabilities');
//
if ( is_array( $capabilities ) ) {
    if( $capabilities['Administrator']==1 || $capabilities['administrator']==1 ) {
        echo "Sei un amministratore";
    }
}

Continua...

WordPress: rimuovere i menu dell’amministrazione

Può risultare utile, a volte, “oscurare” alcuni menu dell’amministrazione di WordPress, soprattutto se si è sviluppato un sito/blog per un cliente e non si vuole permettere l’accesso a funzionalità particolarmente delicate. Esistono Plugin che svolgono questa già funzione ma, per avere un controllo personale e completo, vediamo come funziona in dettaglio questa caratteristica.
Come sempre sfruttiamo le utilissime Action messe a disposizione da WordPress, in questo caso admin_menu. Tramite la variabile globale $menu possiamo accedere alla lista dei menu dell’amministrazione. Possiamo individuare il menu da “eliminare” in due modi: tramite l’etichetta o tramite il link a cui punta (vedi parti commentati nell’esempio qui sotto). Nell’esempio proposto vengono “oscurate” le voci di menu Design, Impostazioni e Plugins:

1
2
3
4
5
6
7
8
9
10
11
12
13
function remove_menu_item() {
    global  $menu;
    // tramite label
    $removes = array( 'Design', 'Impostazioni', 'Plugins' );
    // tramite link
    // $removes = array( 'themes.php', 'options-general.php', 'plugins.php' );
    foreach( $removes as $todel )
        foreach($menu as $key => $sm) if($sm[0] == $todel ) { unset( $menu[$key] ); break; }
        // tramite link
        // foreach($menu as $key => $sm) if($sm[2] == $todel ) { unset( $menu[$key] ); break; }  
}
//
add_action('admin_menu',  'remove_menu_item');

L’uso del link come chiave per la rimozione ($sm[2] nelle parti commentate nel codice qui sorpra), è utile quando non si ha certezza della lingua – localizzazione – con cui è stato installato WordPress. Con questa tecnica, tuttavia, il menu è rimosso solo a livello di interfaccia, quindi sarà possibile ancora accedere alla pagina tramite una link diretto.

Continua...

Very short snippet: PHP plain date

Converte una data dal formato yyyy-mm-dd hh:mm:ss a yyyymmddhhmmss. Utile per poter sfruttare le funzioni di ordinamento; tipo asort().

1
2
3
4
5
6
/**
 * Format from "yyyy-mm-dd hh:mm:ss" to "yyyymmddhhmmss"
 */

function plainDate( $d ) {
    return( preg_replace( '/(-|:|\040)/', '', $d ) );
}

Continua...

jQuery: bordi rotondi sulle immagini per sovrapposizione

A causa dei diversi rendering tra i vari browser, che vedono sicuramente Microsoft Internet Explorer in testa, bisogna sempre ricorrere ad artifizi particolari per applicare effetti che, ormai, dovrebbero rappresentare uno standard. I pluri-discussi bordi arrotondati sono un classico esempio del “disastro” prodotto dalla completa incapacità di realizzare uno standard serio sul rendering delle pagine HTML/CSS. Esistono in rete numerosissime soluzioni che permettono di ottenere “effetti” (effetti che esonerano dall’HTML attuale come bordi arrotondati, effetti ombra, riflessioni, etc…) con patch sui fogli di stili, particolari trucchi con l’uso di div innestati, librerie Javascript, uso delle canvas, etc…
A titolo puramente didattico vorrei illustrare un’ulteriore tecnica (cross-browser) per applicare dei bordi arrotondati a delle immagini:

Demo e sorgenti

Continua...



Stop SOPA