PHP Widget per FriendFeed con SimpleXML e le API di FriendFeed

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 😉

http://www.emawebdesign.com/wp-content/plugins/downloads-manager/img/icons/winzip.gif download: WidgetFF (4.63KB)
added: 07/03/2010
clicks: 1654
description: Widget per FriendFeed realizzato con PHP e le API di FriendFeed

NO SPAM. Non fornirò la tua email a terzi e riceverai solo contenuti che ti interessano sugli argomenti che tratto e potrai cancellarti quando vuoi con un link che trovi in tutte le email.