ShoutBox

ShoutBox jest to taki mini chat. 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 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 nospor

No tak... dzięki za znalezienie byka

2010-12-10 14:40 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 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 gość_Cannabis

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

2010-12-28 14:00 nospor

Ale czyszczenie okna czy wiadomości z bazy?

2010-12-28 14:01 nospor

Co do koloru to: RRGGBB czyli 00FF00

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

super program

2011-04-20 16:15 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 nospor

Twój hosting dodaje kod analitics.
{"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 gość_xxdrago

No loclahost to samo.

2011-04-21 08:21 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 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 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 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 nospor

No, wiadomości już się ładnie pobierają ale nadal z nimi leci ten kod analitics.
<!-- 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 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 gość_xxdrago

nie nie dodałem oryginalny

2011-04-22 09:05 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 gość_Bogusław

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

2011-07-06 08:15 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 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 nospor

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

2011-07-27 22:01 nospor

a konkretnie to wpisz:
/help ip

2011-09-11 23:24 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 nospor

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

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

dzięki za zrozumienie

2011-09-12 14:30 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 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 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 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 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 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 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 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 gość_Jarek

Czy zgrywał ktoś ten czat z WordPressem?

2012-03-13 19:05 gość_tish83

mam pytanko: jak zrobić, żeby suwak scrolla był zaczepiony na dole - czyli zawsze jest widoczna najświeższa wiadomość? tak jak w twoim shoutboxie?

2012-03-14 08:01 nospor

body.scrollTop = body.scrollHeight;
gdzie body to obiekt DOM diva z wiadomościami

2012-04-05 16:30 gość_Elliot

Co może być przyczyną ? Mam SuperAdministratora a mimo to mogę w shoutboxie usuwać tylko swoje wiadomości (joomla 2.5.4)

2012-04-05 16:38 gość_Elliot

już sobie poradziłem, wystarczyło zmienić z nazwy na id

2012-04-17 14:38 gość_chyzy

Witam. To znowu ja.
Po małej pomocy (& na końcu adresu strony) wszystko zaczęło mi działać i działało przez długi czas, a teraz nagle przestało. Okno nawet nie chce się wysuwać. Nic tam nie dotykałem już także nie powinno się chyba nic takiego stać. Proszę o pomoc.

adres strony: www.legnica.chwz.com.pl

2012-04-17 15:10 nospor

W kodzie strony brakuje odwołania do skryptu:
http://www.legnica.chwz.com.pl/modules/mod_nshoutbox/js/ShoutBox_jquery.js

Pewnie się bawiłeś opcjami

2012-04-17 15:35 gość_chyzy

A jak można to wrócić? Bo reinstalacja nic nie pomogła, ja próbowałem ile mogłem ale nie mogę tego naprawić.

2012-04-17 15:57 nospor

Powinieneś mieć zaznaczone w opcjach że używaj jQuery i tamto powinno się dodawać samo.

2012-04-17 16:17 gość_chyzy

Wszystko mam tak ustawione i nie działa.... No nie wiem co może być źle. Bynajmniej dzięki za pomoc

2012-04-18 07:44 nospor

Wyslij mi plik z ftp: mod_nshoutbox/tmpl/default.php
oraz zrób print screen ustawień modułu.

2012-05-17 13:56 gość_nemook

hejka, zainstalowałem ten shoutbox na joomla 2.5. jest bardzo fajny, ale mam problem. nie moge zmieniac kolorow...i nie wiem dlaczego? A druga rzecz jak wylaczyc mozliwosc kasowania wiadomosci przez uzytkownikow?z gory dzieki za podpowiedzi

2012-05-17 14:24 gość_nemook

kontynuujac wczesniejszy wpis, jako administrator nie moge kasowac wiadomosci uzytkownikow...dziwne. czy ktos bedzie w stanie pomoc?

2012-07-21 10:09 gość_tomek

halo

2012-12-31 19:14 gość_TomaszS

Witam mam bardzo wazne pytanie czy w tym SB jest opcja rejestracji nowych uzytkownikow i jeszcze admina zatwierdzenie by taki nowy mogl pisac dopiero po jego aktywowaniu?

2013-01-06 03:40 gość_ccacaccqa

ten SB to takie samo gówno jak inne darmowe w sieci gdzie każdy może Ci wejść i nasrać do woli co chce i ile razy zechce zmieniając co chwila IP.

2013-01-07 09:26 nospor

Witam mam bardzo ważne pytanie czy w tym SB jest opcja rejestracji nowych użytkowników i jeszcze admina zatwierdzenie by taki nowy mógł pisać dopiero po jego aktywowaniu?

Shoutbox do pobrania ma przykładową szybką rejestrację.

ten SB to takie samo gówno jak inne darmowe w sieci gdzie każdy może Ci wejść i nasrać do woli co chce i ile razy zechce zmieniając co chwila IP.
Rety...to straszne.... dzięki że mnie i całą resztę uświadomiłeś....

2013-08-30 14:57 gość_Iko Uchiha

Witam. Mam pytanie. Co zrobić, aby pisać "tłustymi literami", lub pochylonymi? Mam nadzieję, że uzyskam odpowiedź :3

2013-08-30 18:21 nospor

pochylone -[i]
tluste - [b]

2013-11-23 22:10 gość_sioem

<script language="JavaScript">
haslo=prompt("podaj kod dostępu","");
while(haslo!="852"){
alert("Zły kod, spróbuj ponownie")
haslo=prompt("kod możesz uzyskać na stronie głównej!","");
}
</script>

Dodaj komentarz

 

Dostępne bbcode: b, u, i, url, quote, code, php, css, html, sql, js

Ostatnio komentowane

  1. Pager przez nospor
  2. Pager przez Adrian
  3. Pager przez Chris
  4. Pager przez Chris
  5. Docker - zaprzęgamy ... przez nekih82
  6. Docker - zaprzęgamy ... przez nospor
  7. Docker - zaprzęgamy ... przez szymon

Ostatnio na forum

  1. Programista Laravel ... przez devpark
  2. PHP Developer-Wrocła... przez cv@recruit.pl
  3. (Oferta pracy) SENIO... przez IT Rekruter
  4. Prośba o radę: WebSo... przez thorash
  5. Prośba o radę: WebSo... przez nospor
  6. Prośba o radę: WebSo... przez thorash
  7. Prośba o radę: WebSo... przez nospor

Skrypty użytkowników

  1. Klasa obsługi szablo... przez Lirdoner
  2. Sekcje przez user76
  3. Klasa walidująca for... przez user76
  4. Licznik Gości online przez korey
  5. Form Builder przez Comandeer
  6. Dynamiczny licznik z... przez korey
  7. Captcha przez Comandeer