Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

4 Stron V   1 2 3 > »   
Reply to this topicStart new topic
> ShoutBox (mini chat), [klasa] php5
nospor
post
Post #1





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




info (demo na stronie)
pobierz

Prezentuje Wam moją nową klasę ShoutBox. Jak nazwa wskazuje jest to ShoutBox (IMG:style_emoticons/default/smile.gif)
Zadaniem klasy jest zarządzanie dodawaniem jak i pobieraniem wiadomości. Wiadomości zapisywane są w bazie MySql. W paczce załączony jest sql do wygenerowania tabeli.
Mozna określić ile na początek należy zaladować wiadomości (gdy wchodzimy pierwszy raz na strone), limit pobrania wiadomości (by nikt nie pobral nam calej tabeli). Możemy sami określic jak chcemy by formatowany był czas, nick, wiadomość. Wystarczy tylko zaimlementować interfejs ShoutBoxFormatter, ktory zostal stworzony na tę okoliczność. Oczywiscie klasa dostarczą domyslną implementację.
Klasa generuje xml z wiadomościami. Dodatkowo każda wiadomość zawiera informację, kto ją napisal:
- administrator
- uzytkownik, ktory ją teraz czyta
- kazdy inny uzytkownik
Dzieki tej informacji można w inny sposob wyswietlic wiadomość.

Do klasy można zapodać ID ostatnio czytanej wiadomości, dzięki czemu klasa będzie biegla do bazy tylko wtedy, gdy pojawią sie nowe wiadomości.
Można zapodać wlasną funkcję lączącą sie z bazą, dzieki temu połączenie do bazy bedzie nawiązywane tylko wtedy gdy to konieczne.

Administrator może dodawać wlasne wiadomości w przypadku roznych okoliczności.

Do wersji 1.0 planuje dorobic cache'owanie wiadomości, zapamietywanie stanu sesji uzytkownika (nawet jak odswierzy strone, to dostanie wszystkie wiadomosci co czytal od poczatku) no i oczywiscie wasze uwagi.

Klasa nie udostępnia wlasnego logowania. Można ją bez problemu podlączyc do wlasnego systemu i przekazac klasie dane uzytkownika.

W paczce znajduje się przykladowy skrypt korzystający z klasy. Zawiera on banalne logowanie, w ktorym nalezy zapodać nick, haslo i kolor.
Jesli podamy nick blocked, uzytkownik ten nie bedzie mogl pisac wiadomosci. Przy probie wyslania wiadomosci, otrzyma komunikat od admina.

Zapraszam do korzystania, testowania i zglaszania uwag (IMG:style_emoticons/default/smile.gif)


ps2: podziękowania dla mike_mech za CSS (IMG:style_emoticons/default/smile.gif)

edit:
Skrypt, ktory korzysta z klasy to tylko przyklad, by zademonstrować jak uzywać tej klasy. Pisany byl na szybko by moc pokazac cos w praktyce. Takze system logowania, zapisywanie błędow jak widać nie należą do najbardziej rozbudowanych (IMG:style_emoticons/default/smile.gif)
Prosze więc komentarze wstylu: ze jest wyjatek a potem trigger se darowac, bo to jest kod poza klasą (zresztą juz nie ma bo usunalem, by nie drażnić co poniektorych)

edit 2007-01-18
No i jest wersja 0.8.
Z ważniejszych nowości:
- Możliwość podpiecia drugiej tabeli, z której bedziemy czerpac dodatkowe dane. Jest to przydatne dla nowosci opisanej ponizej.
- Każdy użytkownik może określić wygląd swojej wiadomości (o ile mu na to pozwolimy (IMG:style_emoticons/default/winksmiley.jpg) ). W przykladzie, co jest zalączony do klasy, kazdy uzytkownik może określić kolor swojego nicka. Skrypt na chwile obecna ma zaimplementowane ustawianie dla danej wiadomosci klas: diva wiadomosci, czasu, nicka, textu oraz styli dla: diva wiadomosci, czasu, nicka, tekstu.
- Moderacja wiadomości (edycja, usuwanie). Do tego celu wprowadzilem kolejny sterownik. Mozna okreslic globalnego moderatora lub tez moderatora na konkretne wiadomości (np. uzytkownik może moderowac tylko swoje wiadomości). Kasowanie odbywa sie poprzez wcisniecie ikonki usuwania. Aby edytowac należy kliknąc na tekscie wiadomości i.... sami zobaczycie.
- Po ostatnich postach uzytkownika, co mial ID usera jako tekst, wprowadzilem ulatwienie na te okolicznosc.
- inne drobne poprawki

Edit 2007-03-26
Wersja 1.0. Nowości:
przeglądanie historii (w przykładzie zwykli userzy mają ograniczone przegladanie. Ja moge całą przegladac. Oczywiscie jest to konfigurowalne)
- blokada scrolla - gdy cos czytamy a ktos cos napisze to nam juz sie to nie przesuwa do nowej wiadomosci
- poprawiony antyflooding
- komendy. wpiszcie sobie, np. /help i cos sie stanie . Oczywiscie kazdy bedzie mogl tworzyc swoje wlasne komendy.
- uzytkownicy online. Mozecie podpiąc swoj wlasny mechanizm online, lub korzystac z mojego banalnego co dołączylem do przykladu
- skrypt js napisalem teraz jako klasa
- możliwość skakania po użytkownikach online przy użyciu tabulatora. Wpiszcie pierwsze litery nicka, wciśnijcie tabulator i skrypt sam wam znajdzie usera. Możecie też nic nie wpisywać, wowczas skakać będziecie po wszystkich userach.

edit 2007-06-14
Wersja 1.1 wprowadza interfejs baz danych, umożliwiający przechowywanie danych gdziekolwiek.

edit 2008-06-16
wersja 1.2 http://nospor.pl/shoutbox-1.2-n30.html

Poprawienie obsługi komend
Kompresja gzip
Automatyczne czyszczenie starych wiadomości
Zmiana metod formatujących
Logowanie IP
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Zaczne od wad (moze dojde do zalet (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ):

*
  1. CREATE TABLE ........
  2. CHARSET=latin1


a ogonki?

*
  1. <?php
  2. catch (ShoutBoxException $ex){
  3. trigger_error($ex->getMessage(), E_USER_WARNING);
  4. }
  5. ?>


troche sie zalamalem, skoro uzywasz wyjatkow to po co je konwertowac do Errorow i logowac? nie prosciej uzyc bezposrednio loggera?


* nie dziala mi (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) skonfigurowalem baze ale sypie sie JS i nic sie nie wyswietla (poza szsablonem shoutboxa), nie chce mi sie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
sf
post
Post #3





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


Nie wiem czemu, ale czasem wiadomość, którą wpisze pojawia się dwa razy (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
a ogonki?
Wejdź na moj shoutbox online a zobaczysz ze są (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Cytat
troche sie zalamalem, skoro uzywasz wyjatkow to po co je konwertowac do Errorow i logowac? nie prosciej uzyc bezposrednio loggera?

Ale ten kawalek kodu jest poza klasą. W tym przykladzie logowanie jest zrobione tylko poto, by zonaczyc ewnetnualne NOTICY czy WARNINGI. Zapiuje do logu w handlerze, wiec jesli przechwyce jakis EXCEPTION, to i w handlerze chcialem go zapisac. Ale to byl tylko PRZYKLAD i lenistwo. Nie chcialo mi sie logowania w przykladzie dopieszczac, skoro i tak jesli ktos tego uzyje na powaznie to bedzie mial wlasne.

Cytat
ie dziala mi skonfigurowalem baze ale sypie sie JS i nic sie nie wyswietla (poza szsablonem shoutboxa), nie chce mi sie
Byc moze źle skonfigurowales (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Js sie sypie, jak nie dostanie poprawnych danych. Widac masz problem przy przesylaniu danych. Moze sie ze skryptem nie laczysz, moze z baza. Nie wiem, podales "za duzo" informacji (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Cytat
Nie wiem czemu, ale czasem wiadomość, którą wpisze pojawia się dwa razy

Tak wiem, zdarza sie. Ale to tylko widzi dwa razy ten kto pisze. W bazie jest jeden wpis. Po prostu czasami zdarza sie, ze ktos zacznie pisac w tym samym czasie, co skrypt bedzie pobieral dane,wiec sie ID nie zdazy odswierzyc. Popatrze jeszcze pod tym kątem na to.
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Cytat
Byc moze źle skonfigurowales
Js sie sypie, jak nie dostanie poprawnych danych. Widac masz problem przy przesylaniu danych. Moze sie ze skryptem nie laczysz, moze z baza. Nie wiem, podales "za duzo" informacji

Dlatego napisalem "nie chce mi sie" (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Wyjatki
Cytat
Ale to byl tylko PRZYKLAD i lenistwo

Juz rozumiem

Cytat
Wejdź na moj shoutbox online a zobaczysz ze są

Bardzo smieszne (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) az linka zaczalem szukac, moze pozniej skonfiguruje u siebie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Jestem slepy, link jest



Poprawione, skonfigurowane, dziala
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Ok, jest nowa wersja 0.7.5
Poprawki:
- zlikwidowane podwojny wpisy przy dodawaniu wiadomosci. Podobna jeszcze komus sie to zdarzylo, ale osobiscie nie moglem juz tego powtorzyc
- poprawa utraty wiadomosci, przy duzych czasach odswierzania

edit:
ver. 0.7.6 - wprowadzenie antyfloodu
Go to the top of the page
+Quote Post
mike
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Jupi!!!

Zostałem wymieniony w napisach kńcowych (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

A na poważnie to przydałoby się jeszcze scrolowanie okna jeśli pojawiła się odpowiedź a ty przeglądasz na górze coś.
I skracanie wpisów lub jakieś dzielenie długich wyrazów, bo pojawia się scroll.
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
A na poważnie to przydałoby się jeszcze scrolowanie okna jeśli pojawiła się odpowiedź a ty przeglądasz na górze coś

Teraz jak przegladasz na gorze i sie cos pojawi, to poleci scroll na to co sie pojawilo. Ma tego nie byc? jak to widzisz?

Cytat
I skracanie wpisów lub jakieś dzielenie długich wyrazów, bo pojawia się scroll.
Eee, no fajnie teraz wyglada. Dla dlugiej jednowyrazowej wiadomosci jest tylko scroll (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Ale to chyba moze css by poprawic, ktory zreszta sam napisales (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
mike
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(nospor @ 28.08.2006, 13:21 ) *
Teraz jak przegladasz na gorze i sie cos pojawi, to poleci scroll na to co sie pojawilo. Ma tego nie byc? jak to widzisz?
A to jak jest to spoko (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Myślałem, że nie ma :/

Cytat(nospor @ 28.08.2006, 13:21 ) *
Eee, no fajnie teraz wyglada. Dla dlugiej jednowyrazowej wiadomosci jest tylko scroll (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Ale to chyba moze css by poprawic, ktory zreszta sam napisales (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Cos pomyślę, choć w sumie fatycznie nie jest źle. Robi się box tyldko dla pojedynczej wypowiedzi, więc w sumie jest OK.
Go to the top of the page
+Quote Post
nasty
post
Post #10





Grupa: Zarejestrowani
Postów: 634
Pomógł: 14
Dołączył: 27.05.2006
Skąd: Berlin

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


a ja mam uwage, napisalem to na shoutboxi-e online (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
jak wpisujes " \n " to ci pokazuje tylko n czy cos takiego, czyli problemy ze slashowaniem podobnie jak tu na forum, i bym bardzo radzil htmlspecialcharsowac zamiast slashowac. I to by bylo na tyle.

Ten post edytował nasty_psycho 28.08.2006, 18:40:26
Go to the top of the page
+Quote Post
nospor
post
Post #11





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
bym bardzo radzil htmlspecialcharsowac zamiast slashowac

NO i musze cie rozczarowac, gdyż nigdzie nie slashuje, tylko uzywam wlasnie htmlspecialchars.

No i tu jest wlasnie problem w tej metodzie, gdyż ona " \n " wali jako enter.... hmmm, musze popatrzec blizej

edit: dobra, zamieniam ręcznie \ na encje. htmlspecialchars tego nie robi.
dzieki nasty_psycho za cynk, nawet pomimo iż blędnie oceniles kod (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
moze jeszcze dzis uda mi sie wystawic nową wersje. bedą emoty dla "dzieci"
Go to the top of the page
+Quote Post
NetJaro
post
Post #12





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

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


@nospor, dobra robota :-) Znowu :-P Jakbyś dodał do tego AJAX by było znakomicie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #13





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Jakbyś dodał do tego AJAX by było znakomicie
Albo ja ciebie nie rozumiem, albo ty dziś pileś (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Przecież cały skrypt jest oparty na tym, iz co x sekund wysylane jest żądanie na serwer wlasnie poprzez AJAX. Do obslugi AJAX wykorzystuje klasę advAjAX.
Oco ci więc chodzi? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

edit:
0.7.7:
- w przykladzie są buźki (nędzne bo nędzne, ale są)
- poprawilem błąd przy przekazywaniu zformatowych danych w xml
- przenioslem domyślny formatter poza klasę. wkoncu to przyklad, a nie częśc skladowa
Go to the top of the page
+Quote Post
NetJaro
post
Post #14





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

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


Ale gafa, koniec ide odpocząć od wakacji (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Dobranoc (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Sorry za problemy :-)
Go to the top of the page
+Quote Post
Cypherq
post
Post #15





Grupa: Zarejestrowani
Postów: 181
Pomógł: 9
Dołączył: 28.08.2006
Skąd: Katowice

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


A opcjonalny scroll_lock jest w planach? Bo czasami w czasie intensywnej rozmowy ciężko będzie przeglądać wcześniejsze wpisy.
Go to the top of the page
+Quote Post
nospor
post
Post #16





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




scroll_lock niejako jest poza klasą, gdyż jego obsluge zalatwia js.
Aczkolwiek pomysl jest nawet sluszny i zapewnę w wolnej chwili dorobię i tę opcję dla przykładu.
Go to the top of the page
+Quote Post
nasty
post
Post #17





Grupa: Zarejestrowani
Postów: 634
Pomógł: 14
Dołączył: 27.05.2006
Skąd: Berlin

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


Cytat
dzieki nasty_psycho za cynk, nawet pomimo iż blędnie oceniles kod
Prosze, a kodu nie przegladalem, tylko tak mi sie zdalo jak zobaczylem demo online
Go to the top of the page
+Quote Post
son
post
Post #18





Grupa: Zarejestrowani
Postów: 210
Pomógł: 0
Dołączył: 31.01.2004
Skąd: Kraków

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


Miałem pisać identyczną klasę! Dzięki nospor, że byłeś szybszy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Robota jest naprawdę wykonana tak jak należy. Zdążyłem już zainstalować ten ShouBox na mojej strone i praktycznie nic nie musiałem zmieniać (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) (dla ciekawskich: http://www.e-kartki.org/Ekartki/Shout)
Dzięki

Ten post edytował son 3.09.2006, 10:05:58
Go to the top of the page
+Quote Post
nasty
post
Post #19





Grupa: Zarejestrowani
Postów: 634
Pomógł: 14
Dołączył: 27.05.2006
Skąd: Berlin

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


~son: prosto z twojej strony (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) :
Cytat
Warning: Invalid argument supplied for foreach() in /home/ekartki/public_html/libs/SmartyML.php on line 245

Warning: Invalid argument supplied for foreach() in /home/ekartki/public_html/libs/SmartyML.php on line 245

Warning: Invalid argument supplied for foreach() in /home/ekartki/public_html/libs/SmartyML.php on line 245

Pozdrawiam
Go to the top of the page
+Quote Post
sawic
post
Post #20





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 24.05.2005

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


Jestem w trakcie uruchamiania tego shoutbox-a.

Aby to zaczęło w ogóle działać musiałem zmienić rozszerzenie pliku ShoutBox na .php5 inaczej nie działało (serwer nazwa.pl)

W pliku ShoutBox.php linia 29 zmieniłem na:
  1. <?php
  2. $message = nl2br(stripslashes(htmlspecialchars(trim($message), ENT_QUOTES)));
  3. ?>


W ten sposób nie dodaje slashy tam gdzie nie trzeba, uważam, że mogło by już tak być w następnej wersji shoutbox-a.

Mam pytanko, na swojej stronie używam już id użytkownika, tyle że mam je w postaci np: 4b1dd5d6f2ae3ef002d25a6j4030e2df
Zmieniłem w bazie kolumnę FK_USER na char(32), ale nie wpisuje się cały ciąg znaków.

Czy mógłby mi ktoś powiedzieć co i gdzie mam zmienić, abym mógł używać takiego id w shoutboxie ?


Pozdrawiam
Go to the top of the page
+Quote Post
nospor
post
Post #21





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Aby to zaczęło w ogóle działać musiałem zmienić rozszerzenie pliku ShoutBox na .php5 inaczej nie działało (serwer nazwa.pl)
No to juz nie moja wina, ze Twoj serwer dla skryptow php5 wymaga rozszerzenia php5 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Cytat
W pliku ShoutBox.php linia 29 zmieniłem na:
Kod php1
2
3 <?php
$message = nl2br(stripslashes(htmlspecialchars(trim($message), ENT_QUOTES)));
?>



W ten sposób nie dodaje slashy tam gdzie nie trzeba, uważam, że mogło by już tak być w następnej wersji shoutbox-a.
Widzisz, to rowniez nie wina klasy, tylko tego, iz na serwie masz wlączone magic_quotes, ktore ci z automata slashuje wszystko. mozesz to wylaczyc w pliku .htaccess. Pozatym zmiany co zrobiles, to są zmiany akurat w czesci, gdzie kazdy sobie je modyfikuje wlasnie to wlasnych potrzeb, wiec wszystko gra. Tam wlasnie implementujesz sterownik dla wlasnego uzytku

Cytat
Mam pytanko, na swojej stronie używam już id użytkownika, tyle że mam je w postaci np: 4b1dd5d6f2ae3ef002d25a6j4030e2df
Zmieniłem w bazie kolumnę FK_USER na char(32), ale nie wpisuje się cały ciąg znaków.

Nawet przez mysl mi nie przechodzilo, ze ID moze byc tekstem. ID u mnie to liczba, i do bazy wkladana jest rowniez jako liczba, bez brania go w apostrofy. Nie masz tam na ID usera pola autoincrement? No jesli nie masz to musisz zrobic zmiany w pliku ShoutBox.class.php w okolicach linii 207. Jest tam insert i taki kawalek:
$sql.= "(".($this->_idUser ? $this->_idUser : 'null').",.....
powininien zostac zamieniony na :
$sql.= "(".($this->_idUser ? "'$this->_idUser'" : 'null').",....
Czy gdzies jeszcze? Chyba nie.
Go to the top of the page
+Quote Post
sawic
post
Post #22





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 24.05.2005

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


Przede wszystkim dzięki za szybką odpowiedź.


Cytat(nospor @ 30.11.2006, 18:17:30 ) *
No to juz nie moja wina, ze Twoj serwer dla skryptow php5 wymaga rozszerzenia php5 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Widzisz, to rowniez nie wina klasy, tylko tego, iz na serwie masz wlączone magic_quotes, ktore ci z automata slashuje wszystko. mozesz to wylaczyc w pliku .htaccess. Pozatym zmiany co zrobiles, to są zmiany akurat w czesci, gdzie kazdy sobie je modyfikuje wlasnie to wlasnych potrzeb, wiec wszystko gra. Tam wlasnie implementujesz sterownik dla wlasnego uzytku

Wiem.
Napisałem to po prostu dla innych, którzy mogli mieć z tym problem.
W większości przypadków magic_quotes są włączone, więc chyba jednak było by lepiej dodać te stipslashes() a jak ktoś kuma o co chodzi to se i tak wyłączy.

Cytat(nospor @ 30.11.2006, 18:17:30 ) *
Nawet przez mysl mi nie przechodzilo, ze ID moze byc tekstem. ID u mnie to liczba, i do bazy wkladana jest rowniez jako liczba, bez brania go w apostrofy. Nie masz tam na ID usera pola autoincrement? No jesli nie masz to musisz zrobic zmiany w pliku ShoutBox.class.php w okolicach linii 207. Jest tam insert i taki kawalek:
$sql.= "(".($this->_idUser ? $this->_idUser : 'null').",.....
powininien zostac zamieniony na :
$sql.= "(".($this->_idUser ? "'$this->_idUser'" : 'null').",....
Czy gdzies jeszcze? Chyba nie.

(IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
To pozostałość po starym, paranoicznym wręcz, zabeczpieczaniu strony. To jest md5 z loginu i czegoś tam jeszcze, aby czasem nikt się za kogoś zalogował. Bez sensu, ale używam już tego w tylu miejscach, że nie chce mi się zmieniać, a działać działa więc zosawiłem.

Odnośnie Twojego kodu, to nie wystarczyło. W tym momencie wykonywane jest takie zapytanie do bazy:
insert into ShoutBox (`FK_USER`, `NICK`, `MESSAGE`, `TIME`) values ('4', 'gdfgfd', 'bcvb','2006-11-30 18:44:02')

Czyli z poprzedniego id zostało tylko 4.
Szukałem, gdzie to jeszcze można zmienić, ale siakiś ten kod dla mnie nieczytelny (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)


Pozdrawiam
Go to the top of the page
+Quote Post
nospor
post
Post #23





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Napisałem to po prostu dla innych, którzy mogli mieć z tym problem.
W większości przypadków magic_quotes są włączone, więc chyba jednak było by lepiej dodać te stipslashes() a jak ktoś kuma o co chodzi to se i tak wyłączy.
Nie. Poto jest ten interfejs by kazdy go sobie mogl modyfikowac (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) I nie wiem skąd ci sie wziela ta "większosc". Ja w wiekszosci widze wylączone.

Cytat
Odnośnie Twojego kodu, to nie wystarczyło. W tym momencie wykonywane jest takie zapytanie do bazy:
insert into ShoutBox (`FK_USER`, `NICK`, `MESSAGE`, `TIME`) values ('4', 'gdfgfd', 'bcvb','2006-11-30 18:44:02')

Czyli z poprzedniego id zostało tylko 4.
A, juz widze. w konstruktorze klasy mam:
$this->_idUser = empty($idUser) ? null : (int) $idUser;
czyli rzutuje na inta podane ID. usun te (int):
$this->_idUser = empty($idUser) ? null : $idUser;

A jesli i to nie pomoze, to bede musial zrobic wersję dla ID stringowych (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ALe to juz powinno chyba byc wszystko
Go to the top of the page
+Quote Post
sawic
post
Post #24





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 24.05.2005

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


Cytat(nospor @ 30.11.2006, 19:07:31 ) *
Nie. Poto jest ten interfejs by kazdy go sobie mogl modyfikowac (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) I nie wiem skąd ci sie wziela ta "większosc". Ja w wiekszosci widze wylączone.

Większość laików - jak ja.
Cytat(nospor @ 30.11.2006, 19:07:31 ) *
A, juz widze. w konstruktorze klasy mam:
$this->_idUser = empty($idUser) ? null : (int) $idUser;
czyli rzutuje na inta podane ID. usun te (int):
$this->_idUser = empty($idUser) ? null : $idUser;

A jesli i to nie pomoze, to bede musial zrobic wersję dla ID stringowych (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ALe to juz powinno chyba byc wszystko

Działa.

Wielkie dzięki.

Pozdrawiam


Mam jeszcze jedno pytanko.
Gdzie i co powinienem zmienić, aby wiadomości z shoutbox-a mogli obejrzeć wszyscy, a pisać tylko zalogowani ?

Wyciełem z linii 70 pliku ShoutBox.php to:
  1. <?php
  2. if (empty($_SESSION['user_name']))
  3. ?>

i schowałem formularz dla niezalogowanych, ale wydaje mi się, że powinno być coś jeszcze.

Pozdrawiam

Ten post edytował sawic 30.11.2006, 21:48:23
Go to the top of the page
+Quote Post
nospor
post
Post #25





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Mam jeszcze jedno pytanko.
Gdzie i co powinienem zmienić, aby wiadomości z shoutbox-a mogli obejrzeć wszyscy, a pisać tylko zalogowani ?
Chyba bede musial wkoncu przysiąść do dokumentacji (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Pare linii nizej, pod tym co wyciales masz taki kod:
  1. <?php
  2. if ($_SESSION['nick'] == 'blocked')
  3. $sb->AddAdminMessage('Nie moĹĽesz dodawać wiadomoĹ›ci');
  4. else
  5. $sb->AddMessage();
  6. ?>

Czyli jesli nickiem jest blocked, to nie mozesz pisac. zamien to na empty nick, i gosc nie bedzie mogl pisac.
  1. <?php
  2. if (empty($_SESSION['nick']))
  3. $sb->AddAdminMessage('Nie moĹĽesz dodawać wiadomoĹ›ci');
  4. else
  5. $sb->AddMessage();
  6. ?>
Go to the top of the page
+Quote Post
sawic
post
Post #26





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 24.05.2005

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


No tak. Takie proste.
Powinienem sam na to wpaść. Wstyd.

Mam jeszcze jeden mały problem z wyświetlaniem tego pod ff 2.0.
Tzn problem nie leży w Twoim skrypcie a w dropdown menu w połączeniu z Twoim skryptem.

Prześlę ci linka na PW, aby nie być tu posądzonym o kryptoreklamę.
Prowadzę stronę o tematyce bukmacherskiej i nie wiedzieć czemu jakoś jest źle odbierana przez ludzi.
Zaraz by mnie pojechali za spamowanie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Jak będziesz chciał to zerkniesz, jak nie to trudno.

Pozdrawiam

Witam ponownie.
Napotkałem jeszcze 2 małe problemy używając shoutbox-a.

Pierwszy to taki, że shoutbox znajduje się na jakiejś stronie, ale ta sama strona wyświetlana jest przy różnych parametrach w $_GET. Dodatkowo na serwerze mam mod_rewrite z regułkami na guglo lubne adresy.
W efekcie czego shoutbox działa tylko na www.mojastrona.pl, a z kolei na www.mojastrona.pl/parametr.html już nie działa.

W konsoli javy widzę:

GET http://www.strona.pl/parametr/shoutbox/Sho...iqid=1728109331

gdzie oczywiście w tym katalogu shoutbox-a nie ma. Należało by podać adres bezwzględny do pliku ShoutBox.php5, tylko gdzie to zrobić. Konsola pokazuje błąd w pliku advajax.js (line 287), ale wiem, że to nie tam trzeba poprawiać.


Druga sprawa, to zrobiłem, że niezalogowane osoby widzą co jest pisane, natomiast nie mogą pisać. I wszystko działa ok, poza tym, że w logu dostaję cał czas takie ostrzeżenie:

Undefined index: user
Plik: /home/mojastrona/shoutbox/ShoutBox.php5
Linia: 72
Undefined index: id
Plik: /home/mojastrona/shoutbox/ShoutBox.php5
Linia: 72

Mógłbym podawać cokolwiek, a później wpisać, że te "cokolwiek" nie może wysłać wiadomości, jednak nie bardzo by to współgrało z moim systemem logowania.

Czy jest jakiś sposób aby powyższe niedogodności poprawić ?

Pozdrawiam

Ten post edytował sawic 1.12.2006, 16:47:07
Go to the top of the page
+Quote Post
nospor
post
Post #27





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Druga sprawa, to zrobiłem, że niezalogowane osoby widzą co jest pisane, natomiast nie mogą pisać. I wszystko działa ok, poza tym, że w logu dostaję cał czas takie ostrzeżenie:

Undefined index: user
Plik: /home/mojastrona/shoutbox/ShoutBox.php5
Linia: 72
Undefined index: id
Plik: /home/mojastrona/shoutbox/ShoutBox.php5
Linia: 72

Mógłbym podawać cokolwiek, a później wpisać, że te "cokolwiek" nie może wysłać wiadomości, jednak nie bardzo by to współgrało z moim systemem logowania.
PLik o ktorym mowisz powinien byc dostosowywany przez yzytkownikow i ty to wlasnie zrobiles. Sek w tym, ze ja Twoich zmian nie widze i nie wiem co jest w lini 72. Wiec rzuć kodem dobry czlowieku pare lini przed i pare lini po, gdyz u mnie w lini 72 nie ma prawa takiego bledu byc. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Domyslam sie, ze odwolujesz sie tam tak: $_SESSION['user']. Sprawdzaj najpierw czy wogole $_SESSION['user'] jest ustawione, a bledu miec nie bedziesz

Cytat
Należało by podać adres bezwzględny do pliku ShoutBox.php5, tylko gdzie to zrobić
Faktycznie, przydalby sie taki parametr. Postaram sie go dolozyc w najblizszym czasie. Poki co w pliku ShoutBox.js, masz dwa wystąpienia ciagu:
Kod
url: "ShoutBox.php"......

Zamiast ShoutBox.php podaj wartosc bezwględną i bedzie dzialac.
Go to the top of the page
+Quote Post
sawic
post
Post #28





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 24.05.2005

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


Cytat(nospor @ 21.12.2006, 17:25:00 ) *
PLik o ktorym mowisz powinien byc dostosowywany przez yzytkownikow i ty to wlasnie zrobiles. Sek w tym, ze ja Twoich zmian nie widze i nie wiem co jest w lini 72. Wiec rzuć kodem dobry czlowieku pare lini przed i pare lini po, gdyz u mnie w lini 72 nie ma prawa takiego bledu byc. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Domyslam sie, ze odwolujesz sie tam tak: $_SESSION['user']. Sprawdzaj najpierw czy wogole $_SESSION['user'] jest ustawione, a bledu miec nie bedziesz

Qrde. Nie pomyślałem, że ten plik inaczej już wygląda. Zakręcony jestem (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Chodzi o linię:
  1. <?php
  2. $sb = new ShoutBox(new ShoutBoxDefaultFormatter(),'./',$_SESSION['user'], $_SESSION['id']);
  3. ?>

Jak dam if($_SESSION['user']) {} przed całym try {} to shoutbox-a nie widzą niezalogowani użytkownicy, więc w sumie to dalej nie wiem gdzie i co trzeba zmienić aby to działało.

Cytat(nospor @ 21.12.2006, 17:25:00 ) *
Faktycznie, przydalby sie taki parametr. Postaram sie go dolozyc w najblizszym czasie. Poki co w pliku ShoutBox.js, masz dwa wystąpienia ciagu:
Kod
url: "ShoutBox.php"......

Zamiast ShoutBox.php podaj wartosc bezwględną i bedzie dzialac.


A tego to już powinienem się sam domyślić. Wstyd (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Teraz działa jak należy.
Dzięki.

Pozdrawiam
Go to the top of the page
+Quote Post
nospor
post
Post #29





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Qrde. Nie pomyślałem, że ten plik inaczej już wygląda. Zakręcony jestem
Chodzi o linię:
Kod php1
2
3 <?php
$sb = new ShoutBox(new ShoutBoxDefaultFormatter(),'./',$_SESSION['user'], $_SESSION['id']);
?>


Jak dam if($_SESSION['user']) {} przed całym try {} to shoutbox-a nie widzą niezalogowani użytkownicy, więc w sumie to dalej nie wiem gdzie i co trzeba zmienić aby to działało.

No widzisz, u mnie byla jeszcze taka linijka:
  1. <?php
  2. if (empty($_SESSION['user']))
  3. ?>

ktora powodowala ze do Twojego kodu nie dochodzil. Ty ja usunales. Musisz wiec zrobic, np tak:
  1. <?php
  2. $userName = !empty($_SESSION['user']) ? $_SESSION['user'] : '';
  3. $sb = new ShoutBox(new ShoutBoxDefaultFormatter(),'./',$userName, $_SESSION['id']);
  4. ?>


milego wieczoru (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
sawic
post
Post #30





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 24.05.2005

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


Wszystko już działa jak należy. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Wielkie dzięki.

Pozdrawiam
Go to the top of the page
+Quote Post
nospor
post
Post #31





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No i jest wersja 0.8.
Z ważniejszych nowości:
- Możliwość podpiecia drugiej tabeli, z której bedziemy czerpac dodatkowe dane. Jest to przydatne dla nowosci opisanej ponizej.
- Każdy użytkownik może określić wygląd swojej wiadomości (o ile mu na to pozwolimy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ). W przykladzie, co jest zalączony do klasy, kazdy uzytkownik może określić kolor swojego nicka. Skrypt na chwile obecna ma zaimplementowane ustawianie dla danej wiadomosci klas: diva wiadomosci, czasu, nicka, textu oraz styli dla: diva wiadomosci, czasu, nicka, tekstu.
- Moderacja wiadomości (edycja, usuwanie). Do tego celu wprowadzilem kolejny sterownik. Mozna okreslic globalnego moderatora lub tez moderatora na konkretne wiadomości (np. uzytkownik może moderowac tylko swoje wiadomości). Kasowanie odbywa sie poprzez wcisniecie ikonki usuwania. Aby edytowac należy kliknąc na tekscie wiadomości i.... sami zobaczycie.
- Po ostatnich postach uzytkownika, co mial ID usera jako tekst, wprowadzilem ulatwienie na te okolicznosc.
- inne drobne poprawki
Go to the top of the page
+Quote Post
TAMLYN
post
Post #32





Grupa: Zarejestrowani
Postów: 49
Pomógł: 1
Dołączył: 6.01.2007
Skąd: Wrocław

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


A więc ja dodam, że zauważyłem problemy z edycją postów i ich usuwaniem... Trzeba odświeżyć całą stronkę, żeby zauważyć zmiany... Wg mnie dobrze by było, gdyby te zmiany same się 'odświeżały' (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Na razie to tyle... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Chyba, że nie zauważyłem możliwości 'włączenia' takiego odświeżania (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Ten post edytował TAMLYN 30.01.2007, 22:47:51
Go to the top of the page
+Quote Post
nospor
post
Post #33





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




A ja dodam, ze mowisz tutaj o zmianach (nie)widocznych od razu dla innych uzytkownikow. Ten kto edytuje i usuwa widzi zmiany od razu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Zastanawialem sie nad tym czy to dodawac (ten refresh dla wszystkich). Nie jestem do konca przekonany. Moderacja wiadomosci miala sluzyc glownie moderatorom, gdy ktos jakis bluzg na wali albo innych glupot i nie powinno to widniec na dluzej. Poprzez "dluzej" rozumiem dluzej niz nastepny refresh strony. Wydaje mi sie, iz nie jest to zbyt dlugi czas oczekiwania.
Chcac zrobic ten refresh, trzeba by dodac "pare" dodatkowych linii kodu, nie wspominajac juz o jakims dobrym rozplanowaniu tego.
Aczkolwiek pare osob juz mi na to zwracalo uwage i pomysle co z tym zrobic.

edit:
No to niedlugo planuje zamknac ShoutBoxa w wersji 1.0
Zanim jednak to zrobię, chciałbym byście lukneli na wersje wystawioną on-line (link w pierwszym poscie) i sprawdzili czy wszystko jest ok (lub nie).
Z nowych rzeczy co doszly:
- przeglądanie historii (w przykładzie zwykli userzy mają ograniczone przegladanie. Ja moge całą przegladac. Oczywiscie jest to konfigurowalne)
- blokada scrolla - gdy cos czytamy a ktos cos napisze to nam juz sie to nie przesuwa do nowej wiadomosci
- poprawiony antyflooding
- komendy. wpiszcie sobie, np. /help i cos sie stanie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) . Oczywiscie kazdy bedzie mogl tworzyc swoje wlasne komendy.
- uzytkownicy online. Mozecie podpiąc swoj wlasny mechanizm online, lub korzystac z mojego banalnego co dołączylem do przykladu
- skrypt js napisalem teraz jako klasa
Go to the top of the page
+Quote Post
Labik
post
Post #34





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 21.03.2007

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


Witam. Moglby ktos napisac toturial dla zielonych jak skonfigurowac baze danych w pliku php i gdzie wpisac login i haslo admina, wogole jak postawic zeby wszystko skonfigurowac i postawic na serwer i zeby to dzialalo?

Pozdrawiam
Go to the top of the page
+Quote Post
nospor
post
Post #35





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




W pliku ShoutBox.php masz taka funkcje na samym dole:
  1. <?php
  2. function mysqlconnect(){
  3. $link = @mysql_connect('localhost', 'root','');
  4. @mysql_select_db('test');
  5. return $link;
  6. }
  7. ?>

Tam okreslasz parametry polączenia z bazą. Jak nie wiesz co jest co to zajrzyj do manuala
http://www.php.net/manual/pl/function.mysql-connect.php
http://www.php.net/manual/pl/function.mysql-select-db.php

W pliku ShoutBox.sql masz sql z zapytanimi tworzącymi tabele dla przedstawionego przykladu. Musisz wykonac te sql na swojej bazie. Mozesz to zrobic chociazby przy pomocy PHPMyAdmin.

W zasadzie to wszystko. Powinienes dzieki temu moc uruchomic ShoutBoxa (ShoutBoxDisplay.php)

Gdy juz wydam wersje 1.0 (czyli niedlugo) to postaram sie napisac lepszy tutorial.

edit: zapomnialem ze w ShoutBoxDisplay tez jest połączenie do bazy i tam tez trzeba skonfigurowac. Jest to w momencie logowania. U mnie w przykladzie jest to porozrzucane, gdyz ShoutBox z zalozenia mial byc dołączany do istniejacych juz stron i logowanie powinniscie miec wlasne (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

edit
No to pojawiła się dostępna wersja 1.0
Z nowych rzeczy, oprócz tych co pisałem w poprzednim poście to możliwość skakania po użytkownikach online przy użyciu tabulatora. Wpiszcie pierwsze litery nicka, wciśnijcie tabulator i skrypt sam wam znajdzie usera. Możecie też nic nie wpisywać, wowczas skakać będziecie po wszystkich userach.

Konfiguracja bazy danych znajduje się teraz tylko w jednym pliku: ShoutBoxDBConnection.php

W licencji zmieniłem wymagalność podania informacji o autorze (czyli o mnie) na stronie.
Go to the top of the page
+Quote Post
Labik
post
Post #36





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 21.03.2007

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


Fajnie, przydaloby sie jeszcze banowanie na ip albo chociaz wyrzucanie userow. Niestety ja jestem zielony w php i takiego czegos se nie zrobie (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #37





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Banowanie powinno byc przy rejestracji/logowaniu czyli defacto poza klasa. Skoro jestes zielony w php to czas najwyzszy sie poduczyc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
ktosmily
post
Post #38





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 11.04.2007

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


jak wstawić to na forum jak można
Go to the top of the page
+Quote Post
nospor
post
Post #39





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




po pierwsze: odpal sobie najpierw to co w paczce. Jak uda ci sie to uruchomic to przejdz dalej (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Jakies pojecie o php/html masz?

Skoro chcesz podpinac to pod forum to logowanie masz juz z bani. zalozmy ze shout bedzie tylko dla zalogowanych. W pliku Shoutboxdisplay.php masz
Kod
<div id="sb_main">
    <div id="sb_online"><div id="sb_online_title">UĹĽytkownicy on-line:</div><div id="sb_online_users"></div></div>
    <div id="sb_tools"><div id="sb_history" class="sb_history" title="Pobierz wczeĹ›niejsze" onclick="sb.getHistory();"></div><div id="sb_scroll_locking" class="sb_unlocked" title="Zablokuj scroll" onclick="ShoutBox.switchScroll();"></div></div>
    <div id="sb_body"></div>
    <form onsubmit="sb.sendMessage();return false;">
    <input type="text" id="sb_message" maxlength="255" />
    <input type="submit" id="sb_submit" value="WyĹ›lij" />
    </form>
</div>


    <script language="javascript">
        var sb = new ShoutBox('sb');
        sb.getMessages();
    </script>

Musisz to dorzucic na strone forum oraz dołącz skrypty js co sa na poczatku tamtego pliku.
W pliku ShoutBox.php, wszelkie odwolania typu $_SESSION['nick'], $_SESSION['id'] musisz zastapic na odpowiedniki w Twoim forum. To by bylo w skrocie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
W razie pytan wal na PW

edit:
ShoutBox 1.1 wydany
Kolejna wersja wprowadza interfejs baz danych, umożliwiający przechowywanie danych gdziekolwiek. Wiecej w linku powyzej

edit:
Napisałem sterownik operujący na plikach, a nie jak do tej pory na bazie MySql. Więcej info tu:
http://nospor.pl/sterownik-operujacy-na-plikach-n7.html
Zachęcam do testowania (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Jerem!asz
post
Post #40





Grupa: Zarejestrowani
Postów: 45
Pomógł: 2
Dołączył: 31.01.2007
Skąd: PL

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


witam,
mam problem z zainstalowaniem ShoutBoxa, czy moglbym proić o dokladna instrukcje?
otoż stworzylem tabele wg zapytan jak bylo podane, w poscie wyżej - zrobilem jak napisales, ale nie działa, nie wyświetlają się żabne wiadomości.
Go to the top of the page
+Quote Post
nospor
post
Post #41





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




1) Czy uzywasz php5?
2) Czy odpalasz plik ShoutBoxDisplay.php
3) W miejscu gdzie wgrales shouta moze pojawic sie plik shoutbox.log zawierajacy ewentualne bledy. Poszukaj go przejrzyj.

edit
Po dość sporej przerwie prezentuje kolejną wersje ShoutBox 1.2
Najwiazniejsze zmiany to:

Poprawienie obsługi komend
Kompresja gzip
Automatyczne czyszczenie starych wiadomości
Zmiana metod formatujących
Logowanie IP

Więcej na stronie <a href="http://nospor.pl/shoutbox-1.2-n30.html" target="_blank">http://nospor.pl/shoutbox-1.2-n30.html</a>

Edit 2008-09-10:
Napisałem wstepną wersję modułu pod Joomla. Zapraszam do pobierania, testowania i zgłaszania swoich uwag
http://nospor.pl/modul-shoutbox-dla-joomla-n33.html

ps: podziękowania dla f1xer, który pomógł mi w poznaniu tajników tworzenia modułów pod Joomle
Go to the top of the page
+Quote Post
xquest
post
Post #42





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 16.02.2009

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


Witam!
Testuję właśnie nshoutboxa pod joomlą (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Bez żadnych problemów poszedł na joomli zainstalowanej w domciu na localnym serwerze. Po podobnej instalacji - tylko ze na serwerze yoyo.pl, dostaje błąd otwierając swoją stronkę na której shoutbox jest w trybie aktywnym. Błąd jest nastepujący :

Parse error, unexpected '{' in /var/www/sites/yoyo.pl/x/x/xxxxxxxx/mod_nshoutbox/mod_nshoutbox.php on line 57.

Hm, ta sama instalacja - 2 różne servery. Proszę o podpowiedź jak pozbyć się błedu (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #43





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




shoutbox wymaga php5. na yoyo domyslnie chyba jest php4?
Go to the top of the page
+Quote Post
xquest
post
Post #44





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 16.02.2009

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


Witam! Dzięki za pomoc - na yoyo rzeczywiście jest php4. Mam pytanko: czy polecacie jakiś darmowy server do hostingu stron z domyślnym php5. i jeszcze jedno pytanko a może prośba:
Czy ktoś przerobił shoutboxa autorstwa nospora na taki który nadawałby się pod yoyo. Tzn który zamiast .php ma .php5 .
Próbowałem ręcznie pozmieniać - ale wogóle go nie wyświetla - musi być jakiś błąd ;(
Jak tak to poproszę o taki zmodyfikowany komponent albo chociaż poradę w którym miejscu należy podmienić.
Go to the top of the page
+Quote Post
bim2
post
Post #45





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


jak pozmieniasz na .php5 to musi działać (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Nie zapomnij, że musisz zmienić wszystkie pliki!
Go to the top of the page
+Quote Post
xquest
post
Post #46





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 16.02.2009

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


Hej! To już słyszałem że wszystkie - ale czy wszystkie w modulach joomli, stronie startowej, czy po prostu w module nshoutbox tylko. No i pytanie - czemu wszystkie - zmieniłem tylko te 2 najważniejsze i nic nie chodzi.
Go to the top of the page
+Quote Post
nospor
post
Post #47





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
zmieniłem tylko te 2 najważniejsze
te dwa najwazniejsze korzystaja z innych plikow (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Oprocz zmiany nazw plikow, musisz tez zmienic wszelkie odwolania do nich (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

ps: nie prosciej ci bedzie poprzez htaccess ustawic tam php5? Zapytaj tych od yoyo czy jest u nich taka mozliwosc
Go to the top of the page
+Quote Post
xquest
post
Post #48





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 16.02.2009

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


ok, thx. Postaram się porobić według wskazówek (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Pewnie jeszcze Was pomeczę (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) php zawsze było u mnie kula u nogi

Witam Wszystkich (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Niestety nie udało się uruchomić shoutboxa na yoyo (domyślne php4). Proszę więc o 10 minut wyjęte z życiorysu i o pomoc kogoś kto lubi wyzwania. Osobiście pozmieniałem wszystko z php na php5 (rozszerzenia) ale nie poszło. Możliwe że niepotrzebnie zmieniałem nazwę pliku np z 'ShoutBoxCommandIp.class.php.svn-base' na 'ShoutBoxCommandIp.class.php5.svn-base'. Może wystarczy tylko zmienić końcówki dla plików *.php (php na końcu). W każdym bądź razie proszę o pomoc. (Całość dokonywania podmian to jakieś 10 m, więc pewnie dużo Wam nie zajmie czasu - strasznie spodobał mi się ten komponencik)
Pozdrawiam
Go to the top of the page
+Quote Post
nospor
post
Post #49





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




.svn-base to smieciuchy ktore mi niechcacy do paczki doszly (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
rafal22bb
post
Post #50





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 1.03.2009

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


Przepraszam, może to głupie pytanie ale jak zainstalować wersję 1.2 na joomla?
Go to the top of the page
+Quote Post
nospor
post
Post #51





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




przygotowany jest moduł shoutbox dla joomla. Skoro jest to moduł, to instalujesz to jak kazdy inny moduł w Joomla.
Jesli nie wiesz jak sie instaluje moduły pod Joomle to czas najwyzszy przeczytac ich dokumentacje, bo mają to ładnie opisane (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
grzegorz_g
post
Post #52





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 26.10.2004

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


mam pytanie do uzytkowników shoutboxa czy istnieje możliwośc by najnowsze wiadomości były pisane od góry ....


Dzięki za wszelkie info
Go to the top of the page
+Quote Post
nospor
post
Post #53





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




oczywiscie. wystarczy przejrzec plik cfg.inc.php i przeczytac dokladnie komentarze umieszczone przy każdej z opcji (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Taifun
post
Post #54





Grupa: Zarejestrowani
Postów: 222
Pomógł: 2
Dołączył: 10.07.2007

Ostrzeżenie: (10%)
X----


a jak zrobic, ze jak ktos wpisuje nick "nick" oraz treść "wiadomosc" to wywala mu informacje jak na nospor.pl w sb , zeby wybral inny nick?
Go to the top of the page
+Quote Post
nospor
post
Post #55





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




w ShoutboxDefaultRights masz metode CanAdd()
a w niej:
  1. <?php
  2. if ($this->Nick == 'blocked') //w tym przykładzie koles o nicku "blocked" nie może nic pisać
  3.            return 'Nie możesz dodawać wiadomości';
  4. ?>

Na podobnej zasadzie zrob blokade na nicka:
  1. <?php
  2. if ($this->Nick == 'twojnick')
  3.            return 'Wybierz inny nick';
  4. ?>
Go to the top of the page
+Quote Post
Taifun
post
Post #56





Grupa: Zarejestrowani
Postów: 222
Pomógł: 2
Dołączył: 10.07.2007

Ostrzeżenie: (10%)
X----


a jak zrobić z wiadomością jak jest to "wiadomość"

  1. <?php
  2. if ($message == "wiadomość")
  3.            return 'wpisz inną treść';
  4. ?>

nie działa.

również to nie działa:
  1. <?php
  2. if ($this->message== 'wiadomość')
  3.           return 'Wybierz inną wiadomość';
  4. ?>
Go to the top of the page
+Quote Post
nospor
post
Post #57





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




ale obiekt z prawami nie ma czegos takiego jak $message (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Wiadomosc jest tu: $_POST['message']
Go to the top of the page
+Quote Post
dudi1261
post
Post #58





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 25.07.2008

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


Pomoglbys Mi z podpieciem Shoutboxa Twojego jednoczesnie do php fusion 7 i phpbb2 by przemo?
Go to the top of the page
+Quote Post
nospor
post
Post #59





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




a znasz sie na php fusion i phpbb? Konkretnie chodzi mi o pisanie modułów pod nie?
Go to the top of the page
+Quote Post
jarexx
post
Post #60





Grupa: Zarejestrowani
Postów: 37
Pomógł: 2
Dołączył: 1.07.2009

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


Witam
Pytanie do nospora.
Co muszę zrobić, by shoutbox nie odświeżał się co ileś tam zadanych w configu sekund tylko w momencie gdy jakiś user wysyła wiadomość?
Masz receptę na taką funkcjonalność?
Możesz mnie oświecić?

Dziękuję i pozdrawiam (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #61





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Mowiac " jakiś user wysyła wiadomość" masz na mysli sytuację, że ty sobie siedzisz przed shoutem, ktos inny wysyla wiadomosc, a ty dopiero wtedy odswiezasz shouta?
Go to the top of the page
+Quote Post
jarexx
post
Post #62





Grupa: Zarejestrowani
Postów: 37
Pomógł: 2
Dołączył: 1.07.2009

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


Chodzi mi o coś takiego:
Userzy siedzą na stronie, ale nikt nie wpisuje do shouta żadnej wiadomości.
W takiej sytuacji nie ma potrzeby odśwsieżania shouta, bo i tak nikt nic nowego nie napisal.
Chodzi o to, czy jest możliwe, by shout odświeżał się u wszystkich w momencie gdy w bazie pojawia się nowy rekord.
Pytam, bo mój admin zablokował mi shouta ze wzgledu na zbyt duza ilosc odwolan do serwera.

A jeszcze jedno.
Czy to, że shout jest w iframe stanowi istotna różnicę? Skrypt tak czy siak, musi połączyć się z serwerem.

pozdrawiam

Ten post edytował jarexx 17.03.2010, 14:20:22
Go to the top of the page
+Quote Post
nospor
post
Post #63





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




to nie serwer komunikuje się z przeglądarką, ale przeglądarka z serwerem. To przeglądarka musi odpytywać serwer a nie na odwrót.
Istnieją metody symulacji tego co mowisz: przeglądarka odpytuje serwer, skrypt na serwerze nie zwraca odpowiedzi do przeglądarki do czasu, aż nie pojawi się nowa wiadomośc - to tak w skrócie opisane (IMG:style_emoticons/default/smile.gif)

Cytat
Czy to, że shout jest w iframe stanowi istotna różnicę? Skrypt tak czy siak, musi połączyć się z serwerem.
Z iframe przy kazdym odswiezeniu strony jest o jedno odpytanie serwera więcej
Go to the top of the page
+Quote Post
jarexx
post
Post #64





Grupa: Zarejestrowani
Postów: 37
Pomógł: 2
Dołączył: 1.07.2009

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


Dzięki nospor za wyjaśnienia.
A możesz mi powiedzieć co zrobić by odświeżać shouta zdarzeniem "onclick"?
Musze napisać jakąś nową metodę w js,czy takowa już istnieje?
Go to the top of the page
+Quote Post
nospor
post
Post #65





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




...onclick="sb.getMessages();return false;"...
gdzie sb to obiekt shoutboxa
Go to the top of the page
+Quote Post
jarexx
post
Post #66





Grupa: Zarejestrowani
Postów: 37
Pomógł: 2
Dołączył: 1.07.2009

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


Dobra. Dzięki serdeczne (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
ano
post
Post #67





Grupa: Zarejestrowani
Postów: 435
Pomógł: 40
Dołączył: 16.02.2003
Skąd: Wrocław

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


Może powinienem to napisać w temacie nospora, ale gdzieś mi zaginął więc tutaj dorzucę moich kilka spostrzeżeń.

1. Czemu w klasie Shoutbox masz tyle zmiennych "public"? Nie bezpieczniej mieć je jako private? Co jeżeli chciałbym mieć na jednej stronie dwa shoutboxy? Wtedy chyba cały skrypt by się posypał?
2. Shoutbox -> addMessage() -- czemu w parametrze nie przyjmuje wiadomości do wysłania? - i w związku z tym punktem:
Głównie mam pytanie o sam projekt tej klasy - czy poprawniej nie powinno być np. tak, że tworzymy nowy obiekt shoutbox, a potem odpowiednią metodą "logujemy" użytkownika i potem np. wysyłamy wiadomość inną metodą?
Bo teraz jest to /przynajmniej dla mnie/ w dosyć pokraczny sposób rozwiązane. Zapraszam do dyskusji na ten temat (IMG:style_emoticons/default/smile.gif)

btw dopiero od października programuje (i to w javie, w php raczej nic... - ale i tak mi bardziej chodzi o samą teorię programowania niż o znajomość składni danego języka (IMG:style_emoticons/default/winksmiley.jpg) ) i dlatego takie posty na forum to dla mnie dobra nauka! (IMG:style_emoticons/default/smile.gif)

pozdrawiam, Antoni
Go to the top of the page
+Quote Post
nospor
post
Post #68





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Przenioslem Twoj post

ad1) Co ma piernik do wiatraka?
ad2) Gdyż wiadomosc mam w $this->message. Jest ona poprostu z posta pobierana
Metoda dodawania wiadomosci od admina już ma w parametrze wiadomosc
Go to the top of the page
+Quote Post
micsie03339
post
Post #69





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 27.07.2011

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


Mogę prosić o instrukcje instalacji,tego SB?
I czy on działa na forach phpbb3?
Go to the top of the page
+Quote Post
nospor
post
Post #70





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Jeśli chcesz go zintegrować ze swoim serwisem tak superancko, to tu masz:
http://nospor.pl/shoutbox-integracja-z-serwisem.html

Jak chcesz tylko wrzucić paczkę co jest dostępna to normalnie wrzucasz, wykonujesz zapytania na bazie, które są w pliku shoutbox.sql i ustawiasz w pliku konfiguracyjnym połączenie z bazą.

To nie jest moduł phpbb3 jeśli o to pytasz. Ale może tam działać, wystarczy to zintegrować (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 15.09.2025 - 09:09