![]() |
![]() ![]() |
![]() |
![]()
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: 1 Pomógł: 0 Dołączył: 6.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
Jeszcze zapytanie: czy da się wyciągnąć obrazek numeru, który ma włączoną opcję "Tylko dla znajomych"? Jeśli tak, to jak?
|
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 742 Pomógł: 0 Dołączył: 14.12.2003 Skąd: Gdańsk, Trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
numer, który używa ta funkcja musi być wpisany do listy konaktów numeru który sprawdzasz.
@Bakus: 1. Czemu dwa razy definiujesz stałe? 2. Ładniej byłoby to w klase ująć (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) pozdrawiam |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 335 Pomógł: 0 Dołączył: 15.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(aleksander @ 2005-02-12 00:14:11) 1. Czemu dwa razy definiujesz stałe? To chyba jest jakiś przypadek... pomyłka. Wystarczy jak się raz zdefiniuje ... ale moge się mylić (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Wszystko jest możliwe. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 416 Pomógł: 0 Dołączył: 8.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Twoja funkcja to jest swietna sprawa ale ma jeden mankament. W momencie jej wywolania rozlacza mi sie GG. Korzystam dokladnie z Tlena i w momencie kiedy ktos wchodzi na strone to automatycznie staje sie niedostepny.. Jest jakas rada na to?
|
|
|
![]()
Post
#6
|
|
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%) ![]() ![]() |
HeHe... zarejestruj nowy numer GG
Jezeli serwer GG zostanie poproszony o autoryzacje nowej sesji na ten sam numer, to wszystkie otworzone sesje zostana zakonczone i zostanie nawiazane polaczenie z ostatnia sesja o jaka zostal poproszony... dlatego wlasnie Cie rozlacza... |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 11.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Jestem tu nowy.
Chciałbym się dowiedzieć, czy można troszkę rozszerzyć funkcje o rozpoznawanie statusu (dostępny, niedostępny, zaraz wracam), np. funkcja zwraca wartość: 0 przy niedostępnym 1 przy dostępnym 2 przy zaraz wracam |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 416 Pomógł: 0 Dołączył: 8.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
http://gg.wha.la/ - tutaj masz dostepna klase do obslugi gg i tam ta funkcja o ktora prosisz jest.
--- Rozpoznawanie statusu w bardzo prosty sposob znalezione na http://www.strefaphp.net/artykul1.html
Ten post edytował ikioloak 12.11.2005, 15:05:49 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 13.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem, ze paczka do sprawdzania statusu jednej osoby, to:
A jak sie to ma do pobrania kilku numerow? Trzeba powtarzac wysylanie takiej paczki, czy mozna to zrobic za jednym razem? |
|
|
![]()
Post
#10
|
|
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%) ![]() ![]() |
Niestety nie znalazłem odpowiedzi na to pytanie. Mniewam, iż wieloktorne wysłanie zapytań o status w czasie 1 połączenia nie spowoduje błędu i będzie dobrym obejściem tego problemu, jednak to tylko przypuszczenie.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 16.11.2005 Skąd: Żary Ostrzeżenie: (0%) ![]() ![]() |
wywala mi taki błąd z tego skryptu:
Warning: unpack(): Type C: not enough input, need 1, have 0 in c:\usr\krasnal\www\statusgg\ggstatus.php on line 134 czy ktoś mi pomoże będę wdzięczny gg 5377455 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 416 Pomógł: 0 Dołączył: 8.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Tez mialem ten problem (moze w zwiazku z wejsciem GG 7?) i klecac troche od bakusa i bramki z http://gg.wha.la/ stworzylem, cos co dziala tak samo jak skrypt Bakusa.. Do sciagniecia razem z klasa do obslugi gg z ww adresu Tutaj.
Jak skorzystac:
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 18 Dołączył: 23.08.2003 Skąd: Łomża Ostrzeżenie: (0%) ![]() ![]() |
troche odswieze temat.
skrypt obecnie nie dziala :/ zwraca cos takiego: Cytat Warning: unpack() [function.unpack]: Type V: not enough input, need 4, have 0 in /srv/www/htdocs/web792/html/blog/gg/gg.php on line 18
Warning: fread() [function.fread]: Length parameter must be greater than 0 in /srv/www/htdocs/web792/html/blog/gg/gg.php on line 20 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Odswiezam i mowie ze dziala. teraz przetestowalem
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 25.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam...
Wiem że jestem cienki ale nie moge poradzić sobje z pobieraniem większej ilości opisów gg, możecie mi powiedzieć jak należy zmodyfikować tę klasę żeby pobrała w jednej sesji wszystkie opisy numerów gg które jej przekaże w tablicy. Jeszcze raz sorry za prośbe o gotowca ale jakoś to mi nie wychodzi. Pozdrawiam, eLeM |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 422 Pomógł: 0 Dołączył: 14.12.2005 Skąd: Wałbrzych Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Witam... Wiem że jestem cienki ale nie moge poradzić sobje z pobieraniem większej ilości opisów gg, możecie mi powiedzieć jak należy zmodyfikować tę klasę żeby pobrała w jednej sesji wszystkie opisy numerów gg które jej przekaże w tablicy. Jeszcze raz sorry za prośbe o gotowca ale jakoś to mi nie wychodzi. Pozdrawiam, eLeM W jednej sesji (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) czyli nie ze zapętlisz skrypt. Tak sie raczej nie da ^^ Pytaj bakusa o to |
|
|
![]()
Post
#18
|
|
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%) ![]() ![]() |
Nie próbowałem rozwiązać pobierania wielu podpisów. Moja rada: eksperymentuj (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#19
|
|
Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
A co to da? $data jest nadpisywana więc wezmie ostatni numer ;P
|
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 19.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
skrypt nie działa - pokazuje mi się taki błąd - "PROBLEM Z POLACZENIEM: 111 - Connection refused"
|
|
|
![]()
Post
#22
|
|
Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
bim2 to może tak:
i potem opisy są zwranace w tablicy: numerek => opisik (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) masz problem ;p |
|
|
![]()
Post
#23
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
No tak sie teraz da (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Tylko nie testowalem tego i nie wiem czy zadziala (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Napisz coś więcej czy działa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#24
|
|
Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
@bim2 teraz musi działać... dla każdego numeru tworzona jest tablica numerek => opis, dzięki czemu mozna ponownie wykorzystać tablicę $szukany_numer w mnuiej wiecej taki sposób:
wylistuje nam cały wynik (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) pozdro (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#25
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Ja rozumiem tlyko ja nie umiem wyciagac pisu i nieorumiem jak on dziala (ten skrypt) Wiec jesli do wyciagniecia opisu wystarczy 1 unpack to OK, powinno dzialać (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
|
|
|
![]()
Post
#26
|
|
Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
@bim2:
Cytat 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. Ten post edytował Athlan 18.07.2006, 08:56:41 |
|
|
![]()
Post
#27
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 7.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam problem ze skryptem Jeśli podany do skryptu nr GG nie ma ustawionego opisu to dostaje błąd: Warning: unpack() [function.unpack]: Type C: not enough input, need 1, have 0 in c:\usr\apache\httpd\html\gg\statusgg.php on line 133 Jeśli opis jest ustawiony to wszystko działa pięknie Czy ktoś wie jak to obejść ? Pozdrawiam |
|
|
![]()
Post
#28
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin 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
|
|
|
![]()
Post
#29
|
|
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 |
|
|
![]()
Post
#30
|
|
Grupa: Zarejestrowani Postów: 205 Pomógł: 1 Dołączył: 11.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
mi wyswietla
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/bastek/public_html/gg_test.php on line 102 102 linijka: $hash = oblicz_hash($haslo_gg, $tab['klucz']); :| |
|
|
![]()
Post
#31
|
|
Grupa: Zarejestrowani Postów: 1 165 Pomógł: 9 Dołączył: 9.04.2002 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#32
|
|
Grupa: Zarejestrowani Postów: 205 Pomógł: 1 Dołączył: 11.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
to nie to ^^ przeciez niewyswietla ze jest blad w zapisie
nic sam niedopisywalem - wszystko mam tak jak podane w tym poscie Ten post edytował bastek8989 20.12.2006, 16:51:25 |
|
|
![]()
Post
#33
|
|
Administrator wortalu Grupa: Przyjaciele php.pl Postów: 960 Pomógł: 39 Dołączył: 21.10.2003 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy zauważyliście ale kod z listingu z pierwszym poście, posypał się całkiem (pewnie podczas jakiegoś upgrade forum), są w nim pododawane błędne sleshe.
|
|
|
![]()
Post
#34
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 30.06.2005 Ostrzeżenie: (0%) ![]() ![]() |
poprawiłem kod , ale nie sprawdzałem:P |
|
|
![]()
Post
#35
|
|
Grupa: Zarejestrowani Postów: 374 Pomógł: 3 Dołączył: 30.12.2006 Skąd: co skąd? Ostrzeżenie: (10%) ![]() ![]() |
użyłem tego skryptu, ale nie działa. może jakieś sugestie?
|
|
|
![]()
Post
#36
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 12.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
Żeby skrypt działał poprawnie, trzeba włączyć dyrektywę allow_url_fopen. Niestety, nie można tego zrobić poprzez php_ini() i trzeba ustawić to w pliku konfiguracyjnym php.ini lub httpd.conf. Jeśli korzystacie z jakiegoś darmowego konta, to nici - trzeba pogadać z adminem.
Oczywiście, może to być jeden z powodów. Żeby w ogóle sprawdzić, czy na tym polega problem, można wywołać funkcję phpinfo() i sprawdzić wartość allow_url_fopen, ewentualnie skorzystać z ini_get() PS. Dotyczy to z pewnością tego sposobu przy pobieraniu statusu i używaniu własnych grafik. Nie wiem co z tym na początku tematu - czy tam też jest ten sam problem czy nie; nie testowałem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ten post edytował Raynold 9.01.2007, 05:25:33 |
|
|
![]()
Post
#37
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 1 Dołączył: 6.03.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
działało działało i przestało (IMG:http://forum.php.pl/style_emoticons/default/blink.gif)
Fatal error: Maximum execution time of 60 seconds exceeded in ... on line w tej lini:
potem znów zadziałało pare razy (na localhoście) i po uploadzie padło na hoście w internecie (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif) allow_url_fopen włączone na localu i w necie. ktoś może coś poradzić? |
|
|
![]()
Post
#38
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 8.01.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Nigdy nie byłem dobry z wyrażeń ale preg z linii 80 wygląda tak:
a powinien wyglądać tak: Kod preg_match("/\s([\d.]{8,16}):([\d]{1,5})\s/", $buf, $adres); ten highlighter forum przy PHP się coś kiełbasi i backslashe usuwa |
|
|
![]()
Post
#39
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 12.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
a jak mi pisze ze
Cytat Nie rozpoznany blad (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) wszystkie dotychczasowe sprawy ujalem. na jednym serwerze wszystko chodzi ladnie i pieknie a na drugim niebardzo..
Ten post edytował mathewoosh 12.04.2007, 08:02:55 |
|
|
![]()
Post
#40
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 18.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Niestety poniższy kod nie zwraca mi żadnej wartości, nie wyświetla też żadnych błędów
|
|
|
![]()
Post
#41
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 23.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
jesli ni pokazuje ci opisu sprobuj recznie wklepac numer serwera z ktorym ma sie laczyc. Umnie to zadzialalo mam jedynie klopot z kodowaniem polskich znaków
|
|
|
![]()
Post
#42
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 10 Dołączył: 17.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
U mnie pomogło:
Nigdy nie byłem dobry z wyrażeń ale preg z linii 80 wygląda tak:
a powinien wyglądać tak: Kod preg_match("/\s([\d.]{8,16}):([\d]{1,5})\s/", $buf, $adres); ten highlighter forum przy PHP się coś kiełbasi i backslashe usuwa |
|
|
![]()
Post
#43
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 5.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
mam problem z wyświetlaniem polskich znaków, każdy jest wyświetlany jako znak zapytania w rombie (albo coś w tym stylu). może rozwiązał ktoś już ten problem? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#44
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 3 Dołączył: 3.04.2007 Ostrzeżenie: (50%) ![]() ![]() |
a jak zrobic zeby pobrac pare opisow
bo jak tak zrobie pare razy z roznymi nr gg do sprawdenia to skrypt mysli albo nie pokazuje :/ echo ''.get_gg_status("***", "**", "**", $error).'<br>'; echo ''.get_gg_status("***", "**", "**", $error).'<br>'; echo ''.get_gg_status("***", "**", "**", $error).'<br>'; |
|
|
![]()
Post
#45
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 2.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
troszkę zmodyfikowałem źródło na takie które działa, o to co wyszło: Kod <?php function oblicz_hash ($haslo, $klucz) { $x0=0; $x1=0; $y0=0; $y1=0; $z=0; $tmp=0; $y0 = ($klucz << 16) >> 16; $y1 = $klucz >> 16; for ($i=0; $i<strlen($haslo); $i++) { $x0 = ($x0 & 0xFF00) | ord($haslo[$i]); $x1 &= 0xFFFF; $y0 ^= $x0; $y1 ^= $x1; $y0 += $x0; $y1 += $x1; $x1 <<= 8; $x1 |= ($x0 >> 8); $x0 <<= 8; $y0 ^= $x0; $y1 ^= $x1; $x1 <<= 8; $x1 |= ($x0 >> 8); $x0 <<= 8; $y0 -= $x0; $y1 -= $x1; $x1 <<= 8; $x1 |= ($x0 >> 8); $x0 <<= 8; $y0 ^= $x0; $y1 ^= $x1; $z = $y0 & 0x1F; $y0 &= 0xFFFF; $y1 &= 0xFFFF; if ($z <= 16) { $tmp= ($y1 << $z) | ($y0 >> (16-$z)); $y0 = ($y1 >> (16-$z)) | ($y0 << $z); $y1 = $tmp; }else{ $tmp= $y0 << ($z-16); $y0 = ($y0 >> (32-$z)) | ( (($y1 << $z) >> $z) << ($z-16) ); $y1 = ($y1 >> (32-$z)) | $tmp; } $y0 &= 0xFFFF; $y1 &= 0xFFFF; } $hash = hexdec(sprintf("%04x%04x", $y1, $y0)); settype($hash, 'integer'); return $hash; } function get_gg_status($numer_gg, $haslo_gg, $szukany_numer, &$error) { define("GG_LOGIN60", 0x0015); define("GG_STATUS_AVAIL", 0x0002); define("GG_LOGIN_OK", 0x0003); define("GG_NOTIFY", 0x0010); define("GG_USER_NORMAL", 0x0003); $fp = fsockopen("91.197.13.24", 8074, $errno, $errstr, 10); if (!$fp) { $error = "PROBLEM Z POLACZENIEM: $errno - $errstr\n\n"; return false; } if (!$data = fread($fp, 12)) { $error = "Polaczenie nieoczekiwanie zamkniete\n\n"; return false; } $tab = unpack("Vtyp/Vrozmiar/Vklucz", $data); $hash = oblicz_hash($haslo_gg, $tab['klucz']); $data = pack("VVVVVVvVvVvCCa".strlen(""), GG_LOGIN60, 0x20 + strlen(""), $numer_gg, $hash, GG_STATUS_AVAIL, 0x20, 0, 0, 0, 0, 0, 0x14, 0xbe , ""); fwrite($fp, $data); if (!$data1 = fread($fp, 8)) { $error = "Nie rozpoznany blad\n"; return false; } $tab = unpack("Vlogin_status/Vrozmiar", $data1); if($tab['login_status'] != GG_LOGIN_OK) { $error = "Nie prawidłowe hasło...\n\n"; return false; } $data = pack ("VVVC",GG_NOTIFY, 5, $szukany_numer, GG_USER_NORMAL); if(!fwrite($fp,$data)) { $error = "Blad wysylania listy kontaktow\n\n"; return false; } $data = fread($fp, 8); $tab = unpack("Vtyp/Vrozmiar", $data); $data = fread($fp, $tab['rozmiar']); fclose($fp); $tablica = @unpack("Iuin/Cstatus/Iremoteip/Sremoteport/Cversion/Cimagesize/Cunknown/Cdescription_size/a*", $data); return $tablica[1]; } function getOpis($numerBramki, $hasloBramki, $numerSpr){ $dostepny = '<img src="http://www.gadu-gadu.pl/users/status.asp?id='.$numerSpr.'&styl=3">'; if (get_gg_status($numerBramki, $hasloBramki, $numerSpr, $error) == '') { $getOpis = ''; } else { $getOpis = 'Z opisem: '.get_gg_status($numerBramki, $hasloBramki, $numerSpr, $error); } $opis = 'W tej chwili jestem: '.$dostepny.' <br /> '.$getOpis.'<br />'; return $opis; } ?> Sposób użycia: Kod echo getOpis('numer_bramki', 'haslo_bramki', 'nr_gg_do_sprawdzenia'); Źródło dostępne również pod adresem: http://chez.ovh.org/opis.phps |
|
|
![]() ![]()
Post
#46
|
|
Grupa: Zarejestrowani Postów: 439 Pomógł: 21 Dołączył: 28.06.2007 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
Dobry, akurat czegoś takiego potrzebuje, ale wywala mi:
Cytat Warning: fsockopen() [function.fsockopen]: unable to connect to 91.197.13.24:8074 (Connection timed out) in /home/a3880550/public_html/index.php on line 42 jak już wyczytałem, pewnie nie działa bo pozmieniali coś w gg... ale pytam - działa czy ja coś źle robie? A jak nie działa, istnieje coś co działa? Z góry, dzięki:)) |
|
|
![]()
Post
#47
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 8.03.2020 Ostrzeżenie: (0%) ![]() ![]() |
Witam Panowie,
Wybaczcie proszę offtopic, ale potrzebuję aktualnej (działającej) wersji tego skryptu. Prosiłbym o podesłanie (IMG:style_emoticons/default/smile.gif) Pozdrawiam. |
|
|
![]()
Post
#48
|
|
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%) ![]() ![]() |
Jak mogłeś zauważyć ostatnia wiadomość w temacie miała miejsce 11 lat temu i dotyczyła problemów z funkcjonowaniem przedstawionego rozwiązania.
Obawiam się, że przez te 16 lat od kiedy pierwotny kod powstał, mogło mieć miejsce wiele zmian w funkcjonowaniu GG i jego protokołu - zwłaszcza, że po drodze zmienił się nie tylko komunikator ale i jego właściciel (IMG:style_emoticons/default/wink.gif) Z tego co na szybko poszukałem, to biblioteka libgadu jest aktualizowana, więc w niej możesz szukać pomocy (IMG:style_emoticons/default/smile.gif) https://github.com/wojtekka/libgadu |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 11:50 |