![]() |
![]() |
![]()
Post
#1
|
|
Administrator serwera Grupa: Przyjaciele php.pl Postów: 909 Pomógł: 0 Dołączył: 12.08.2003 Skąd: /var/www/wroclaw.php Ostrzeżenie: (0%) ![]() ![]() |
Funkcja łączy się z serwerem GG, loguje się na nim, pobiera opis dla podanego numeru i kończy połączenie. W przypadku powodzenia całości operacji funkcja zwraca opis. W przypadku niepowodzenia funkcja zwróci wartość "(bool) false" i w zmiennej podanej jako ostatni, czwaty argument umieści komunikat o błędzie jaki zaistniał.
Szczegóły parametrów do przekazania jak i wyniku działania funkcji znajdują się w jej komentarzu. Funkcja wymaga zdefiniowania stałych wartości używanych w protokole GaduGadu. Nie są one umieszczone w funkcji, by uniknąć komunikatu o błędzie ponownego deklarowania stałych w przypadku, gdy funkcja zostanie wywołana wielokrotnie w jednym skrypcie. Dwie uwagi końcowe: - ilość znaków jaka jest wycinana ze zwracanego opisu (ostatnia linijka funkcji) jest dobrana eksperymentalnie i jak narazie nie znalazłem innego lepszego) rozwiązania na pozbycie się znaków znajdujących się na początku zwracanego przez serwer wyniku. - Funkcja nie jest przystosowana do odbioru wielu statusów w jednym połączeniu. By ją do tego przystosować należy odpowiednio zmienić wywołanie funkcji (np. przekazać tablicę z numerami, a nie wartość INT i w linii 126 zmienić format pakietu zgodnie ze specyfikacją dostępną na stronie projektu EKG ( http://dev.null.pl/ekg/docs/protocol.html#ch1.11 ) (Kod wydzielony z tematu Skrypty do generowania sygnaturek, na grafikach)
UpDated (07.10.2004 01:07): Zmieniłem "return substr($status_kontaktu, 15);" na nieco bardziej zaawansowany i skuteczny sposób wycinania niechcianych znaków... Dzięki temu opisy nie są ucinane i nie zawierają śmieci... UpDated (08.02.2005 14:45): Coraz częściej dostaje PW o sposób użycia, więc... Sposób użycia - wyświetlenie opisu numeru 1234567 (nasz numer to 2358764, a haslo to: zxcdews):
UpDated (10.02.2005 04:31): Status wyświetlany jest bez żadnych krzaków - zmianie uległ sposób wyciągania opisu z pakietu odbieranego z serwera... UpDated (10.02.2005 05:16): Zoptymalizowałem wyciąganie opisu z pakietu do 1 polecenia unpack... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 7.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Wiem że to głupie ale daj @ przed unpack (@unpack()) I powinno zadziałac (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) Ale to jest najprostrze wyjście z sytuacji i może jest baredzije profesjonalne Hehe tak zrobiłem już wczesniej, ale pomyślałem, że nie zaszkodzi zapytać "tęgie głowy" o jakieś bardziej profesionalne rozwiązanie tego problemu. Myślałem żeby wyciągnąć status przed opisem i wtedy (o ile status rozdziela np "dostepny" != "dostępny z opisem") dać tylko if czy ma rozpakowywać opis czy nie. Ale jeszcze mam za małego skill'a na zabawe z tymi pakieami (IMG:http://forum.php.pl/style_emoticons/default/aarambo.gif) Pozdrawiam |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.09.2025 - 23:08 |