Denny Biasiolli Website RSS Feeds

Preparati al peggio, ma ambisci al meglio.

Esperimenti, deliri e vaneggiamenti di un informatico pazzo, filosofo e sognatore.

Tag: webmaster
2011
22Set

Aggiunti post di Google Plus sul mio sito

Dopo gli ultimi ritocchi grafici ho deciso di implementare una nuova pagina sul mio sito, sfruttando le Google Plus API rilasciate in questi giorni. Su questa pagina potrete leggere gli ultimi miei post pubblici inseriti sul social network di Google, comprensivi di un link diretto al post, il numero di risposte, commenti e condivisioni del post stesso.

Per ricevere i dati ho usato la pratica funzione cUrl di php, in questo modo:
$ch = curl_init();
$urlGet = "https://www.googleapis.com/plus/v1/people/108768066312606594072/activities/public?alt=json&maxResults=20&pp=1&key=YOUR-API-KEY";
curl_setopt($ch, CURLOPT_URL, $urlGet);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
$json = json_decode($output);

Poi ho elaborato il json per visualizzare i dati nel formato che preferivo, utilizzando le seguenti formule di selezione per dividere i titoli dai contenuti.
foreach($json->items as $p)
{
$titolo="";
$contenuto="";
$urlContenuto="";
$urlImmagine="";
$urlImmagineFull="";
$replies=0;
$plusoners=0;
$resharers=0;
switch($p->verb)
{
case 'post':
$titolo = $p->title;
if(!$titolo && $p->object->attachments)
$titolo = $p->object->attachments[0]->displayName;
$contenuto = $p->content;
if((!$contenuto || $contenuto==$titolo) && isset($p->object->attachments)){
$contenuto = $p->object->attachments[0]->displayName;
if(!$contenuto || $titolo==$contenuto){
if($titolo==$contenuto)
$contenuto = $p->object->attachments[0]->content;
else
$contenuto .= ($contenuto ? '<br>' : '').$p->object->attachments[0]->content;
}
else
$contenuto .= ($contenuto ? '<br>' : '').$p->object->content;
}
else
$contenuto .= ($contenuto ? '<br>' : '').$p->object->content;
if((!$contenuto || $contenuto==$titolo) && isset($p->object))
$contenuto = $p->object->content;
$scriviPost=1;
break;
case 'share':
$titolo = $p->object->attachments[0]->displayName;
if(!$titolo)
$titolo = $p->title;
$contenuto = $p->annotation;
if(!$contenuto || strlen($p->object->content)>strlen($contenuto))
$contenuto = $p->object->content;
if(!$contenuto || strlen($p->object->attachments[0]->content)>strlen($contenuto))
$contenuto = $p->object->attachments[0]->content;
$scriviPost=1;
break;
default:
$scriviPost=0;
break;
}
$urlContenuto = $p->object->attachments[0]->url;
if(isset($p->object->attachments[0]->image)){
$urlImmagine = $p->object->attachments[0]->image->url;
$urlImmagineFull = $p->object->attachments[0]->fullImage->url;
}
$replies=$p->object->replies->totalItems;
$plusoners=$p->object->plusoners->totalItems;
$resharers=$p->object->resharers->totalItems;
$dataOra = strtotime($p->published);
if($scriviPost)
{
//write post to page
}
}

Per maggiori informazioni non esitate a contattarmi, sarņ felice di condividere con voi ciņ che ho imparato.

Ti è piaciuto l'articolo? Condividilo!
2010
20Ott

Suddivisione delle news in pagine

Di recente ho aggiunto la suddivisione delle news in pagine in modo da velocizzarne sensibilmente il caricamento, come potete vedere nell'immagine sottostante.
google webmaster tools


Vi voglio rendere partecipi di questa creazione, ecco il codice:

Per iniziare ho creato la funzione che calcola il totale delle pagine in base al numero di record e alle news per pagina.
function calcolaTotPagine($totaleRecord, $totaleNewsPerPagina)
{
$resto = $totaleRecord % $totaleNewsPerPagina;
return(intval($totaleRecord / $totaleNewsPerPagina) + ($resto>0 ? 1 : 0));
}

Dopo ho creato la funzione che mostra il numero delle pagine.
function mostraPagine($totRecord, $pagina, $newsPerPagina)
{
$totPagine = calcolaTotPagine($totRecord, $newsPerPagina);
$inizioCont=$pagina-2;//($inizioCont<1 ? $inizioCont=1 : null);
$fineCont=$pagina+2;//($fineCont>$totPagine ? $fineCont=$totPagine : null);
echo '<div class="elencoPagine">';
if($pagina!=1)
{
echo '<span class="elencoPagineNum floatSinistra"><a href="./?sezione=news&pag='.($pagina-1).'">&lt; '.traduci('Prec.').'</a></span>';
echo '<span class="elencoPagineNum"><a href="./?sezione=news&pag=1">&lt;&lt; '.traduci('Prima pagina').'</a></span>';
}
for($i=$inizioCont; $i<=$fineCont; $i++)
{
echo '<span class="elencoPagineNum">';
if($i>=1 && $i<=$totPagine)
{
if($i!=$pagina)
echo '<a href="./?sezione=news&pag='.$i.'">';
echo $i;
if($i!=$pagina)
echo '</a>';
}
echo '</span>';
}
if($pagina!=$totPagine)
{
echo '<span class="elencoPagineNum"><a href="./?sezione=news&pag='.$totPagine.'">'.traduci('Ultima pagina').' &gt;&gt;</a></span>';
echo '<span class="elencoPagineNum floatDestra"><a href="./?sezione=news&pag='.($pagina+1).'">'.traduci('Succ.').' &gt;</a></span>';
}
echo '</div>';
}

A questo punto basta richiamare la funzione mostraPagine() per visualizzare il numero di pagine.
mostraPagine($result->num_rows, $pagAttuale, $totNewsPerPagina);

Ovviamente sarà sufficiente creare un foglio di stile adatto per formattare la visualizzazione delle pagine ed il gioco è fatto!

Ti è piaciuto l'articolo? Condividilo!
2010
31Ago

Aggiunte news scorrevoli in homepage (jquery li scroller)

Nella homepage ho aggiunto l'elenco scorrevole delle ultime news del sito, utilizzando il plugin jquery.li-scroller.js e questo CSS.
Un esempio di utilizzo di questo plugin è il seguente:

Dopo aver aggiunto il file .js nell'header della pagina, creare la lista nel seguente modo
<ul id="ticker01">
<li><span>Ultime news :</span></li>
<li><a href="#">Titolo news 1 (data news 1)</a></li>
<li><a href="#">Titolo news 2 (data news 2)</a></li>
<li><a href="#">Titolo news 3 (data news 3)</a></li>
<li><a href="#">Titolo news 4 (data news 4)</a></li>
<!-- ecc -->
</ul>

a questo punto è possibile inserire il seguente codice per avviare lo scorrimento
$(function(){
$("ul#ticker01").liScroll();
/* oppure per impostare la velocità di scorrimento: */
// $("ul#ticker01").liScroll({travelocity: 0.15});
});

Grazie a www.gcmingati.net per le preziosissime info!

Ti è piaciuto l'articolo? Condividilo!