ShoutBox

 

ShoutBox jest to taki mini chat, którego przykład znajduje się na górze strony. ShoutBox napisałem w oparciu o AJAX, dzięki czemu wszystko działa bez odświeżania strony, co jest niewątpliwym plusem. Chciałem by ShoutBox był możliwie jak najbardziej elastyczny, by każdy mógł dopasować go sobie do własnych potrzeb. W związku z tym założeniem, stworzyłem kilka interfejsów, odpowiedzialnych między innymi za przechowywanie danych (rózne bazy danych, pliki txt, inne), prawa dostępu oraz za wygląd całego ShoutBoxa, przez co każdy może robić co mu się żywnie podoba bez ruszania kodu klasy. Oto kilka funkcjonalności, jakie umożliwa ShoutBox:

  • moderacja wiadomości (usuwanie, edycja)
  • użytkownicy on-line
  • przeglądanie historii
  • wciskając tabulator możemy przeskakiwać po obecnych użytkownikach
  • Możliwość tworzenia własnych komend, coś na podobieństwo irca. Wpiszcie np. /help i zobaczcie co się stanie.
  • możliwość wprowadzania własnych funkcjonalności, np. antybluzgacz, blokada IP
  • wiele innych

Narazie napiszę tylko tyle. Więcej na temat klasy możecie dowiedzieć się na forum php.pl lub z artykułów. Klasa jest do pobrania tutaj.

Przydatne artykuły

ChangeLog

  • 2011-04-06 ShoutBox 1.3.1 (więcej...)
    • Graficzny wybór kolorów oraz emotikon
  • 2010-07-30 ShoutBox 1.3.1 (więcej...)
    • Cenzor
    • Lepsze zarządzanie emotikonami
  • 2009-04-17 ShoutBox 1.3 (więcej...)
    • Przejście wyłącznie na jQuery
    • Zrezygnowanie z xml na rzecz json
    • Generowanie danych po stronie php a nie jak do tej pory js
  • 2008-06-16 ShoutBox 1.2 (więcej...)
    • Poprawienie obsługi komend
    • Kompresja gzip
    • Automatyczne czyszczenie starych wiadomości
    • Zmiana metod formatujących
    • Logowanie IP
  • 2007-10-08 ShoutBox 1.1.1
  • 2007-06-14 ShoutBox 1.1
    • Wprowadzenie sterowników dostępu do bazy danych. Teraz każdy może zapisywać dane ShoutBoxa gdzie będzie chciał. Może to być zarówno baza danych MySql, Oracle lub też zwykłe pliki txt.
  • 2007-03-26 ShoutBox 1.0
    • Przeglądanie historii
    • Blokada scrolla - gdy coś czytamy, a ktoś coś napisze to nam juś się to nie przesuwa do nowej wiadomości
    • Poprawiony antyflooding
    • Dodanie komend. Wpiszcie sobie, np. /help i coś się stanie
    • Użytkownicy online. Można podpiąc swój własny mechanizm online, lub korzystać z mojego banalnego co dołączylem do przykładu.
    • Skrypt js przepisałem na klasę
    • W miejscu pisania wiadomości możemy przechodzić pomiędzy aktualnymi użytkownikami poprzez wciśnięcie tabulatora
  • 2007-01-18 ShoutBox 0.8
    • Możliwość określania wyglądu wiadomości dla każdego użytkownika oddzielnie
    • Moderacja wiadomości (usuwanie, edycja)
    • Wsparcie dla ID użytkowników niebędących liczbą tylko tekstem

 

Komentarze

 

2010-12-03 13:09:03 gość_Sobak

 
Patrząc na opis i demo na górze stwierdzam że ShoutBox prezentuje się bardzo ciekawie. Przy okazji zauważyłem jednego byka w drugiej linijce [i]odświerzania[/i[

2010-12-03 13:48:48 nospor

 
No tak... dzięki za znalezienie byka

2010-12-10 14:40:05 gość_Janek85

 
Bardzo fajny shoutbox, to tego chyba jeden z niewielu dostępny jako moduł do systemu joomla
Ogólnie świetna sprawa !
Pozdrawiam i polecam.

2010-12-28 13:39:08 gość_Cannabis

 
Powiem ci ze wporzadku jest ten SB lub tylko nie moge znalezc numerku na zielony kolor mojego niku jak zmieniam ale mam milion kombinacji takze znajde pozdro i Szczesliwego Zielonego Nowego Roku

2010-12-28 13:53:23 gość_Cannabis

 
i ci powiem jakbys jeszcze zrobil komende na czyszczenie okna chat to byloby zupelnie lajt ;p

2010-12-28 14:00:31 nospor

 
Ale czyszczenie okna czy wiadomości z bazy?

2010-12-28 14:01:03 nospor

 
Co do koloru to: RRGGBB czyli 00FF00

2011-02-13 14:56:12 gość_klaudia

 
super program

2011-04-20 16:15:06 gość_xxdrago

 
Witam, problem mam taki sb po prostu nie wyświetla wiadomości:
http://free-kill.site88.net/ShoutBoxDisplay.php

2011-04-20 21:05:39 nospor

 
Twój hosting dodaje kod analitics.
1
2
3
4
5
6
{"id":"sb","r":0,"lmi":null}
<!-- www.000webhost.com Analytics Code -->
<script type="text/javascript" src="http://analytics.hosting24.com/count.php"></script>
<noscript><a href="http://www.hosting24.com/"><img src="http://analytics.hosting24.com/count.php" alt="web hosting" /></a></noscript>
<!-- End Of Analytics Code -->

No niestety z tym kodem nie zadziała.

2011-04-20 22:22:43 gość_xxdrago

 
No loclahost to samo.

2011-04-21 08:21:18 nospor

 
Coś kręcisz.... na localhost też kod analitics ci leci?
Mówiłem Ci: sprawdź w FireBugu co ci zwraca żądanie. Sprawdź co zawiera plik SHoutBox.log. Czemu zawsze trzeba wszystko powtarzać?

2011-04-21 12:18:46 gość_XxDrago

 
Nie dodaje kodu, na localhost też nie widać postów cześć pliku log:

Czas: 2011-04-20 21:11:29
Plik: /usr/lib/php/foot.php
Linia: 11
Undefined variable: c_action
Czas: 2011-04-20 21:11:39
Plik: /home/a8012836/public_html/ShoutBox.php
Linia: 107
Table 'a8012836_admin.ShoutBox' doesn't exist
Czas: 2011-04-20 21:11:39
Plik: /usr/lib/php/foot.php
Linia: 10
Undefined variable: c_action
Czas: 2011-04-20 21:11:39
Plik: /usr/lib/php/foot.php
Linia: 11
Undefined variable: c_action
Czas: 2011-04-20 21:11:49
Plik: /home/a8012836/public_html/ShoutBox.php
Linia: 107
Table 'a8012836_admin.ShoutBox' doesn't exist
Czas: 2011-04-20 21:11:49
Plik: /usr/lib/php/foot.php
Linia: 10
Undefined variable: c_action

2011-04-21 12:23:13 nospor

 
No z logów widać, że nie utworzyłeś tabeli.
NIezbędne zapytania do utworzenia tabeli są w pliku ShoutBox.sql

No i jeszcze masz jakąś niezdefiniowaną zmienną c_action

2011-04-21 19:18:24 gość_xxdrago

 
http://free-kill.site88.net/ShoutBoxDisplay.php dalej to samo dodają sie rekordy z wiadomościami a sie nie wyświetlają:

Czas: 2011-04-21 19:16:56
Plik: /usr/lib/php/foot.php
Linia: 11
Undefined variable: c_action

jak mam ją zdefiniować?

2011-04-21 19:31:37 nospor

 
No, wiadomości już się ładnie pobierają ale nadal z nimi leci ten kod analitics.
1
2
3
4
5
<!-- www.000webhost.com Analytics Code -->
<script type="text/javascript" src="http://analytics.hosting24.com/count.php"></script>
<noscript><a href="http://www.hosting24.com/"><img src="http://analytics.hosting24.com/count.php" alt="web hosting" /></a></noscript>
<!-- End Of Analytics Code -->

Pisałem ci, że ten dodatkowy kod psuje całą komunikację - nie może go tam być.

Co do zmiennej c_action to nie wiem co to za zmienna. Mój shoutbox jej nie zawiera. Nie dodawałeś nic od siebie?

2011-04-21 19:45:21 gość_xxdrago

 
Pobrałem i wrzuciłem. wiem ze mi pisałeś ale na localhost mam to samo tylko bez kodu poprostu sie nie wyświetlają...

2011-04-21 19:46:59 gość_xxdrago

 
nie nie dodałem oryginalny

2011-04-22 09:05:06 nospor

 
No to na localhost musisz mieć jakieś błędy. Na serwerze już wszystko jest ok poza tymi nieszczęsnymi ANALITICS. A na localhost miałeś przecież nie wgraną tabelę. Jeśli wgrałeś to pokaż teraz jakie masz błędy w ShoutBox.log

2011-07-06 07:54:36 gość_Bogusław

 
Czy możesz przygotować wersję swojego shoutboxa dla wordpresa?

2011-07-06 08:15:59 nospor

 
Jeśli będzie tylko ktoś na tyle i miły i mi pomoże. Samemu nie chce mi się (nie mam czasu) szkolić się w robieniu wtyczek w wordpress.

2011-07-27 21:37:50 gość_Rock Lee

 
admin w pewnej stronce dał mi prawo do moderowania chatu ale ja nie wiem jak dawać bany w tym SB może mi wytłumaćzyć jak to zrobić aby dawać bany

2011-07-27 22:00:36 nospor

 
Wpisz w wiadomości w shoutbox
/help
a się dowiesz

2011-07-27 22:01:13 nospor

 
a konkretnie to wpisz:
/help ip

2011-09-11 23:24:10 gość_ati

 
pzdr. staram się zintegrowac sb z wolf-em ale jakoś mi to kuleje, przy instalacji 'standalone' wszystko smiga więc to zapewne moje błędy. Mam pytanko - czy jest szansa na wersję 'standalone' z taką funkcjonalnością jak w module dla joomli? możliwość chowania sb ma swoje niewątpliwe plusy wiec, gdybyś mógł poświecić temu chwilę, fajnie by było. dzieki za twoją prace i pzdr.

2011-09-12 07:34:56 nospor

 
Szansa zawsze jest. Będę miał chwilkę to wrzucę.

2011-09-12 12:29:17 gość_ati

 
dzięki za zrozumienie

2011-09-12 14:30:07 gość_ati

 
proszę wo wskazówkę -> obecnie linki www otwierają sie w głównym oknie przeglądarki. Chciałbym target wyprowadzić na zewnątrz (żeby potem nie trzeba było wracać). W którym pliku trzeba szukać kodu do zmiany? pzdr

2011-09-12 14:43:14 nospor

 
Mamy XXI wiek i chyba każdy średnio rozgarnięty internauta wie, że klikając scrollem na link, otwiera ten link w nowej zakładce - stąd też zostawiłem linki normalnie, by każdy mógł sam zdecydować czy chce otwierać linka w tym samym oknie czy w nowym.

Jeśli jednak się upierasz do swojego, to wystarczy ustawić dla linka target="_blank" w pliku libs/ShoutBoxDefaultFormatter.class.php w funkcji AddingMessageFormat()

2011-09-12 15:58:13 gość_ati

 
w sumie masz rację, czasem człowiek jest tak zakręcony że usiłuje wyłamywać otwarte dźwi, dzieki.pzdr

2011-12-02 20:49:45 Bandit

 
Drogi nosporze,
gdybyś znalazł odrobinkę czasu to w shoutboxie miło byłoby ujrzeć automatyczne powiadamianie o urodzinach zarejestrowanych użytkowników + o istotnych rocznicach dla danej społeczności. Domyślam się, że zrobienie tego to pewnie bułka z masłem, ale dla mnie obecność takiej opcji byłaby istotną zaletą, która na pewno byłaby przydatna dla stałych użytkowników każdego shoutboxa, więc uważam, że taka opcja zasługuje na obecność w wersji oficjalnej.

Pozdrawiam,
Bandit.

2011-12-02 22:59:26 nospor

 
@Bandit a niby skąd mój shoutbox ma wiedzieć kiedy jakiś tam user Twojego systemu ma urodziny? ALbo znać jakieś rocznice jakiejś społeczności? Co ma shoutbox do systemu - na dobrą sprawę nic.
To ty jako admin swojego systemu, swojej społeczności wiesz kiedy mają ważne daty. To ty masz to sprawdzać i jeśli masz ochotę to wyświetlać w shoutbox jakieś komunikaty z tej okazji.

Owszem, można by napisać mechanizm, na podstawie którego shoutbox by wiedział, że to i to pole to data urodzenia i shout by to sprawdzał, ale to jest tylko odwrócenie kota ogonem. Nie tędy droga.

2011-12-03 01:00:05 gość_ati

 
a ja się przypominam, tak na wypadek gdybyś już znalazł nieco czasu, w temacie pływającego shoutboxa w wersji dla zwyczajnych CMS-ów. i pozdrawiam

2011-12-05 19:00:52 Bandit

 
Wiedziałem, że tak odpowiesz, ale zawsze warto jest zapytać.
php, skrypty etc. to nie moja działka, poza tym nie ma na to czasu.
Dlatego w moim przypadku praktyczniej jest użyć czegoś gotowego.

2011-12-26 23:07:45 gość_Projektowanie stron

 
Trzeba dodać że shoutboxa strasznie zjada punkty CPU, mówie tutaj o hostingu, jeśli ktoś ma zainstalowane forum +przemo +shoutboxa to widać to diametralnie

2012-01-21 13:07:48 gość_Jarek

 
Czy zgrywał ktoś ten czat z WordPressem?

Dodaj komentarz

 

Dostępne bbcode: b, u, i, color, size, quote, img, url, list, il (tylko w list), code, php, css, html, sql, js