Il Blog di Fabrizio Mondo

Archive for febbraio, 2009

Shoutcast.class.php – Creiamo una pagina demo

febbraio 24, 2009 1:48 am

Php logo

Sessantanovesimo articolo dedicato alle web radio.

Ci eravamo lasciati con una panoramica delle funzioni della classe shoutcast. Adesso andiamo a vedere con maggiore precisione come realizzare una pagina php che utilizzi tale classe.

Esaminiamo il file demo.php, a corredo con il pacchetto shoutcast che stiamo utilizzando e che abbiamo trovato al sito phpclasses.org

Il file comincia naturalmente in questo modo:

include(“shoutcast.class.php”);

Questi comandi aprono una pagina php e includono all’interno il file shoutcast.class.php.

Esaminiamo adesso la funzione convertseconds, e vediamo cosa fa:

function ConvertSeconds($seconds) {
$tmpseconds = substr(“00″.$seconds % 60, -2);
if ($seconds > 59) {
if ($seconds > 3599) {
$tmphours = substr(“0″.intval($seconds / 3600), -2);
$tmpminutes = substr(“0″.intval($seconds / 60 – (60 * $tmphours)), -2);

return ($tmphours.”:”.$tmpminutes.”:”.$tmpseconds);
} else {
return (“00:”.substr(“0″.intval($seconds / 60), -2).”:”.$tmpseconds);
}
} else {
return (“00:00:”.$tmpseconds);
}
}

La funzione ConvertSeconds accetta la variabile seconds come unico parametro.

Pone in un altra variabile, chiamata $tmpseconds, una stringa composta da due zeri iniziali e il modulo 60 dei secondi contati dalla variabile seconds, rimuovendo le ultime due cifre (che sono probabilmente i centesimi di secondo).

Se $seconds é maggiore di 59, e contemporaneamente anche maggiore di 3599, allora va settata una variabile $tmphours che conterrá una stringa con il numero di ore calcolate a partire dai secondi e una variabile $tmpminutes, che conterrá una stringa con il numero dei minuti.

Se $seconds é solo maggiore di 59, allora il procedimento per le ore non é piú necessario e quindi si effettua solo il calcolo dei minuti.

Se $seconds non é magiore di 59, si riporta il numero di secondi esattamente come sono.

Passiamo adesso alle dichiarazioni:

$shoutcast = new ShoutCast();
$shoutcast->host = “localhost”;
$shoutcast->port = 8000;
$shoutcast->passwd = “YOURPASSWORDGOESHERE”;

La variabile $shoutcast contiene un nuovo oggetto di tipo shoutcast (poca fantasia, ma meglio non confondere le idee).
Settiamo l’host, la porta e la password del server, che chiaramente, sono dati che voi DOVETE avere a disposizione.

Esaminiamo adesso l’ultima funzione della pagina, la piú importante.

La prima operazione é quella di aprire le statistiche dell’oggetto creato, se l’apertura ha successo, recuperiamo l’xml, e quindi, andiamo a fare operazioni di echo (scrittura) dove decidiamo quando e come visualizzare le informazioni a nostra disposizione. Tutti gli echo, ma chiaramente anche gli altri comandi, sono modificabili a vostro piacimento, in base a come vorrete posizionare le informazioni nella pagina. Le variabili history e listeners sono da considerarsi come possibili array, e quindi é necessario un controllo con la funzione is_array

if ($shoutcast->openstats()) {
// We got the XML, gogogo!..
if ($shoutcast->GetStreamStatus()) {
echo ““.$shoutcast->GetServerTitle().” (“.$shoutcast->GetCurrentListenersCount().” of “.$shoutcast->GetMaxListenersCount().” listeners, peak: “.$shoutcast->GetPeakListenersCount().”)\n\n”;

echo “<table border=”0″ cellspacing=”0″ cellpadding=”0″>\n”;
echo ”
<tbody>
<tr>
<td width=”180″><strong>Server Genre: </strong></td>
<td>”.$shoutcast->GetServerGenre().”</td>
</tr>
\n”;
echo ”
<tr>
<td><strong>Server URL: </strong></td>
<td><a href=”\”>GetServerURL().”\”>”.$shoutcast->GetServerURL().”</a></td>
</tr>
\n”;
echo ”
<tr>
<td><strong>Server Title: </strong></td>
<td>”.$shoutcast->GetServerTitle().”</td>
</tr>
<tr>
<td colspan=”2″></td>
</tr>
\n”;

echo ”
<tr>
<td><strong>Current Song: </strong></td>
<td>”.$shoutcast->GetCurrentSongTitle().”</td>
</tr>
\n”;
echo ”
<tr>
<td><strong>BitRate: </strong></td>
<td>”.$shoutcast->GetBitRate().”</td>
</tr>
<tr>
<td colspan=”2″></td>
</tr>
\n”;

echo ”
<tr>
<td><strong>Average listen time: </strong></td>
<td>”.ConvertSeconds($shoutcast->GetAverageListenTime()).”</td>
</tr>
<tr>
<td colspan=”2″></td>
</tr>
\n”;

echo ”
<tr>
<td><strong>IRC: </strong></td>
<td>”.$shoutcast->GetIRC().”</td>
</tr>
\n”;
echo ”
<tr>
<td><strong>AIM: </strong></td>
<td>”.$shoutcast->GetAIM().”</td>
</tr>
\n”;
echo ”
<tr>
<td><strong>ICQ: </strong></td>
<td>”.$shoutcast->GetICQ().”</td>
</tr>
<tr>
<td colspan=”2″></td>
</tr>
\n”;

echo ”
<tr>
<td><strong>WebHits Count: </strong></td>
<td>”.$shoutcast->GetWebHitsCount().”</td>
</tr>
\n”;
echo ”
<tr>
<td><strong>StreamHits Count: </strong></td>
<td>”.$shoutcast->GetStreamHitsCount().”</td>
</tr>
\n”;
echo “</tbody></table>
“;

echo “<strong>Song history;</strong>
\n”;
$history = $shoutcast->GetSongHistory();
if (is_array($history)) {
for ($i=0;$i echo “[".$history[$i]["playedat"].”] – “.$history[$i]["title"].”
\n”;
}
} else {
echo “No song history available..”;
}
echo “”;

echo “<strong>Listeners;</strong>
\n”;
$listeners = $shoutcast->GetListeners();
if (is_array($listeners)) {
for ($i=0;$i echo “[".$listeners[$i]["uid"].”] – “.$listeners[$i]["hostname"].” using “.$listeners[$i]["useragent"].”, connected for “.ConvertSeconds($listeners[$i]["connecttime"]).”
\n”;
}
} else {
echo “Noone listens right now..”;
}
} else {
echo “Server is up, but no stream available..”;
}
} else {
// Ohhh, damnit..
echo $shoutcast->geterror();
}
?>

Per qualsiasi dubbio, commentate.

Viaggio nel cuore lusitano – Gennaio 2009 – il terzo mese

febbraio 23, 2009 9:26 pm

Eravamo rimasti ad un 2008 morente.

Il 2009 cominciò in Praca do commercio, una delle piazze più importanti di Lisbona. Cominciò molto bene, perchè mi divertii tantissimo e scoccò un colpo “quasi” di fulmine, tra me e Lorena. Passammo il capodanno insieme, e scoprimmo che insieme stavamo bene.

La prima settimana mi passò quindi a fare da cicerone ad una ragazza colombiana, girando la capitale lusitana, spiegando quel che potevo in portoghese… è soprattutto grazie a lei che ho migliorato a parlare.

Avevamo un ottima intesa, ma le cose mutarono in pochissimo tempo.

Mi resi presto conto, che non era il caso di fare continuare una relazione che sarebbe comunque stata destinata a finire. Non volevo affezionarmi per non complicarmi la vita e non complicarla neanche a lei.

Fu cosi che dieci giorni dopo, ognuno prese la sua strada.

Nel mentre arrivarono altri amici dall’Italia a trovarci, come Raffaella e Marzio, che passarono con noi un pò di tempo.

Mancava ormai poco meno di un mese al rientro, e io continuavo a fare capoeira e a volerci andare sempre.

Mi divertivo tantissimo, è stato grazie alle lezioni di capoeira se mi sono sentito meglio con me stesso, con gli altri e ho cominciato a divertirmi.

Le ultime settimane sono state dedicate alla chiusura dei rapporti lavorativi e sociali.

A lavoro mi sono divertito davvero, ringrazio la inov per avermi dato la possibilità di lavorare per loro e per essere stati i colleghi più simpatici che mi siano potuti capitare.

Mi manca ancora la metropolitana, tutte le cose che ho dimenticato di dire, l’euroyouth che mi ha aiutato a migliorare la lingua e mi ha dato sempre una mano.. i gruppi che ho conosciuto e tutto il resto.

Sicuramente queste tre pagine che ho scritto sono state ESTREMAMENTE RIDUTTIVE su un viaggio che mi ha cambiato la vita e che mi ha migliorato in tantissimi campi, ma non posso (e forse non voglio) raccontarvi tutti gli aneddoti che mi sono successi, che sono veramente tanti.

Giorno 7 Febbraio abbandonai il portogallo, arrivai a Roma, passai un weekend con i miei amici che vivono li, e presi il treno per tornare a Palermo.

Riabbracciai subito i miei amici, la mia famiglia, e ricominciai la mia vita quotidiana…

Viaggio nel cuore lusitano – Dicembre 2008 – il secondo mese

3:10 pm

Vi avevo lasciato con un mese di novembre appena concluso.

Cominciò così l’ultimo mese del 2008, il mio secondo in Portogallo.

Cominciò con una visita ad Alcochete, dove si trova un complesso di negozi outlet, di una grandezza spropositata.

A me non piace moltissimo fare shopping per ore.. così accompagnai Rosalba e Michela in delirio di compra, annoiandomi come non mai… Vidi delle cose che potevano piacermi ma la noia fu davvero esasperante.

In questo mese cominciai ad allenarmi per tenermi in forma. Ogni giorno andavo dopo il lavoro a correre per la salita di Marques de Pombal, in modo da tenermi in forma.

La prima settimana di Dicembre ha visto arrivare in portogallo a trovarmi un amico, Francesco, con cui ho passato qualche giorno, cercando di creare quante più situazioni di divertimento possibili.

Non scorderò una frase che mi disse: “tu qui non hai una compagnia birriona..”

Chi non mi conosce e mi frequenta quotidianamente non sa cosa significhi, ma io si, e so che aveva perfettamente ragione.

Effettivamente in portogallo quello che mi mancava era una compagnia che amasse divertirsi come lo facevo io. Per cui pensai che dovevo muovermi da solo per conoscere altre persone, o la mia BREVE esperienza portoghese sarebbe quasi stata fallimentare.

Avvenne il secondo informal meeting, in cui mi riallaccai ad altri gruppi che partecipavano al progetto leonardo, ma non era affatto sufficiente, mancavano ancora 60 giorni al mio ritorno.

Passò la prima metà di dicembre, e cominciarono gli Adeus…

Il gruppo delle ragazze catalane ci lasciò, tornò a casa, con mio profondo rammarico. Pensai sin da subito che sarebbero stati più difficili i weekend senza di loro.

Cominciò cosi, dopo le mille serate al tacao grande, l’ultima settimana di dicembre.

Decisi, giorno 23, di provare a fare un corso di Capoeira, per conoscere gente nuova e mettermi in movimento. La lezione di Forrò che avevo seguito non mi era piaciuta tanto, quindi decisi di cambiare.

Non me ne sono affatto pentito.

La prima lezione di capoeira, fu difficile. Non conoscevo nessuno, non ero allenato, non ne sapevo nulla di nulla. Finii stanchissimo e un pò annoiato. Tuttavia, decisi di continuare e la situazione andò rapidamente migliorando.

Passai il natale a casa di Alvaro, un amico di michela, a stramangiare e conoscere come al solito gente nuova, anche se mi sentivo isolato, perchè la gente era un pò chiusa, e nessuno parlava con me a lungo.. era tutto un pò difficile, forse perchè dopotutto io non sapevo ancora parlare benissimo il portoghese.

Qualche giorno dopo Natale, mi arrivò una mail da parte dell’organizzazione euroyouth, che mi chiedeva, e chiedeva anche agli altri, di fare da ciceroni e di aiutare una ragazza colombiana che era arrivata qui da sola.. il suo nome era Lorena.

Contattai l’istituzione per primo, mi organizzai e la incontrai. Spiegai quattro cose cercando di sfoggiare il mio portoghese migliore. Da allora fu un crescendo.

Arrivò il Trentuno Dicembre.

Organizzammo una cena alquanto abbozzata a casa mia, dove ci divertimmo a vedere foto e ad ascoltare musica, alchè uscimmo, direzione praca do Comercio… dove avremmo visto gli ultimi attimi del 2008 scomparire. Eravamo in tanti, con tanti fuochi di artificio. Finì cosi il 2008, un anno incredibile, concluso in una capitale europea, anno in cui mi sono successe davvero mille cose da raccontare.

Tuttavia, il 2009, cominciò davvero come non me lo aspettavo, già nei suoi primi cinque minuti…