Seite 1 von 1

allow_url_fopen...

Verfasst: 01.05.2011, 19:14
von karinsch
Hallo zusammen!

Ich wollte fragen, ob es eine Möglichkeit gibt, die inoffizielle API für WKchats so umzuschreiben, dass man sie auch verwenden kann, wenn allow_url_fopen = Off ist?

Vielen Dank im Voraus!

Re: allow_url_fopen...

Verfasst: 05.05.2011, 23:24
von Linus
Sollte möglich sein, die API hat sowieso mal ein ordentliches Update verdient ;) Kann aber wohl etwas dauern, aber ich geb mir Mühe :)

Re: allow_url_fopen...

Verfasst: 08.05.2011, 17:17
von karinsch
Hi Linus!
Also, wenn du das hinbekommen würdest, das wär der Hit :)
Nur kein Stress, aber vielleicht geht sich's ja mal aus, dass du die API überarbeitest. Wär super.
Danke schon mal im Voraus! :)

Re: allow_url_fopen...

Verfasst: 09.05.2011, 01:35
von Linus
So, fertig! Zu beziehen unter http://wkapi.wkprojects.org ;)

Die Voraussetzungen zur Benutzung haben sich nun deutlich geändert:

1.) Entweder fsockopen ist benutzbar
2.) oder allow_url_fopen ist auf 1, dann müssen zusätzlich noch file() oder file_get_contents freigeschaltet sein

Es ist egal, ob die API nun über fsockopen oder file_get_contents/file geht, der Funktionsumfang ist identisch!
Es existieren zwar noch Möglichkeiten über fopen, fwrite etc., aber in der Regel sollten die jetzigen Möglichkeiten ausreichen!

Da es zudem wohl User gibt, die pro Tag maximal 5 fsockopen-Benutzungen frei haben, wird zunächst versucht, sämtlichen Verkehr über file_get_contents abzuwickeln... Wer ein wenig Ahnung von PHP hat, wird die Reihenfolge aber auch in der API selbst ändern können (Funktionen: getcontents() und postcontents()).

Ihr könnt auch nun die API, sobald ihr sie hochgeladen habt, im Browser aufrufen (http://EURE-URL/api.php), wenn die Seite dann weiß bleibt wird die API bei euch vollständig funktionieren, sollte eine Fehlermeldung erscheinen, kontaktiert bitte euren Hoster!

Bugfixes:
- getDeleteLog funktioniert wieder

Ich hoffe, dass die API so viel mehr Leuten alle ihre Möglichkeiten eröffnet :)

PS.: Ich habe zwar jede Funktion getestet, und die Ausgaben sind unter den Modi fsockopen, file_get_contents und file absolut identisch, aber ich kann nicht ausschließen, dass sich im Vergleich zur alten API einige Änderungen ergeben haben (auch wenn mir keine aufgefallen sind...)! Bitte testet eure Scripts daher erst sorgfältig mit dieser neuen Version!!

Re: allow_url_fopen...

Verfasst: 09.05.2011, 09:30
von 1. FC Keller
Feine Sache :-)

ist es Absicht, dass bei getcontents die Reihenfolge fgc, file, fsock und bei postcontents fgc, fsock, file ist?

Werde dann gleich mal einen Test auf wktools mit der neuen API starten.

Re: allow_url_fopen...

Verfasst: 09.05.2011, 10:50
von Linus
Naja, ging mehr danach, was ich zuerst fertig hatte *g Habs nun einheitlich auf file_get_contents, file und zuletzt fsockopen geändert!

Re: allow_url_fopen...

Verfasst: 10.05.2011, 13:11
von karinsch
Hi Linus!

Das ging ja wieder mal ratz-fatz - dankeschön! :)
Ich habe das jetzt gleich mal ausprobiert und leider klappt es nicht so ganz. Ich verwende folgenden Code:
$user_online = 0;
if (in_array(strtolower($row["nick"]),array_map("strtolower",$chat->getAllUsers()))){
$user_online = 1;
}
if (in_array(strtolower($row["nick"]),array_map("strtolower",$chat->getOnlineUsers()))){
$user_online = 2;
}

Bis jetzt funktionierte das immer, aber jetzt erhalte ich für die Variable "$user_online" immer den Wert 0 (dh. keine Abfrage oben trifft zu, auch, wenn der Chatter gerade online ist).
Muss ich den Code irgendwie umschreiben?

Dankeschön im Voraus!

Re: allow_url_fopen...

Verfasst: 10.05.2011, 15:06
von Linus

Code: Alles auswählen

<?php
require("api.php");
$chat = new Webkicks("CID",3,"ADMIN","PASSWORT");
$nick = "Testname";
$user_online = 0;
if (in_array(strtolower($nick),array_map("strtolower",$chat->getAllUsers()))){
$user_online = 1;
}
if (in_array(strtolower($nick),array_map("strtolower",$chat->getOnlineUsers()))){
$user_online = 2;
}
echo $user_online;
?>
Tut bei mir genau wie es soll, evtl. liegt der Fehler im $row['nick']?

Re: allow_url_fopen...

Verfasst: 12.05.2011, 16:18
von karinsch
Hi Linus!

Wenn ich das Script auf eine einzelne PHP-Seite lege, wo nichts drumherum ist, funktioniert es bei mir auch.
Ich brauche es aber innerhalb einer bestehenden Seite, wo es schon einiges an PHP-Code drumherum gibt. Dort wurde dann nichts ausgelesen. Ich habe mich da jetzt rangetastet und bin draufgekommen, wenn ich bei der "function getcontents($url){" folgendes ausnehme:
if (in_array("fgc",$modes)){
$retval = file_get_contents($url);
}elseif (in_array("file",$modes)){
$content = file($url);
foreach ($content as $line){
$retval.=$line;
}
}elseif (in_array("fsock",$modes)){
dann funktioniert es auch innerhalb der Seite.
Hast du eine Idee, warum es diese Zeilen nicht mögen könnte?
Bzw. brauche ich diese Zeilen wahrscheinlich eh nicht unbedingt, oder?

Re: allow_url_fopen...

Verfasst: 12.05.2011, 17:17
von Linus
Kopier lieber die API nochmal neu von http://wkapi.wkprojects.org, habe die nochmal überarbeitet... In der Hoffnung das es dann nun auch geht ;)

Re: allow_url_fopen...

Verfasst: 13.05.2011, 08:29
von karinsch
Dankeschön, perfekt :D