Autor Zpráva
ferdinant
Profil *
Ahojte našiel som tento kód na zobrazovanie vlastného statusu Skype.
Funguje v pohode ale chcelo by to asi nejaké úpravy. Nakoľko keď nevie zistiť stav skype tak to dosť brzdí stránku. Takže by to chcelo niečo čo by tomu povedalo aby ak nemôže zistiť/spojiť sa tak prerušil hľadanie. Ale samozrejme neviem ako...

Tu je kód:
<?php
function getSkypeStatus($username) {
	$remote_status = fopen ('http://mystatus.skype.com/'.$username.'.num', 'r');
	if (!$remote_status) {
	    return '0';
	    exit;
	}
	while (!feof ($remote_status)) {
	    $value = fgets ($remote_status, 1024);
	    return trim($value);
	}
	fclose($remote_status);
}

function getSkypeStatusIcon($username) {
	$status = getSkypeStatus($username);
	// change the path of the icons folder to match your site
	echo '<a href="skype:'.$username.'?chat"><img src="/images/skype/'.$status.'.png" alt="skype icon status" title="Napísať" /></a>';
}
getSkypeStatusIcon('skypemeno');
?>


A taktiež by som potreboval nejak spraviť aby som tam mohol mať aj pre dva skype nastavenie statusov naraz.

Vopred ďakujem za pomoc :)
ferdinant
Profil *
Tu je stránka kde som to našiel:
www.jek2k.com/wp/index.php/2008/02/08/building-a-custom-skype-me-button-with-status-icon/
BuGeR
Profil
ferdinant:
A taktiež by som potreboval nejak spraviť aby som tam mohol mať aj pre dva skype nastavenie statusov naraz.

getSkypeStatusIcon('skypemeno');
getSkypeStatusIcon('skypemeno2');

? :)
ferdinant
Profil *
BuGeR:
Neviem ako to myslíš ale takto ako si napísal si myslím, že nemá ako vedieť ten skript kde má čo zaradiť.
TomasJ
Profil
ferdinant:
Tak nemysli a naslouchej (zde čti)... Prostě zadáš to co je tu od BuGeRa a normálně ti to půjde.
ferdinant
Profil *
No ale to sme sa asi nepochopili ja chcem aby sa tie statusi zobrazovali každý sám a to tak to určite nejde.
petr 6
Profil
ferdinant:
Nejlepší způsob, jak zjistit, jestli to tak jde, je to vyzkoušet.
ferdinant
Profil *
To hej a nefunguje. Strašne dlho načítava stránku a potom sa zobrazí len jeden status.
TomasJ
Profil
Pokud ti stačí obrázek, jde to takto:
http://mystatus.skype.com/smallclassic/skypenick
Pak uděláš třeba:
function SkypeStatus($nick){
echo'<a href="skype:'.$nick.'?chat"><img border="0" src="http://mystatus.skype.com/smallclassic/'.$nick.'" alt="skype icon status" title="Napísať $nick"></a>';
}

A pak jen použiješ
SkypeStatus("skypejmeno");
ferdinant
Profil *
Tak ten PHP kód nie je moc dobré riešenie ale našiel som si iný kód kde síce nie je možné mať vlastné statusy ale zas sa status zmení aj bez toho aby sa refreshla celá stránka.

<a href="skype:MENO?chat"><img src="http://mystatus.skype.com/mediumicon/MENO" id="reload" onload="setTimeout('document.getElementById(\'reload\').src=\'http://mystatus.skype.com/mediumicon/MENO?\'+new Date().getMilliseconds()', 10000)" /></a>


Len zas je tu problém, že keď prejdem na inú stránku tak sa tam vráti pôvodný obrázok čo bol načítaný pred zmenou statusu.
TomasJ
Profil
ferdinant:
Za 1. Dalo by se zjednodušit
A za 2. Je to špatně napsané.
<a href="skype:MENO?chat"><img src="http://mystatus.skype.com/mediumicon/MENO" onload="setTimeout(function(){this.src='http://mystatus.skype.com/mediumicon/MENO?'+new Date().getMilliseconds();}, 10000)"></a>

Nepoužívá se getElementById a používá se správně Timeout
ferdinant
Profil *
TomasJ:
Dík ale ten tvoj nefunguje vôbec :(
TomasJ
Profil
<?php
function SkypeStatus($nick){
echo $nick.' <a href="skype:'.$nick.'?chat"><img border="0" name="ref" src="http://mystatus.skype.com/mediumicon/'.$nick.'" onload="setTimeout(function(){document.ref.src=\'http://mystatus.skype.com/mediumicon/'.$nick.'?\'+new Date().getMilliseconds();}, 10000);"></a><br>';
}
SkypeStatus("skypejmeno");
?>

Toto už půjde a bude se ti i každých 10 s. obnovovat + ukáže před tlačítkem i jméno
ferdinant
Profil *
TomasJ:
Jasné to funguje ale asi sa nedá nejak spraviť aby po zmene stránky ostal aktuálne načítaný obrázok. Lebo takto sa mi tam vráti to čo tam bol pred zmenou statusu.
Snaď som to dobre popísal čo myslím.
TomasJ
Profil
No nevím co máš na mysli. Koukni na http://tjiricek.hys.cz/data/JPW/skype.php?name=NICKNAME a místo NICKNAME v adrese dej svůj nick a dej Enter.

EDIT: Nejlepší by bylo ukázat svůj problém v živé ukázce.
ferdinant
Profil *
No to nie je moc čo ukazovať. Ale popíšem lepšie:

Prídem na stránku (hlavná stránka) a status skype je ONLINE. Ja si na skype zmením status na NEDOSTUPNÝ a samozrejme sa to zmení aj na stránke. Ale keď teraz pôjdem na stránku NOVINKY tak status je zas ONLINE a až po 10 sec sa zmení na aktuálny.

Proste tam ten pôvodný status ostáva nejakú dobu pri načítaní ďalšej stránky a vždy sa potom zmení na aktuálny po tých 10 sec.

A ja som chcel či je nejaká možnosť aby sa tým refreshom nastavil tak aby prehliadač nezobrazoval ten svoj pôvodný kým si uvedomí, že sa naozaj zmenil.


p.s.: to je ako keby som zmenil nejaký obrázok na FTP ale prehliadač ešte zobrazuje ten pôvodný a až po niekolkých zobrazeniach stránky si uvedomí, že je tam už niečo iné :)
TomasJ
Profil
ferdinant:
No už chápu, ale poradit bych mohl jen kratší interval pro obnovu, třeba 5000 (5 sekund)...
ferdinant
Profil *
To napadlo aj mňa, lenže v takej opere zobrazuje načítavanie a pôsoby to akoby tomu preskočilo :)
ferdinant
Profil *
Ja som ešte našiel niečo táketo do headru:

<script type="text/javascript"> 
<!--
function update(){
  document.images.skype-MENO src='http://mystatus.skype.com/mediumicon/MENO'&img=5&blah='+Date.parse(new Date());
setTimeout('update()',10000); 
}
//-->
</script>


A do IMG sa potom dava

name="skype-MENO"

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0