# icq status mit php auslesen



## FolaR (21. September 2001)

hi 
ich hoffe jemand kann mir helfen, ich will nämlich nicht diese standarddinger nehmen 
thx


----------



## Moartel (21. September 2001)

*Redesign*

Das geht leider nicht. Du musst die vorgefertigten Sachen nehmen.


----------



## FolaR (22. September 2001)

doch das geht, weiß nur leider net mehr wie.


----------



## Moartel (22. September 2001)

Hm, ich hätte nicht gedacht dass das möglich ist. Aber wenn es dir wieder einfällt wüsste ich auch gerne wie das geht.


----------



## FolaR (22. September 2001)

http://www.hotscripts.com/Detailed/8898.html
das da ist sowas, nur n bisserl kompliziert, mal gucken ob ich damit was zustandebekomme


----------



## force2k1 (22. September 2001)

*nix kompliziert !*

so gehts ! man kann auch eigene bilder machen für online, offline, disabled und error !


```
<?

$uin=108672231;
$error=-1;
$offline=0;
$online=1;
$disabled=2;

class icq
{var $uin="";
function setuin ($icquin='')
{$this->$uin=$icquin;}

function status ()
{global $error,$online,$disabled,$offline;
$arr=@file("http://wwp.icq.com/scripts/online.dll?icq=".$this->$uin."&img=1");
$len=strlen($arr[1]);
$ret=$error;
if ($len==105)$ret=$online;
if ($len==18)$ret=$disabled;
if ($len==0)$ret=$offline;
return $ret;}

function statusstring ()
{global $error,$online,$disabled,$offline;
$t=$this->status();
if ($t==$error)
{$ret='(ICQ.COM error)';}
elseif($t==$offline)
{$ret='offline';}
elseif ($t==$online)
{$ret='online';}
elseif ($t==$disabled)
{$ret='disabled';}
return $ret;}}

$icq=new icq;
$icq->setuin($uin);

?>

<? echo $icq->statusstring(); ?>
```


----------



## Moartel (22. September 2001)

Kewle Sache. Wenn man nach den Dateien geht die von dem Programm ausgegeben werden ist es natürlich möglich. Auf die Idee bin ich aber ned gekommen. :[


----------



## Robert Fischer (22. September 2001)

das ist nicht schlecht. daraus lässt sich ja glatt eine idee für eine neue seite entwickeln. naja, mal schau was ich damit so machen werde.


----------



## Bluebird (22. September 2001)

nen web-icq service?


----------



## force2k1 (22. September 2001)

*jo !*

jo bidde macht ihr mal schön ihr könnt mir ja mal bescheid sagen was ihr so schönes gemacht habt !


----------



## Hannes (23. September 2001)

*Hm........*

Sacht mal kennt ihr den Trick mit der Nummer einsetzen im HTML-Code anstatt des Images nicht?
Man kann einfach bei der source eines Bildes die UIN es Users reinschreiben und dann wird auch angezeigt ob derjenige online oder offline ist.
Zumindest hab ich das mal wo gelesen.
Na ja probierts mal.

CU Hannes


----------



## force2k1 (23. September 2001)

*aha*

wie soll das aussehen poste mal den code !


----------



## ajay (5. September 2002)

Also irgendwie funktioniert das von force2k1 nicht mehr.

Ich hab zwar schon in der einen Zeile die URL in die aktuelle geändert ...

```
$arr=@file("http://web.icq.com/whitepages/online?icq=".$this->$uin."&img=1");
```
... aber es geht imma noch nicht.

Ich versteh auch nicht ganz was da ausgelesen wird bzw. von was da die Länge verglichen wird.

Kann mir vielleicht jmd helfen??

Thx schon mal 
-Flash-


----------



## loki2002 (5. September 2002)

```
<?php 
$uin="icqnum"; 
$arr = @file("http://wwp.icq.com/scripts/online.dll?icq=$uin&img=1"); 
$len = strlen($arr[1]); 
if ($len == "") echo "<img src=nonicq.gif>"; 
if ($len == 96) echo "<img src=online.gif>"; 
if ($len == 83) echo "<img src=offline.gif>"; 
if ($len == 1) echo "<img src=nonicq.gif>"; 
?>
```


damit sollte es auch funktionieren.


----------



## Wolfsbein (5. September 2002)

*Re: aha*



> _Original geschrieben von force2k1 _
> *wie soll das aussehen poste mal den code ! *




```
<a href="http://wwp.icq.com/scripts/Search.dll?to=xxxxxxxx" class="link">
ICQ:xxxxxxxx</a>
<img src="http://wwp.icq.com/scripts/online.dll?icq=xxxxxxxx&img=5">
```


----------



## ajay (5. September 2002)

@loki2002:

nee geht net ... bei mir kommt mit deinem code und meiner nummer immer das nonicq.gif. nehme ich dagegen den code vonner icq-page gehts. auch wenn ich bei deinem code die url durch die andere ersetze funzt es net...

ausserdem ist mir immer noch nicht bewusst was ihr da ueber die laenge regelt .. von wegen len=96, len=83 usw.
denn wenn ich in den code mal print $len; einfüge, spuckt der mir immer nur 0 aus.

-Flash-


----------



## loki2002 (5. September 2002)

mhh ok.. dachte ich mir fasst aber egal.. ich frag mich sowieso, warum man unnoetig resourcen etc verschwendet wenn es auch einfach geht..


```
<img src="http://online.mirabilis.com/scripts/online.dll?icq=ICQNUMMER&img=5">
```

einfach ICQNUMMER durch eure nummer ersetzen und es funktioniert, hab es eben mal getestet.


----------



## FolaR (5. September 2002)

> _Original geschrieben von loki2002 _
> *mhh ok.. dachte ich mir fasst aber egal.. ich frag mich sowieso, warum man unnoetig resourcen etc verschwendet wenn es auch einfach geht..
> 
> *
> ...



vielleicht solltest du dir mal die mühe machen den thread zu lesen, es geht nämlich darum etwas eigenes (ob nun text oder image) anzeigen zu lassen und nicht diese keimigen standard bilder 

btw: nach nem knappen jahr mal wieder n reply, das ist doch genial


----------



## ajay (5. September 2002)

jupp genau .. *eigene bilder bzw text* ...

und ich dacht jetzt kommt ma ne brauchbare lösung .. so nach nem jahr überlegungsphase


----------



## loki2002 (5. September 2002)

ok, dieses funktioniert jetzt aber.. das Script hab ich auf function 
de.comp.lang.php gefunden und ein wenig angepasst.. es Funktioniert.


```
function GetICQ($uin) {
    if (!is_numeric($uin)) return FALSE;

    $fp = fsockopen('wwp.icq.com', 80, &$errno, &$errstr, 8);
    if (!$fp) return FALSE;

    $request = "HEAD /scripts/online.dll?icq=$uin&img=5 HTTP/1.0\r\n"
              ."Host: wwp.icq.com\r\n"
              ."Connection: close\r\n\r\n";
    fputs($fp, $request);

    do {
       $response = fgets($fp, 1024);
    }
    while (!feof($fp) && !stristr($response, 'Location'));

    fclose($fp);

    if (strstr($response, '4367')) return '<img src="online.gif">';
    if (strstr($response, '4349')) return '<img src="offline.gif">';
    if (strstr($response, '4386')) return '<img src="disabled.gif">';
    return FALSE;
}
echo GetICQ(12423456);
?>
```

/* EDIT */
Script verbessert.
*/ EDIT */


----------



## ajay (6. September 2002)

cool thx es funktioniert !

zwar n kleiner fehler, denn muss in der ersten Zeile function GetICQ($uin) heißen aber egal.

mich würde gern noch intressieren was da im einzelnen gemacht wird, weil ganz blick ich das nicht.

-Flash-


----------



## loki2002 (6. September 2002)

NDL_Flash hat gesagt.:
			
		

> zwar n kleiner fehler, denn muss in der ersten Zeile function GetICQ($uin) heißen aber egal.
> 
> mich würde gern noch intressieren was da im einzelnen gemacht wird, weil ganz blick ich das nicht.
> 
> -Flash-



Danke, habs schon geaendert... 

was genau verstehst Du jetzt nicht? ...


----------



## ajay (6. September 2002)

na nach was fuer einem muster wird denn das ausgewertet? was sind die zahlen da. 
also welches prinzip steckt dahinter ??


----------



## Nils Hitze (6. September 2002)

*kommentier deine Funktion doch einfach*

und mach ein Tutorial daraus.

Interessiert sicher viele.

Gruß,
 Jonathan


----------



## loki2002 (6. September 2002)

ok, werde mich mal ransetzen, dauert aber ein paar tage.. zur zeit etwas busy.

@NDL_Flash
if (strstr($response, '4367')) wozu die zahlen da stehen? .. gnaz einfach, icq hat sein system gaendert und hat jetzt fuer jedes 'image' ein andere zahl genommen (praktisch wie ein redirect auf deinem webserver).. frueh war das 93(oder so) etc.. deshalb funktionieren die alten script auch nicht mehr.


----------



## nordi (22. September 2002)

Hi,
okay, ich weiß - es ist ein bisschen spät zu antworten...
Ich hab aber noch ne Frage zu loki2002's script.
Wo trägt man da seine eigene icqnr ein?

greets aus köln

marius


----------



## Johnny (22. September 2002)

Hi,

ganz einfach:

$uin=108672231;   <---die Nummer ersetzt du durch deine 





mfg


----------



## metty (10. September 2004)

könnte man theoretisch auch die away message auslesen?


----------

