Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

5 Stron V  « < 2 3 4 5 >  
Reply to this topicStart new topic
> Skrypty do generowania sygnaturek, na grafikach
.dragonfly
post
Post #61





Grupa: Zarejestrowani
Postów: 217
Pomógł: 0
Dołączył: 5.10.2003
Skąd: Londyn / UK

Ostrzeżenie: (0%)
-----


@party: nie, byl to prawdopodobnie problem z serwerem na ktorym dziala IDNSigner
Go to the top of the page
+Quote Post
Vertical
post
Post #62





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


@party: Mi by się przy okazji też przydał taki skrypt... Wystarczy, żeby sprawdził dostępny-z/w-niedostępny...
Go to the top of the page
+Quote Post
rogrog
post
Post #63





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

Ostrzeżenie: (0%)
-----


Cytat(Vertical @ 2004-09-30 18:34:38)
nie wiem, czy tym postem nie zacząłeś się "wymądrzać" bardziej ode mnie.

chyba zacząłem, może trochę za mocno, ale jeśli już ktoś się wymądrza to dobrze jeśli mówi prawidłowo (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
Bakus
post
Post #64


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%)
-----


@party: chodzi o opis... ( http://gg.siedziba.pl/usage.php - przykład 4)
@kAzu^: pisałem w tym wątku o tym dlaczego niektórzy mogą mieć problemy z dostępem do serwera... ( forum.php.pl/...&p=127030 )
Go to the top of the page
+Quote Post
FiDO
post
Post #65





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

Ostrzeżenie: (0%)
-----


Opis z gg wyciąga się równie prosto co status.
http://gg.siedziba.pl/status.php?uid=255706&js=2
Format jest dosc prosty jak widac, sparsowanie tego to formalnosc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Opis jest co prawda w hexach i jeszcze Unicode ale to nie problem przerobic to na tekst (raczej i tak trzeba ignorowac starszy bajt, przynajmniej do czasu kiedy zaprzegniecie do pracy czcionke UTF, ale to chyba szkoda czasu na to, GG nie osiagnelo jakos miedzynarodowej popularnosci, ale grunt ze autor byl na to przygotowany :]).
Jedynym mankamentem jest to, ze trzeba miec odznaczone pole "Tylko dla znajomych", no ale albo rybki, albo akwarium.. zreszta jest to dosc logiczne, w koncu jak ktos pokazuje opis tylko znajomym to dlaczego mialby on byc dostepny przez w/w skrypt dla osob trzecich.
Przejscie z jednego koloru do drugiego przechodzac przez jakis posredni (a moze nawet kilka..) tez nie jest wbrew pozorom trudne, a przynajmniej mam w glowie calkiem prosta koncepcje jak to zrobic.
Sprawdze ją jutro i jak zadziala to sie pochwale (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Rozumiem, że tablica (ilosc elementow - czyli dokladnosc - do ustalenia) kolorow wynikowych wystarczy? :]
Go to the top of the page
+Quote Post
Bakus
post
Post #66


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%)
-----


Udało mi się napisać sałość do wyciągania opisów... Nie wiem jeszcze, czy działa we wszystkich przypadkach, ale jak na razie nie pokazuje bzdur...
  1. <?php
  2. /* Skrypt napisany w oparciu o klasę www2gg (http://gg.wha.la/)
  3.  * i opis protokołu GaduGadu z projektu EKG (http://dev.null.pl/ekg/docs/protocol.html)
  4.  * Kod można dowolnie wykorzystać pod warunkiem pozostawienia niniejszego koment
  5. rza
  6.  * Kod jest udostępniony na zasadach OpenSource.
  7.  *
  8.  * @author: Krzysztof Andrzej Błachut vel Bakus <bakus@idn.net.pl>
  9.  * @copyright: 2004 by Krzysztof Andrzej Błachut vel Bakus
  10.  * @package: OpisGG
  11.  * @version: 0.9
  12.  */
  13.  
  14. // Login i hasło GG dla skryptu
  15. $numer_gg =;
  16. $haslo_gg = '';
  17. // Numer GG, którego opis chcemy wyświetlić
  18. $szukany_numer = 1247858;
  19.  
  20. /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
  21.  
  22.  
  23. define(&#092;"GG_LOGIN60\", 0x0015);
  24. define(&#092;"GG_STATUS_AVAIL\",  0x0002);
  25. define(&#092;"GG_LOGIN_OK\",  0x0003);
  26. define(&#092;"GG_NOTIFY\",  0x0010);
  27. define(&#092;"GG_USER_NORMAL\", 0x0003);
  28.  
  29. function oblicz_hash ($haslo, $klucz)
  30. {
  31. $x0=0; $x1=0; $y0=0; $y1=0; $z=0; $tmp=0;
  32. $y0 = ($klucz << 16) >> 16; $y1 = $klucz >> 16 ;
  33. for ($i=0; $i<strlen($haslo); $i++)
  34. {
  35. $x0 = ($x0 & 0xFF00) | ord($haslo[$i]); $x1 &= 0xFFFF;
  36. $y0 ^= $x0; $y1 ^= $x1;
  37. $y0 += $x0; $y1 += $x1;
  38. $x1 <<= 8; $x1 |= ($x0 >> 8); $x0 <<= 8;
  39. $y0 ^= $x0; $y1 ^= $x1;
  40. $x1 <<= 8; $x1 |= ($x0 >> 8); $x0 <<= 8;
  41. $y0 -= $x0; $y1 -= $x1;
  42. $x1 <<= 8; $x1 |= ($x0 >> 8); $x0 <<= 8;
  43. $y0 ^= $x0; $y1 ^= $x1;
  44. $z = $y0 & 0x1F;
  45. $y0 &= 0xFFFF; $y1 &= 0xFFFF;
  46. if ($z <= 16)
  47. {
  48. $tmp= ($y1 << $z) | ($y0 >> (16-$z));
  49. $y0 = ($y1 >> (16-$z)) | ($y0 << $z);
  50. $y1 = $tmp;
  51. }else{
  52. $tmp= $y0 << ($z-16);
  53. $y0 = ($y0 >> (32-$z)) | ( (($y1 << $z) >> $z) << ($z-16) );
  54. $y1 = ($y1 >> (32-$z)) | $tmp;
  55. }
  56. $y0 &= 0xFFFF; $y1 &= 0xFFFF;
  57. }
  58. $hash = hexdec(sprintf(&#092;"%04x%04x\", $y1, $y0));
  59. settype($hash, 'integer');
  60. return $hash;
  61. }
  62.  
  63. /* Funkcja pobiera z serwera GaduGadu opis dla podanego numeru.
  64.  *
  65.  * @param int Numer GG \"bramki\"
  66.  * @param string Hasło GG \"bramki\"
  67.  * @param int Numer GG, którego opis funkcja ma pobrać
  68.  * @param var Zmienna w której umieszczony będzie ewentualny komunikat błęd
  69.  
  70.  * @return mixed Zawiera Opis numeru GG, lub false w przypadku błędu
  71.  */
  72. function get_gg_status($numer_gg, $haslo_gg, $szukany_numer, &$error)
  73. {
  74. // Ustawianie stałych na potrzeby protokołu
  75. define(&#092;"GG_LOGIN60\", 0x0015);
  76. define(&#092;"GG_STATUS_AVAIL\",  0x0002);
  77. define(&#092;"GG_LOGIN_OK\", 0x0003);
  78. define(&#092;"GG_NOTIFY\",  0x0010);
  79. define(&#092;"GG_USER_NORMAL\", 0x0003);
  80.  
  81. $fp = fsockopen( &#092;"appmsg.gadu-gadu.pl\", 80, $errno, $errmsg, 3 );
  82. if (!$fp)
  83. {
  84. $error = &#092;"BRAK POLACZENA Z APPMSG.GADU-GADU.PL, MOZE BYC PRZECIAZONY: \" . $errno . \" - \" . $errstr . \"n\";
  85. return false;
  86. }else{
  87. $get = &#092;"GET /appsvc/appmsg.asp?fmnumber=<$numer_gg> HTTP/1.0rn\";
  88. $get.= &#092;"Host: appmsg.gadu-gadu.plrn\";
  89. $get.= &#092;"User-Agent: Mozilla/4.7 [en] (Win98; I)rn\";
  90. $get.= &#092;"Pragma: no-cachernrn\";
  91. fputs($fp, $get);
  92. fgets($fp, 128);
  93. fgets($fp, 128); 
  94. $buf = fgets($fp, 128);
  95. preg_match(&#092;"/s([d.]{8,16}):([d]{1,5})s/\", $buf, $adres);
  96. $host = $adres[1];
  97. $port = $adres[2];
  98. fclose($fp);
  99. }
  100.  
  101. // Ustanawianie połączenia z serwerem GG
  102. $fp = fsockopen($host, $port, $errno, $errstr, 10);
  103. if (!$fp)
  104. {
  105. $error = &#092;"PROBLEM Z POLACZENIEM: $errno - $errstrnn\";
  106. return false;
  107. }
  108. if (!$data = fread($fp, 12))
  109. {
  110. $error = &#092;"Polaczenie nieoczekiwanie zamknietenn\";
  111. return false;
  112. }
  113.  
  114. // Pobieranie danych z serwera - odbiór klucza do wygenerowania hasha hasła
  115. $tab = unpack(&#092;"Vtyp/Vrozmiar/Vklucz\", $data);
  116. // obliczanie hasha hasła
  117. $hash = oblicz_hash($haslo_gg, $tab['klucz']);
  118. $data = pack(&#092;"VVVVVVvVvVvCCa\".strlen(\"\"), GG_LOGIN60, 0x20 + strlen(\"\"),
  119. $numer_gg, $hash, GG_STATUS_AVAIL, 0x20, 0, 0, 0, 0, 0, 0x14, 0xbe , &#092;"\");
  120. // wysłanie hasha hasła
  121. fwrite($fp, $data);
  122. if (!$data1 = fread($fp, 8))
  123. {
  124. $error = &#092;"Nie rozpoznany bladn\";
  125. return false;
  126. }
  127. $tab = unpack(&#092;"Vlogin_status/Vrozmiar\", $data1);
  128. if($tab['login_status'] != GG_LOGIN_OK)
  129. {
  130. $error = &#092;"Nie prawidłowe hasło...nn\";
  131. return false;
  132. }
  133.  
  134. // Wysłanie listy kontaktów z jednym numerem
  135. $data = pack (&#092;"VVVC\",GG_NOTIFY, 5, $szukany_numer, GG_USER_NORMAL);
  136. if(!fwrite($fp,$data))
  137. {
  138. $error = &#092;"Blad wysylania listy kontaktownn\";
  139. return false;
  140. }
  141. // Odebranie pakietu ze specyfikacją następnego pakietu
  142. $data = fread($fp, 8);
  143. $tab = unpack(&#092;"Vtyp/Vrozmiar\", $data);
  144. // Pobranie pakietu opisu
  145. $data = fread($fp, $tab['rozmiar']);
  146. // Zamknięcie połączenia z serwerem
  147. fclose($fp);
  148. // Przetworzenie znaków końca linii na spacje
  149. $status_kontaktu = str_replace(&#092;"n\", ' ', $data);
  150. // Wycięcie zbędnych znaków na początku opisu
  151. return substr($status_kontaktu, 16);
  152. }
  153. ?>


A funkcja "kolorująca"...
  1. <?php
  2. /* Generowanie koloru paska (jeżeli nie istnieje w tablicy kolorów) */
  3. if (empty($kolory[$this->__data[$i][&#092;"proc\"]]))
  4. {
  5. if ($this->__data[$i][&#092;"proc\"] < 50)
  6. {
  7. $kolory[$this->__data[$i][&#092;"proc\"]] = imagecolorallocate($img, 255, ($this->__data[$i][\"proc\"] * 5), 0);
  8. }elseif ($this->__data[$i][&#092;"proc\"] == 50){
  9. $kolory[$this->__data[$i][&#092;"proc\"]] = imagecolorallocate($img, 255, 255, 0);
  10. }else{
  11. $kolory[$this->__data[$i][&#092;"proc\"]] = imagecolorallocate($img, (250 - ($this->__data[$i][\"proc\"] * 5)), 255, 0);
  12. } 
  13. }
  14. ?>

Ta cała zabawa z tablicą kolorów jest potrzebna by przy posiadaniu większej ilości przejść w jednym kolorze nie duplikować tych samych kolorów w palecie obrazka (dzięki temu obrazek jest te parę bajtów mniejszy)...
(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
FiDO
post
Post #67





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

Ostrzeżenie: (0%)
-----


Ten sposob wyciagania opisu tez niewiele daje, bo nadal jak ktos ma zaznaczone "Tylko dla znajomych" to nie bedzie go widac. No chyba, ze osoba ktora ma status "Tylko dla znajomych" doda sobie Twoj numer (czy przez jaki tam bedziesz to sprawdzal) do kontaktow (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Co do gradientow to napisalem dzisiaj rano klase do generowania kolorow od dowolnego do innego dowolnego z dowolna iloscia kolorow posrednich i dowolna iloscia kroków przejść. Chcialem przyniesc, ale nie chcialo mi sie odpalac Nero, wiec nagralem na flopa, ktory mnie zawiodl (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Jakby ktos chcial to moge podrzucic wieczorem.

BTW. nie jestem moze jakims znawca angielskiego, ale wydaje mi sie ze powinno byc "You don't have an account?" a jeszcze lepiej brzmi "You don't have an account yet?".
Go to the top of the page
+Quote Post
Bakus
post
Post #68


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%)
-----


Wybrałem tą drugą wersję (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

A co do gradientów - jak na razie nie planuje możliwości zmiany koloru pasków, ale może komuś się przyda...

UpDated:
@FiDO: http://forum.php.pl/index.php?showtopic=21552 - tu miałbyś miejsce na publikację tej klasy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
party
post
Post #69





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 19.08.2003
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Cytat(Bakus @ 2004-10-01 23:47:38)
@party: chodzi o opis... ( http://gg.siedziba.pl/usage.php - przykład 4)

Dokładnie o to mi chodziło...
Go to the top of the page
+Quote Post
Vengeance
post
Post #70





Grupa: Zarejestrowani
Postów: 657
Pomógł: 2
Dołączył: 15.08.2003
Skąd: Łódź

Ostrzeżenie: (0%)
-----


bardzo fajny pomysl z tym projektem ;]
Go to the top of the page
+Quote Post
Bakus
post
Post #71


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%)
-----


dzięki napisanej przezemnie funkcji do pobierania statusów z GG (źródła) można wstawiać do podpisów swój opis z GG...

By wstawić opis należy wpisać {GG:0000000} (zamiast zer wpisz numer GG).
Ten ciąg znaków zostanie zamieniony na podpis z GG... wielkosć liter nie ma znaczenia...
Go to the top of the page
+Quote Post
party
post
Post #72





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 19.08.2003
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


U mnie jest pusta linijka zamiast statusu...
Go to the top of the page
+Quote Post
MoD
post
Post #73





Grupa: Zarejestrowani
Postów: 193
Pomógł: 0
Dołączył: 14.09.2003
Skąd: Brodnica (koło Torunia)

Ostrzeżenie: (0%)
-----


Cytat(party @ 2004-10-07 11:31:32)
U mnie jest pusta linijka zamiast statusu...

Jak wyżej. Czy na IE można się już wylogować (nie chce mi sie sprawdzać (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) )(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
Ive
post
Post #74





Grupa: Zarejestrowani
Postów: 352
Pomógł: 1
Dołączył: 17.07.2003
Skąd: Kazanów

Ostrzeżenie: (0%)
-----


ta.. super skrypcik ale opis gg musisz naprawic (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
[edit]
i jeszcz moglbys dorzucic w kodzie cos takiego ze jak nie ma zadnej linijki dodanej to zeby nie wyswietlal kwadrata z iksem tylko jakis napis etc. [albo po prostu nic nie wyswietlal (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ] (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował Ive 7.10.2004, 13:57:11
Go to the top of the page
+Quote Post
Bakus
post
Post #75


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%)
-----


Ive: cenna uwaga z tym kwadratem... Trafiło do mantisa...
Co do GG... wystąpiły pewne błędy z kompatybilnością wersji u mnie i na serwerze i niestety musiałem przywrócić starszy dump...

MoD: Postanowiłem olać IE... po zamknięciu okna przeglądarki sesja jest automatycznie tracona (brak cookie). To samo się dzieje po 30 minutach, gdy serwer usuwa stare pliki z informacjami sesji...

UpDated:
- Funkcja wyciągająca opisy GG ciągle płata mi figle, więc jak na razie jest eksperymentalnie.
- Jako, że kAzu^ odszedł z przyczyn osobistych sam dodałem color picker.
- W konfiguracji istnieje już możliwość ustawienia maksymalnej ilości linijek do wyświetlenia. By w miarę trzymać się regulaminy php.pl ustawiłem, że max il. linijek to 4.
- Przy braku danych podgląd nie jest wyświetlany.

Ten post edytował Bakus 14.10.2004, 00:36:16
Go to the top of the page
+Quote Post
shpyo
post
Post #76





Grupa: Zarejestrowani
Postów: 574
Pomógł: 2
Dołączył: 13.04.2004
Skąd: Lublin

Ostrzeżenie: (0%)
-----


błąd: może to mały i nieznaczący błąd jednak myślę, że warto o nim wspomnieć.

Przy usuwaniu linijki pojawia się komunikat: Are You Shure?
powinno być sure! Literówki się każdemu zdarzają (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

tak samo tutaj " Settings is saved to database" - powinno być are.

sprawdźcie jeszcze w innych miejscach! wstyd (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Ten post edytował shpyo 16.10.2004, 07:55:52
Go to the top of the page
+Quote Post
Fipaj
post
Post #77





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 19.01.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Mam problem: ponieważ nie za bardzo mi linux ostatnio chodzi, a nie znam programu odtarowującego pliki tar dla wingrozy, to czy mógłbyś, bakus, udostępnić wersję zzipowaną bądź zrarowaną(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
Vertical
post
Post #78





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


tary obsługuje WinACE [download]

Ten post edytował Vertical 23.02.2005, 16:30:08
Go to the top of the page
+Quote Post
Fipaj
post
Post #79





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 19.01.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Wielkie dzięki... już pobrałem
Go to the top of the page
+Quote Post
Bakus
post
Post #80


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%)
-----


Zapraszam na oficjalną stronę download skryptu IDNSigner:
http://opensource.idn.net.pl/idnsigner/

Najprawdopodobniej już wkrótce uruchomiony zostanie dostęp do źródeł przez CVS/SVN i rsync.

Fipaj: Total Commander także obsługuje ten typ archiwów...
Go to the top of the page
+Quote Post

5 Stron V  « < 2 3 4 5 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.04.2026 - 19:34