PHP Widget per FriendFeed con SimpleXML e le API di FriendFeed

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Pubblicato il 8/3/2010 alle 06:00

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: 12
description: Widget per FriendFeed realizzato con PHP e le API di FriendFeed

Google Buzz
Pubblicato in CSS, HTML, News, PHP, Programmazione, Risorse, Scripts, Social Network, Web 2.0 | Nessun commento »

Convertire colori da RGB a esadecimale con PHP

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

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;

Google Buzz
Pubblicato in News, PHP, Programmazione, Scripts | Nessun commento »

Inviare E-mail da PHP

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

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!“;
}

Google Buzz
Pubblicato in News, PHP, Programmazione, Scripts | Nessun commento »

I migliori post della settimana #39

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Pubblicato il 27/9/2009 alle 14:10

Best Post

Di seguito i posts più interessanti di questa settimana:

1) Long Tail e SEO

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

Google Buzz
Pubblicato in Blog, Migliori post della settimana, PHP, SEO, Social Network | Nessun commento »

I migliori post della settimana #38

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Pubblicato il 20/9/2009 alle 14:32

Best Post

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

4) Come accedere alle API di FriendFeed: sintassi delle chiamate, formato dei dati e gestione dell’autenticazione

5) Flash Player 10: Vector vs Array

Google Buzz
Pubblicato in Business online, Flash, Migliori post della settimana, Motori di Ricerca, PHP, Programmazione, SEO, Scripts, Social Network, Web Marketing | Nessun commento »

I migliori post della settimana #37

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Pubblicato il 13/9/2009 alle 10:23

Best Post

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

Google Buzz
Pubblicato in Blog, Migliori post della settimana, PHP, Programmazione, Risorse, SEO, Scripts, Web Marketing, Wordpress | 2 Commenti »

DOM: getElementsByTagName alternativo con PHP

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Pubblicato il 7/7/2009 alle 12:21

Dom PHP

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.

Ecco lo script in azione

http://www.emawebdesign.com/wp-content/plugins/downloads-manager/img/icons/winzip.gif 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)

Google Buzz
Pubblicato in Ajax, HTML, JavaScript, News, PHP, Programmazione, Scripts | Nessun commento »

I migliori post della settimana #30

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Pubblicato il 28/6/2009 alle 09:54

Best Post

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

Google Buzz
Pubblicato in ActionScript, CSS, Domini & Hosting, Flash, Migliori post della settimana, PHP, Programmazione, Risorse, Scripts, Social Network, Web 2.0, Web Design, Wordpress | Nessun commento »

I migliori post della settimana #28

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Pubblicato il 14/6/2009 alle 16:15

Best Post

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

Google Buzz
Pubblicato in Blog, Grafica, Guadagnare online, JavaScript, Migliori post della settimana, MooTools, Motori di Ricerca, PHP, Programmazione, Prototype, Scripts, Wordpress, jQuery | Nessun commento »

I migliori post della settimana #20

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Pubblicato il 12/4/2009 alle 12:25

Best Post

Di seguito alcuni posts interessanti di questa settimana:

1) Le domande più frequenti sul mestiere del webdesigner

2) Tipi di dati in PHP

3) Analizzi la concorrenza?

4) Confermato: un tema personalizzato aumenta le visite

5) Interviste SEO: Michal Gawel (Seolab)

Google Buzz
Pubblicato in Migliori post della settimana, PHP, SEO, Web Design | Nessun commento »

Categorie







Ultimi commenti

  • EmaWebDesign: @Fabio solo tu potevi fare un paragone così azzeccato, LOL a raffica :D
  • Fabio Lalli: Ambigua dai…. sottile LOL uahuaauha Io facevo riferimento al numero! Che hai capito!? :P
  • EmaWebDesign: @Fabio è come dici tu, i VIPPE sono i più furbi, loro cercano di fare in modo che uno non se ne...
  • Fabio Lalli: Anche io ne ho beccato più di uno. E posso dire che tra i VIPPE qualcuno l’ha fatto con me, anche...
  • EmaWebDesign: Ciao Filippo. Se è stata la prima esperienza con Joomla+VirtueMart posso capirlo ma ti invito ad...
  • EmaWebDesign: @Bl@ster già, i finti brand o anche i veri brand che intavolano finte discussioni, sono un’altro...
  • EmaWebDesign: @MySocialWeb non avevo dubbi, ero sicuro che anche tu monitorassi i furbetti dei socialcosi ;) Ottimo...
  • MySocialWeb: Certo che mi danno fastidio… però io uso friedorfollow e scaccio ogni settimana gli account che...
  • EmaWebDesign: @Rudy un cazzaro? Allora è tutto nella norma, il web ne è pieno :D Comunque è un’esagerazione,...
  • Rudy Bandiera: Ah lo so che è una cosa a parte, ma davvero non riesco a capirlo. Cioè ripeto, non devo stare...