PHP Widget per FriendFeed con SimpleXML e le API di FriendFeed
Pubblicato il 8/3/2010 alle 06:00

Oggi vediamo come realizzare un widget per FriendFeed utilizzando PHP e le API di FriendFeed. Si, lo so, esistono già i widget per i social network ma, siamo developers, le cose ci piace realizzarcele con le nostre manine
Cosa farà questo widget?
Visualizzerà il nostro stream di FriendFeed e sarà facilmente personalizzabile impostando opportunamente le seguenti variabili:
- width (larghezza del widget)
- borderColor (colore del bordo)
- backgroundColor (colore di sfondo)
- titleColor (colore del titolo)
- txtColor (colore del testo)
- font (tipo di font utilizzato)
Queste variabili saranno i parametri della funzione widgetCSS(), funzione, che includeremo tra i tag head della nostra pagina e che stamperà il codice CSS (sulla quale non mi soffermo molto):
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<title>PHP Widget per FriendFeed con SimpleXML e le API di FriendFeed</title>
<?php widgetCSS(”400″,”#3399CC”,”#E1E1E1″,”#FFFFFF”,”#3366CC”,”Verdana”); ?>
</head>
La funzione stamperà il codice CSS tramite degli echo impostando dinamicamente i valori come nell’esempio seguente:
echo ‘border-color:’ .$borderColor .’;';
Nella nostra pagina, dove faremo visualizzare il widget, includeremo la funzione widget (che fantasia eh?) che includerà il tutto tramite div e liste. I parametri della funzione sono il titolo del widget, lo username dell’utente FriendFeed e il numero di elementi da visualizzare:
function widget($title,$username,$number) {
echo ‘<div id=”widgetFF”>’;
echo ‘<div id=”widget_top”>’ .$title .’</div>’;
echo ‘<ul>’;
$xml = simplexml_load_file(’http://friendfeed-api.com/v2/feed/’ .$username .’?format=xml’);
for ($i=0;$i<$number;$i++) {
echo “<li><img src=’icon.png’ alt=’widget icon’ />” .$xml->entry[$i]->body .”</li>”;
}
echo ‘</ul>’;
echo ‘</div>’;
}
Analizziamo la funzione:
La libreria SimpleXML di PHP5 legge l’API di FriendFeed richiesta in formato XML:
http://friendfeed-api.com/v2/feed/emawebdesign?format=xml
Ovviamente l’username è inserito dinamicamente. Con un ciclo FOR stampiamo a video il contenuto dell’elemento body dell’array XML:
$xml->entry[$i]->body
Niente di più semplice, l’inclusione della funzione è la seguente:
<?php widget(”My FriendFeed”,”emawebdesign”,10); ?>
Potete vedere il widget in azione qui e scaricare i files per darci un’occhiata più da vicino
|
|
download: WidgetFF (4.63KB) added: 07/03/2010 clicks: 12 description: Widget per FriendFeed realizzato con PHP e le API di FriendFeed |
EWD Flash Embed una comoda classe JS per embeddare filmati Flash
Pubblicato il 3/12/2009 alle 16:27
Oggi ho deciso di condividere una risorsa che potrebbe risultare molto utile soprattutto per chi lavora con Flash e i file SWF. Si tratta di una classe JavaScript, che ho realizzato con il paradigma OOP (programmazione orientata agli oggetti), di soli 4KB con cui potrai embeddare filmati Flash nelle tue pagine web in modo davvero semplice e veloce.
Il nome di questa classe è EWD Flash Embed ed è una valida alternativa ad altre risorse già note come SWFObject.
La classe JS è semplicissima da utilizzare (basta leggere la documentazione per tutti i dettagli) è cross-browser, W3C compliant e soprattutto è gratuita: la licenza con cui la rilascio è la Creative Commons Attribuzione-Non commerciale-Non opere derivate 2.5 Italia.
Ecco un esempio di utilizzo:
var fl = new flash();
fl.width(200);//Larghezza filmato
fl.height(200);//Altezza filmato
fl.src(”filmato_flash.swf”);//Nome del file
fl.align(”middle”);//Allineamento
fl.play(true);
fl.scale(”showall”);
fl.noplugin(”Per visualizzare correttamente questa pagina hai bisogno del Flash Player!”,true);
fl.embed(”mio_div”);//ID dell’elemento dove embeddare il filmato
Per scaricare la classe e per tutte le info e i dettagli potete visualizzare la pagina ufficiale: EWD Flash Embed
Convertire colori da RGB a esadecimale con PHP
Pubblicato il 27/11/2009 alle 16:29
Per convertire un colore da RGB a esadecimale in PHP potete utilizzare questa comoda funzione:
function rgb2hex($r, $g=-1, $b=-1)
{
if (is_array($r) && sizeof($r) == 3)
list($r, $g, $b) = $r;
$r = intval($r); $g = intval($g);
$b = intval($b);
$r = dechex($r<0?0:($r>255?255:$r));
$g = dechex($g<0?0:($g>255?255:$g));
$b = dechex($b<0?0:($b>255?255:$b));
$color = (strlen($r) < 2?’0′:”).$r;
$color .= (strlen($g) < 2?’0′:”).$g;
$color .= (strlen($b) < 2?’0′:”).$b;
return ‘#’.$color;
}
$color = rgb2hex(255,187,153);
echo “Hex color: ” .$color;
Ecco un semplice menu accordion con MooTools
Pubblicato il 30/10/2009 alle 13:37

Oggi vi metto a disposizione un semplice menu accordion che ho realizzato utilizzando MooTools.
Oserei definire il menu estremamente “basilare”, sarà un gioco da ragazzi renderlo graficamente accattivante o anche cambiarne struttura semplicemente modificando il file CSS.
Per utilizzare il menu includete nella vostra pagina web i seguenti files:
<script type=”text/javascript” src=”mootools.js”></script>
<script type=”text/javascript” src=”accordion.js”></script>
<link rel=”stylesheet” href=”style.css” type=”text/css” />
Inserite i DIV:
<div id=”container_accordion”> il contenitore
<div id=”accordion”> il menu
e quindi le varie voci con i rispettivi contenuti (non dimenticate gli identificatori toggler ed element):
<h3 class=”toggler“>Voce 1</h3>
<div class=”element“>
<a href=”#”>Link 01</a><br />
<a href=”#”>Link 02</a><br />
<a href=”#”>Link 03</a>
</div>
Potete vedere il menu in azione qui.
Di seguito potete scaricare il pacchetto ZIP contenente tutti i files
|
|
download: Menu Accordion (28.43KB) added: 30/10/2009 clicks: 116 description: un semplice menu accordion realizzato con MooTools |
Ecco 8 errori comuni nella programmazione Ajax da tenere sempre presenti
Pubblicato il 19/10/2009 alle 16:11

Nello sviluppo di applicazioni Ajax spesso si commettono errori molto comuni che, invece, si possono evitare tenendoli a mente in fase di progettazione. Ecco una lista di otto errori comuni da tenere sempre a mente:
01) Pagina aggiunta ai bookmarks/segnalibri, che fare?
In una pagina Ajax possono esserci molte quantità di contenuti dinamici restituiti in base alla richiesta dell’utente. Cosa succede se si vuole salvare in un segnalibro un particolare contenuto piuttosto che un altro? Il salvataggio della URL non servirebbe a nulla. Questo è un grosso problema, può essere parzialmente risolto in fase di progettazione prevedendo link permanenti ai vari stati della pagina.
02) Non informare l’utente sullo stato delle richieste
In una pagina Ajax, per ogni interazione o richiesta dell’utente, bisogna informare lo stesso su quello che sta accadendo dopo la sua richiesta visto che la pagina non cambia e rimane sempre la stessa. Per evitare che l’utente pensi che non stia accadendo nulla bisogna presentargli output temporanei come un messaggio testuale o una gif animata che simula un loader.
03) Non prevedere contenuto alternativo ad Ajax/Javascript
In una pagina che utilizza javascript o Ajax bisogna verificare che tali tecnologie siano supportate dal browser usato dall’utente. Se non supportate, gli utenti, devono essere reindirizzati su un’alternativa non Javascript/Ajax o almeno informarlo che deve attivare javascript o utilizzare un browser che supporta tali tecnologie.
04) Dimenticarsi degli Spider
Prima di realizzare un’applicazione Ajax bisogna ricordare che gli spider dei motori di ricerca potrebbero non avere accesso ai contenuti dinamici e, quindi, ovviare prevedendo una sitemap o una pagina statica che contenga i contenuti altrimenti non indicizzabili.
05) Dimenticarsi della cache
Fare diverse richieste GET alla stessa URL spesso può portare a una risposta proveniente dalla cache del browser invece che dal server. Questo problema può essere risolto aggiungendo un numero casuale alla URL a cui si invia la richiesta.
06) Trascurare una cosa importantissima come la sicurezza
Le applicazioni Ajax contengono una grossa quantità di codice lato client. Questa parte di codice può essere visualizzata senza difficoltà da chiunque è quindi importante che non contenga informazioni con dati sensibili o importanti. Le questioni delicate vanno gestite lato server.
07) Non effettuare test
Come per i CSS anche per Javascript, i diversi browser, possono avere interpretazioni diverse. Soprattutto il DOM viene gestito in modo diverso non solo tra i diversi browser ma anche tra le diverse versioni di uno stesso browser. E’ importante testare le proprie applicazioni su più piattaforme e più browser possibili.
08) Non dotare la propria applicazione Ajax di un’interfaccia user-friendly
Forse quest’aspetto è da ricordare più al designer che al programmatore ma, in alcuni casi (come il mio), le due figure coincidono. Ogni applicazione Ajax deve avere un’interfaccia semplice e intuitiva. Gli utenti devono immediatamente comprendere quali sono gli elementi della pagina su cui fare click o con i quali interagire per effettuare una richiesta.
Tu ricordi altri errori comuni che si possono commettere nella programmazione Ajax? Segnalali con un commento
Inviare E-mail da PHP
Pubblicato il 16/10/2009 alle 09:11
Per inviare e-mail, da uno script PHP, la funzione “base” da utilizzare è mail:
<?php
$to = ‘destinatario@example.com‘;
$subject = ‘oggetto della mail‘;
$message = ‘ciao come va?’;
$headers = ‘From: mittente@example.com’ . “\r\n” .
‘Reply-To: webmaster@example.com’ . “\r\n” .
‘X-Mailer: PHP/’ . phpversion();
mail($to, $subject, $message, $headers);
?>
La funzione accetta come parametri, il destinatario, l’oggetto, il messaggio e le intestazioni.
Una soluzione più sofisticata è la classe PHPmailer che, tra le tante funzioni, offre la possibilità di inviare il messaggio come HTML e di inviare le e-mail tramite i server SMTP, Sendmail, Qmail e Gmail.
Ecco un esempio di utilizzo con SMTP:
require_once(’../class.phpmailer.php’);
$mail = new PHPMailer();
$body = file_get_contents(’contents.html’);
$body = eregi_replace(”[\]“,”,$body);
$mail->IsSMTP();
$mail->Host = “mail.tuodominio.com“;
$mail->SMTPDebug = 2;
$mail->SMTPAuth = true;
$mail->Host = “mail.tuodominio.com“;
$mail->Username = “mittente@tuodominio.com“;
$mail->Password = “tuapassword“;
$mail->SetFrom(’mittente@tuodominio.com‘, ‘Tuo nome‘);
$mail->AddReplyTo(’mittente@tuodominio.com‘, ‘Tuo nome‘);
$mail->Subject = “Oggetto della e-mail“;
$mail->AltBody = “Per visualizzare questo messaggio usa un client HTML compatibile!“;
$mail->MsgHTML($body);
$address = “destinatario@example.com“;
$mail->AddAddress($address, “Nome destinatario“);
if(!$mail->Send()) {
echo “Mailer Error: ” . $mail->ErrorInfo;
} else {
echo “Messaggio inviato!“;
}
I migliori post della settimana #38
Pubblicato il 20/9/2009 alle 14:32

Di seguito i posts più interessanti di questa settimana:
1) Business Plan e Web Marketing: quale nesso?
2) Come Valutano i Link i Motori di Ricerca?
3) PHP: ottimizzare le nostre applicazioni
5) Flash Player 10: Vector vs Array
Sostituire una stringa con un’altra in JavaScript
Pubblicato il 18/9/2009 alle 14:18
Con JavaScript possiamo sostituire una stringa con un’altra utilizzando la funzione replace nel seguente modo:
var str=”ciao a tutti”;
var result = str.replace(”ciao”,”arrivederci”);
alert(result);
Un metodo alternativo prevede l’utilizzo delle funzioni split e join:
var str=”ciao a tutti”;
var result = str.split(”ciao”).join(”arrivederci”);
alert(result);
I migliori post della settimana #37
Pubblicato il 13/9/2009 alle 10:23

Di seguito i migliori posts di questa settimana:
01) Wordpress: creare uno sliseshow con gli articoli in rilievo stile magazine
02) Installazione completa di FCKEditor in Drupal
03) Diventare freelance: il processo produttivo
04) Web Copywriting: Come Scrivere Titoli Più Efficaci E Coinvolgenti Nei Tuoi Post
05) Video Guide: La Persuasione sulle Landing Page by Filippo Toso
06) Consigli per Essere un SEO Migliore
07) Il web service di Flickr e PHP: esempi avanzati
08) Perché un sito non può costare 300 euro
Table sorter: ordinare una tabella html con jQuery
Pubblicato il 24/7/2009 alle 16:19

Vediamo col seguente mini-tutorial come implementare un sistema per permettere l’ordinamento dei valori in una tabella HTML utilizzando un plugin per jQuery: tablesorter
Scaricate il plugin dalla pagina ufficiale: http://tablesorter.com/docs/index.html
Includete nella vostra pagina il plugin e il pacchetto jQuery:
<script type=”text/javascript” src=”jquery.js”></script>
<script type=”text/javascript” src=”tablesorter.js”></script>
Tra i tag head della pagina inserite il codice js:
<script type=”text/javascript”>
$(document).ready(function()
{
$(”table“).tablesorter();
}
);
</script>
Ecco fatto
La tabella ovviamente deve avere un ID univoco, in questo esempio l’ID è table. Potete associare alla tabella la classe “tablesorter” per rendere più accattivante la grafica della stessa ma potete anche personalizzare la grafica CSS alla mano.
Potete scaricare i files dell’esempio.
|
|
download: Tablesorter (24.93KB) added: 24/07/2009 clicks: 167 description: Table sorter è un plugin per jQuery con cui si può implementare un sistema per ordinare i valori in una tabella HTML. |
























