Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypty do generowania sygnaturek
Forum PHP.pl > Inne > Oceny
Stron: 1, 2
Vertical
Cytat
Dla np. Angilka to nie jest mały szczegół smile.gif

Ale znając Polaków domyśli się o co chodzi winksmiley.jpg
Bakus
Jak by nie było jest poprawione... smile.gif
Może ktoś z Was przetłumaczy to na inny język... smile.gif (niemiecki, włoski, francuski, chiński tradycyjny smile.gif )
MoD: IE5.5 niestety nie mam, ale na 6.0 (WinXP SP2) działa jak należy...
Pod linksem się z kolei zapętla przekierowanie po logowaniu i nie działa wylogowanie, ale mniewam, iż jak ktoś chce posiadać sygnaturkę na obrazku, to nie będzie korzystał z linksa smile.gif
kicaj
...przyznam sie ze nie czytalem w/w opini i ocen smile.gif

Pomysl i idea skryptu podoba mi sie, ale nie do konca. Ten skrypt mozna zastosowac w jakims innym celu, jaki jest sens robienia sygnaturek w obrazku? Czy nie szybiciej laduje sie sam tekst? Czy zeby zmienic kilka procentow, czy dana linike trzeba sie osobno zalogowac na innej stronie... tutaj nie wiedze sesnu stosowania tego na forum.

Ale ogolnie podoba mi sie, zastosowanie do czegos innego byloby lepszym rozwiazaniem smile.gif
bela
@kicaj_: do czego byś zastosował ten skrypt?
Bakus
@kicaj_: Skrypt jest przeznaczony (o czym pisałem) dla ludzi posiadających wiele kont na wielu forach - by chcąc zmienić właśnie "te pare procent" nie musieli wchodzić na wszystkie fora...
rogrog
Cytat(Vertical @ 2004-09-29 19:57:28)
Powinno być "When DO you want(...)" ale to tylko mały szczegół... smile.gif

no co Ty? jak już, to powinno być when you want to use a progress bar.

When do you want? - to by było jak byś się kogoś na prawdę pytał kiedy chce, ale w takim zdaniu jak ww. when pełni funkcję if ("if you want to use a progress bar" ma to samo znaczenie).

lepiej się nie wymądrzaj jak nie wiesz, bo się narazisz na kompromitację winksmiley.jpg

Cytat
Dla np. Angilka to nie jest mały szczegół

Mało który rodowity Anglik przestrzega reguł Standard English. Wielu mówi np. w ten sposób: "You was in pub yesterday?" - jest to sprzeczne z tymi wszystkimi zasadami, których się uczymy ("po you jest zawsze were"), ale Angielski po prostu ma różne dialekty, a sztucznie wytworzonym Standard English posługują się tylko nieliczni.
Vertical
Cytat
lepiej się nie wymądrzaj jak nie wiesz, bo się narazisz na kompromitację

Oj już nie bądź takim cha... Nie chcę się wymądrzać, tylko poradzić... nie wiem, czy tym postem nie zacząłeś się "wymądrzać" bardziej ode mnie.
Cytat
Mało który rodowity Anglik przestrzega reguł Standard English. Wielu mówi np. w ten sposób: "You was in pub yesterday?" - jest to sprzeczne z tymi wszystkimi zasadami, których się uczymy ("po you jest zawsze were")

To najpierw mówisz, żebym się nie wymądrzał, a później sadzisz teksty o "rodowitych Anglikach"... nic do Ciebie nie mam, ale mógłbyś chociaż TYLKO poprawić mnie i już. Po prostu zamknijmy sprawę...
party
Może by dodać pogrubienie tekstu?
Bakus
party: jak narazie pogrubiebie nie wchodzi w rachubę - wykorzystujemy standardową czcionkę z php...
Jak kAzu^ zaimplementuje zastosowanie czcionek TTF, to taka opcja będzie najprawdopodobniej dostępna...
Jak na razie zmagam się z pokazywaniem podpisu z GG jako element sygnaturki (wstawiany przez {gg:1234567} )

P.S. Udało się to komuś wyciągnąć?
party
Wyciągnięcie statusu (dostępny, z/w, niedostępny) to żaden problem, jak chcesz to mogę dać Ci taki kod. Gorzej ze statusami opisowymi, ale w necie gdzieś widziałem gotowy skrypt do tego.

PS. Obrazki w sygnaturkach zostały wyłączone?
.dragonfly
@party: nie, byl to prawdopodobnie problem z serwerem na ktorym dziala IDNSigner
Vertical
@party: Mi by się przy okazji też przydał taki skrypt... Wystarczy, żeby sprawdził dostępny-z/w-niedostępny...
rogrog
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 winksmiley.jpg
Bakus
@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 )
FiDO
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 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 smile.gif
Rozumiem, że tablica (ilosc elementow - czyli dokladnosc - do ustalenia) kolorow wynikowych wystarczy? :]
Bakus
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)...
smile.gif
FiDO
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 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 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?".
Bakus
Wybrałem tą drugą wersję 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 smile.gif
party
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...
Vengeance
bardzo fajny pomysl z tym projektem ;]
Bakus
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...
party
U mnie jest pusta linijka zamiast statusu...
MoD
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ć smile.gif )questionmark.gif
Ive
ta.. super skrypcik ale opis gg musisz naprawic 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 tongue.gif] smile.gif
Bakus
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.
shpyo
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ą tongue.gif

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

sprawdźcie jeszcze w innych miejscach! wstyd tongue.gif
Fipaj
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ąquestionmark.gif
Vertical
tary obsługuje WinACE [download]
Fipaj
Wielkie dzięki... już pobrałem
Bakus
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...
Fipaj
Odczytałem ten plik IDNSignerem... i jednym słowem strasznie trudny... Może jakaś wersja Mini, bez dodatkowych wodotrysków??
Bakus
Kod został uproszczony z wersji jaka była na początku, bardzo dużą wagę przyłożyłem do stosowania komentarzy nie tylko w definicjach zmiennych czy funkcji, ale również wewnątrz nich.

Wszystkie komentarze są w języku polskim, w tym temacie jest już ponad 80 postów - jest z czego korzystać. Nic nie stoi na przeszkodzie, by zadawać pytania na temat w/w skryptu w tym temacie.

Planowane jest przepisanie kodu na kod używający dodatków plugin, ale nie nastąpi to szybko - poza pracą w tygodniu, mam jeszcze szkołę w soboty i niedziele, opiekę nad rodzeństwem i domem oraz chęć spędzania czasu ze znajomymi. smile.gif
_Mateo
Panowie, odwaliliscie kawał dobrej roboty! swietny pomysl, a i wykonanie nie byl jakie! oby tak dalej winksmiley.jpg
Kreton
Cytat
podałeś jak od czarnego (0%) przejść do białego(100%) a tu chodzi o przejście od czerwonego przez źółty o zielonego...


Ostatecznie można zrobić np 10 progów, w tablicy przechowywać "kolory". Po przekroczeniu następnego progu ( 10% ) Brany jest pod uwagę kolejny element tablicy - kolor. Poza tym wątpię ,żeby ktoś miał aż tak wprawne oko żeby odróżniać od siebie kolory które tylko bardzo nieznacznie się zmieniły. Szczególnie na tak małym obrazku jakim jest ten pasek postępu. Myślę ,że ilość tych progów można jeszcze zmienić, ale w zasadzie uważam ,że nie ma po co.
Turgon
A nie prościej Kreton wziąść Photoshopa lub Gimpka jak kto woli i porobić gradienty i na ich podstawie tworzyć ?
Kreton
Chciałem dopisać tylko, że użył bym Photoshopa do zrobienia tego gradientu i pocięcia go na 10 części, i potem zapisałbym ten kod 16-owy i już smile.gif

Turgon, ale jak z tymi gradientami ? Potem zapisujesz je czy coś w tym stylu ? bo nie rozumiem tongue.gif Z tego co wcześniej zrozumiałem, na belce z procentowym postępem nie ba być grandientu, tło ma być jednolite, ale kolor ma się zmieniać jak w gradniencie. Nie wiem czy dobrze to wytłumaczyłem tongue.gif
Turgon
Bo ja zrozumiałem, że tło ma być gradientowe... Obecnie kolor się zmienia i jest okej nawet. Ale ja chyba wezmę skrypcik i przerobię smile.gif .
BDCC
1. Serwer na którym jest skrypt nie działa.
2. Dalej jest ten skrypt rozwijany?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.