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 |
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;
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 #39
Pubblicato il 27/9/2009 alle 14:10

Di seguito i posts più interessanti di questa settimana:
2) Come fare ottimizzazione SEO per le Facebook Fan Page
3) 4 Consigli per far decollare il tuo blog
4) Perchè le aziende hanno paura dei Social Media?
5) Ricevete pochi commenti? Poco male
6) Errore PHP: Cannot modify header information – headers already sent
7) Diventare freelance: analisi della concorrenza
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
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
DOM: getElementsByTagName alternativo con PHP
Pubblicato il 7/7/2009 alle 12:21

Oggi aguzziamo l’ingegno (che per un programmatore è cosa buona e giusta) e vediamo come accedere a un elemento di una pagina web utilizzando PHP invece del DOM (getElementsByTagName).
Realizziamo un file HTML contenente un numero definito di DIV che non hanno un id univoco ma una stessa classe CSS:
<div class=”list”>Elemento 1</div>
<div class=”list”>Elemento 2</div>
<div class=”list”>Elemento 3</div>
<div class=”list”>Elemento N</div>
Per ogni DIV ci sarà un button che richiamerà una funzione javascript passando il numero del div, stampato dinamicamente grazie a PHP con un ciclo FOR:
<input type=”button” value=”Seleziona” onclick=”javascript:seleziona(<?php echo($i); ?>)” />
La funzione JS stampa con un alert (o il DOM se preferite
) l’elemento selezionato.
|
|
download: DOM Alternativo in PHP (720B) added: 07/07/2009 clicks: 115 description: Accedere a un elemento della pagina web utilizzando PHP invece del DOM (getElementsByTagName) |
I migliori post della settimana #30
Pubblicato il 28/6/2009 alle 09:54

Di seguito i posts più interessanti di questa settimana:
01) Nuove procedure per la registrazione di domini .it
02) 6 fantastici trucchi per Facebook!
03) Alcuni Buoni Consigli per Progettare un Buon Layout
04) Come creare un widget in WordPress 2.8?
05) Protocollo Https: cos’è e perchè usarlo
06) Futurebox: Lightbox Senza Javascript!
07) Tutorial Flash AS3: Caricare un filmato SWF Esterno
08) Super simple way to work with Twitter API (PHP + CSS)
09) Cosa Ho Imparato nel Disegnare il Mio Background per Twitter
10) Creare una pagina di lavori in corso (sito in manutenzione) in Wordpress
I migliori post della settimana #28
Pubblicato il 14/6/2009 alle 16:15

Di seguito i posts più interessanti di questa settimana:
1) Interagire con il Database di Wordpress in php
2) Framework a confronto: jQuery, MooTools, Prototype
3) Nicchia popolare vs. nicchia specifica: pro e contro
4) Il miglior file manager in PHP
5) Posizionamento sui motori di ricerca: 10 errori da evitare!
6) Oltre 50 Loghi di Successo che utilizzano gradienti
I migliori post della settimana #20
Pubblicato il 12/4/2009 alle 12:25

Di seguito alcuni posts interessanti di questa settimana:
1) Le domande più frequenti sul mestiere del webdesigner
4) Confermato: un tema personalizzato aumenta le visite
5) Interviste SEO: Michal Gawel (Seolab)






















