Nevíte jak na to? Grafický je z icq.com, to je jednoduché. Ale jak udělat textový? Po nějakém čase hledání jsem našel řešení s fsockopen(), které je tady nepoužitelné. Zkoušel jsem otevřít obrázek indikátoru a zjistit barvu, ale neúspěšně.
Máte nějaký nápad, řešení?
Dík.
mame, mame! http://nipal.wz.cz/clanky/srpen04/icq_indikator.html + komentare
hmmm,.. .tak mi to nefungovalo za mym firewallem.
Toto je zase tahani obrazku... hmm.. co kdyz hodlam zobrazit 50 statusu? to bude pekne dlouho trvat.... ne? zkusim to....
BTW, jinak sikovne reseni....
vychazi to tak 2s na jednoho, to je strasne moc... to radeji kyticku... :-( to je obrazek, tak se to dohrava postupne...
Jednou jsme s bratrem vytvořili kombinaci tohodle principu s javascriptem.
$poradi=array();
$cisla=array('156484312','1548648','123456789');
$poradi[$cisla[$i]]++;
echo '<div class="vz_icqna" id="icq'.$cisla[$i].'-'.$poradi[$cisla[$i]].'"></div>('.$pole[2].')<br>';
před konec dokumentu pak
foreach ($poradi as $cislo => $pocet) {
echo "<script type=\"text/javascript\" src=\"icq.php?cislo=$cislo&cetnost=$pocet\"></script>\n";
}
S tím, že v položky v poli $cisla jsou icq čísla.
a soubor icq.php:
if(geticq($_GET['cislo'])=='on'){
for($i=1;$i<=$_GET['cetnost'];$i++)
echo "document.getElementById('icq".$_GET['cislo']."-".$i."').className='vz_icqon';";
}
else {
for($i=1;$i<=$_GET['cetnost'];$i++)
echo "document.getElementById('icq".$_GET['cislo']."-".$i."').className='vz_icqoff';";
}
function geticq($icq)
{
$f=fopen('http://web.icq.com/whitepages/online?icq='.$icq.'&img=5','r');
$pom=fread($f,17);
fclose($f);
if (ord($pom{16})==192) $online='on';
else if(ord($pom{16})==165) $online='off';
else if(ord($pom{16})==90) $online='na';
return $online;
}
Tohle změní css třídu divu, samozřejmě lze s divem udělat cokoli, co umožňuje js. Vnímaví si všimli, že se jedno číslo může opakovat víckrát, ale jeho stav se zjistí jen jednou a aplikuje se pro všechny divy s tím číslem (vhodné pro guestbooku apd.)
Samozřejmě na 4. platném řádku nemá být $pole[2], ale $cisla[$i].
A předpokládám, že jste pochopili ten výsek z cyklu for().
Dvakrát měř, jednou řež. Klidně mě zbičujte.
Aha, JS neni spatna volba... Dobry napad, diky.