Versio

volledige chat: livechat 4.0

Een chatje die nu af genoeg is voor de 1e release. Vele updates zullen nog volgen. Huidige versie is de 1e release.

De chat heeft:
-smilies
-login systeem
-registratie systeem
-chat is openbaar te lezen zonder login.
-admin kan bannen, mod kan bannen, admin kan mod bannen maar mod kan niet admin bannen. (verander status via database, er is nog geen ingebouwde status-changer, op het bansysteem na.)
-de chat past zich aan de op drukte: wanneer er meer gepost wordt zal de chat vaker controleren op nieuwe posts. Dit is uit te zetten/aan te passen in main.js.

Voordat de commentaar om mijn oren vliegt: de volledige broncode is nog in de maak en er zal een compleet forum en nieuws-log volgen op dezelfde classes. De classes zullen daarom nog wel wat netter gescript worden. ;)

Bugs graag melden, opbouwende kritiek altijd welkom. Vragen ook welkom.

De chat heet "livechat 4.0" omdat dit ondertussen al mijn 4e chat is.
De layout is misschien geen prijswinnaar, maar layout is ook echt mijn ding niet :P

release 1.01 nootjes:
----klein javascript foutje eruit gehaald...
aangepast: ajax/livechat.php

release 1.02 nootjes:
----wie-is-online lijst werkt weer
aangepast: ajax/livechat.php

release 1.03 nootjes:
----wie-is-online foutje gefixt
----debug uitgezet
aangepast: ajax/livechat.php, js/main.js

release 1.04
----"registratie voltooid" melding wordt nu weer weergegeven.
aangepast: ajax/livechat.php

release 1.10
----LAYOUT GEFIXT
----Bij een fout van het laden is er nu een error zichtbaar.
----enkele kleine bugjes gefixt.
aangepast: ajax/livechat.php, js/main.js

BETA RELEASE 1.20
----toegevoegd: file-caching systeem die load moet verlagen. Is niet getest.
----normale release verwacht binnen enkele weken.
----neem contact op met tobyhinloopen_2 [atje] hetebrief . com (msn/mail)


LET OP:
er is nog GEEN ubb parser of support voor klikbare URL's. Dit zal komen in een komende update. Je kan eventueel zelf een ubbparser toevoegen door ajax/livechat.php aan te passen. "pre_style" wordt gestart VOORDAT de post de database ingaat. "after_style" wordt gestart wanneer de post wordt opgevraagd.

houdt er rekening mee dat after_style GEEN linebreaks mag terugsturen.

LET OP:
bij het starten van de chat moet de room aangemaakt zijn.
gebruik volgende SQL om een room aan te maken:

INSERT INTO chat_rooms VALUES(1, 'General Chat', 'sM');

sM = cache-storage setting. Andere waardes werken NOG niet. (sM = Store in Mysql)

NOTES:
-gebruik SHIFT+ENTER om een return in te voeren.
-verander "generalstatus" in de users-tabel om de status van gebruikers te veranderen om ze zo banrechten te geven. Admins kunnen iedereen bannen (ook elkaar), globals kunnen mod's en users bannen, mod's kunnen users bannen.
-wanneer een mod een ban krijgt en daarna een unban, wordt bij het unbannen de status "user" gegeven.
-custom_status is een tabel doe nog niet gebruikt wordt. Deze is voor toekomstige updates.Hij is echter wel noodzakelijk voor de werking van de engine. Zelfde voor status_names.
-alle versies zijn niet getest bij veel gebruikers omdat nog geen van de releases in gebruik is bij mij. Gelieve feedback te geven door fouten te melden. Ook hoor ik graag van je als je het gebruikt en of het goed werkt en vooral wat niet goed werkt.

Indien je up-to-date wilt blijven met updates, stuur je een simpel mailtje naar tobyhinloopen_2 [atje] hetebrief [dot] com

later komt er een website voor het pakket (chat / forum etc) waar je je kan abonneren voor updates en/of nieuwe "producten".

Mensen die willen helpen kunnen helpen door de chat te testen en te melden wat er verbeterd moet worden en wat er goed is. Dit kan hier in reactiesysteem of via mail/msn: tobyhinloopen_2 [atje] hetebrief [dot] com.

Voorbeeld: http://www.levensweg.net/chat4/

Gesponsorde koppelingen

BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  

PHP script bestanden

  1. volledige-chat-livechat-40

 

42 reacties op 'volledige chat: livechat 4.0'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Roderik Roderik
Roderik Roderik
4 jaar geleden
 
0 +1 -0 -1
Heb je een login en password voor ons?
Toby hinloopen
toby hinloopen
4 jaar geleden
 
0 +1 -0 -1
login:
phphulp

password:
phphulp
Toby hinloopen
toby hinloopen
4 jaar geleden
 
0 +1 -0 -1
aardig wat testers online geweest :P
gezellig :P
Els
els
4 jaar geleden
 
0 +1 -0 -1
Mooi script, maar bij mij werkt het niet. deze melding blijft gewoon staan. Het ophalen van de data hoort niet langer te duren dan 60 seconden
Hipska BE
Hipska BE
4 jaar geleden
 
0 +1 -0 -1
Ik raad je aan om het design eens in Safari te checken..
Daar kloppen een heleboel dingen niet.
Toby hinloopen
toby hinloopen
4 jaar geleden
 
0 +1 -0 -1
layout gefixt in chrome, safari, firefox 3 en internet explorer 7
de bovenstaande browsers zouden de chat nu correct moeten weergeven.

Er is nu een ook error zichtbaar wanneer de pagina niet geladen kan worden.

Voor mensen die niet verder dan het laadscherm komen: (els)
-database correct? wachtwoord, username en dbname?
-heb je de room aangemaakt met:
INSERT INTO chat_rooms VALUES(1, 'General Chat', 'sM');

je kan op basis van de error kijken wat het is. Je kan ook firebug addon downloaden voor firefox en dan onder de Net tab de output van "ajax/livechat.php?a=init" controleren op PHP errors.

@hipska: fixed.
Els
els
4 jaar geleden
 
0 +1 -0 -1
Hoi Toby, het werkt goed nu, bedankt.
Martijn Boshoven
Martijn Boshoven
4 jaar geleden
 
0 +1 -0 -1
Heej,
Ziet er netjes uit.
Misschien nog leuk om een soort anti-spam te maken, bv. als iemand binnen 5 sec 3x iets post dat hij 20sec niets kan posten...

Verder super! :)

( en een regel afbreek..? xD )
Toby hinloopen
toby hinloopen
4 jaar geleden
 
0 +1 -0 -1
@ martijn: SHIFT + ENTER ;)
net als in msn

met SHIFT+ENTER kan je returns invoeren.
Jonathan -
Jonathan -
4 jaar geleden
 
0 +1 -0 -1
Als ik mijn status wijzig van afwezig naar zo terug of van zo terug naar afwezig floept 'ie naar online (niet in de selectbox, maar in de user-lijst). Als ik vanaf online naar afwezig of zo terug ga werkt het wel.

Browser: Google Chrome
OS: XP Pro SP2
Martijn Boshoven
Martijn Boshoven
4 jaar geleden
 
0 +1 -0 -1
@toby
ik ken shift enter wel hoor..
wat ik bedoel is zorgen dat de tekstbox geen scrollbar onderin krijgt...
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Toby hinloopen
toby hinloopen
4 jaar geleden
 
0 +1 -0 -1
@jonathan: ik heb er hier geen last van. Dat soort dingen gebeuren heel af en toe (dat je status opeens in online veranderd). De chat hoort deze binnen iets langer dan 5 seconden te corrigeren op basis van de waarde die in de select-box is ingevuld. Indien het na 7 seconden nog steeds niet veranderd is... meldt het dan even.

@martijn: komt nog in update; komt gelijk met de BBcode class.
Juje007
Juje007
4 jaar geleden
 
0 +1 -0 -1
Een heel mooi script en zelfs shift + enter in het voorbeeld teminste hoe het zit met de code weet ik niet. Maar ik heb zelf nog nooit een PHP script gezien die dit live kan.
Toby hinloopen
toby hinloopen
4 jaar geleden
 
0 +1 -0 -1
@juje007:

Er is een variable in de javascript waarin staat of de shift knop ingehouden wordt of niet.
Wanneer men de shift knop indrukt (key-code 16, uit mn hoofd gezegd) veranderd deze waarde in TRUE. Wanneer men de knop loslaat veranderd deze waarde in FALSE.
Wanneer men op ENTER drukt wordt gecontroleerd of de waarde op TRUE of FALSE staat.
staat ie op TRUE, doe dan niets en laat de gebruiker lekker de return invoeren. Staat ie ie op FALSE, dan wordt de enter-knop genegeerd bij de textarea en in plaats daarvan wordt de inhoud van de textarea opgeslagen in een variable en verzonden via aJaX. De textarea wordt daarna geleegd. Wanneer de aJaX functie zijn werk heeft gedaan wordt de request naar nieuwe berichten gestart zodat het bericht ook vrijwel direct zichtbaar is. Tevens wordt het berichtenvenster helemaal naar beneden ge-scrollt.

Werkt niet alleen in het voorbeeld: werkt ook in de download-versies :P
Carlo  boy
carlo boy
4 jaar geleden
 
0 +1 -0 -1
Ik vind hem een mooi script, meestal ga ik scripts bewerken om ervaring er mee te krijgen.
Maar als ik zo de script zie dan denk ik...
Die gene heeft er hard aan gewerkt. Ik snap er geen sikke pit van.

Ben nog aan de leer kant bezig.
Bedankt voor je script
Stijn Neels
Stijn Neels
4 jaar geleden
 
0 +1 -0 -1
@toby: als je niet verder komt dan het laadscherm kan dit ook zijn dat je phpversie verkeerd is.
Door een technische fout bij mijn provider destijds zit ik nog op een php4 server en ik krijg die error ook, ik had nooit gemerkt dat ik nog op versie 4 zat dus heb ik mijn provider gecontacteerd.
Maar welke waarden moet je eigenlijk ingeven in je database om admin of moderator te maken?
Misschien ook handig is een script schrijven die extern is van de main scripts van de chat waarin je bb-code toevoegd en ook een aparte voor de smileys?
Maakt het makkelijker om smileys toe te voegen of bb-codes zonder te moeten scrollen in de andere code? een simpele include bijvoorbeeld?

Zou het makkelijker maken om er toe te voegen? Want ik heb wel even mogen zoeken eer ik de smilies code vond

Ook, in je voorbeeld als ik met firefox inlog en typ en vervolgens op enter duw dan verdwijnt mijn input, maar het komt niet op de chat terecht? ah maar blijkbaar verschijnt het wel voor andere gebruikers, maar niet voor de persoon die poste (werkt ook niet met ie)

Voor de rest: mooi scriptje^^
Toby hinloopen
toby hinloopen
4 jaar geleden
 
0 +1 -0 -1
@ LexTruX:

Het voorbeeld is een NIEUWERE versie in BETA fase en heeft een vage bug. De downloadbare versies werken echter prima.

Smilies en BBcode support zou ik er zelf nog inbouwen, voor nu kan je er zelf ff wat in gooien bij de functie "function after_style($input) {" en "function pre_style($input) {"

Maar er komt weer (wéér) een nieuwe chat :P
Ik ga een 5e chat maken en die wordt uiteraard wéér een stukje beter en mooier :)
Ook weer 100% open source.
Stijn Neels
Stijn Neels
4 jaar geleden
 
0 +1 -0 -1
@toby: misschien is het handig er voor te zorgen dat admins geen andere admins kunnen bannen?
Toby hinloopen
toby hinloopen
4 jaar geleden
 
0 +1 -0 -1
@LeXtruX
.. admins mogen alles. Dan moet je ze mods maken.
Je heb global mod en " normale " mod.
Stijn Neels
Stijn Neels
4 jaar geleden
 
0 +1 -0 -1
Ik heb een code geschreven voor de rechten aan te passen, ik gebruik hiervoor wel een aparte pagina: het script dat ik nu toon is er een zonder beveiligde login!
bij pass moet je maar je eigen ww plaatsen of het script aanpassen zodat er een beveiligde login is.

Ik heb hierin enkel de mogelijkheid ingestoken dat er enkel users en normale moderators bepaalt kunnen worden ;-)

Ik verstond niet veel van de code van het echte script, want ik wou er een functie inbouwen dat enkel admins ed. dit konden, maar is niet gelukt T_T
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php

$con
= mysql_connect("localhost","user","pass");
if (!$con)
  {

  die('Could not connect: ' . mysql_error());
  }


mysql_select_db("database", $con);

  
  if (isset($_REQUEST['user']) && isset($_REQUEST['rights']))
    $user = $_REQUEST['user'];
    $rights = $_REQUEST['rights'];
    if ($user != "") //voeg hier je gebruikersnaam in
    {
        if ($rights == "moderator")
        {

            mysql_query("UPDATE users SET generalstatus = 'moderator' WHERE username = '" . $user . "'");
        }

        
        if ($rights == "user")
        {

            mysql_query("UPDATE users SET generalstatus = 'user' WHERE username = '" . $user . "'");
        }
    }

    
    echo "<b>Moderator</b><br />";
  $sql = mysql_query("SELECT * FROM `users` WHERE (`generalstatus` = 'moderator');");
            while($row = mysql_fetch_array($sql))
            {

                echo($row['username'] . " <a href=\"?user=" . $row['username'] . "&rights=user&pass=\">-</a><br />");
            }

            
echo "<br /><b>Users</b><br />";

   $sql = mysql_query("SELECT `username` FROM `users` WHERE (`generalstatus` = 'user');");
            while($row = mysql_fetch_array($sql))
[
/code]
              {

                echo($row['username'] . " <a href=\"?user=" . $row['username'] . "&rights=moderator&pass=\">+</a><br />");
            }

mysql_close($con);

?>
Mike Smit
Mike Smit
4 jaar geleden
 
0 +1 -0 -1
Nice script alleen is het mischien handig als er een nieuwe gebruiker in de chat komt dat die niet alle chat berichten kan bekijken.. (Alleen vanaf dat hij erin is)

Groetjes,
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Stijn Neels
Stijn Neels
4 jaar geleden
 
0 +1 -0 -1
@mike ik vind dit best wel handig dat het niet zo is ;-)
Zero XT
Zero XT
4 jaar geleden
 
0 +1 -0 -1
Ik heb je chat om zeep geholpen.. misschien is het handig om te controleren hoelang de string is en daar een max op te zetten
Thi jn
Thi jn
4 jaar geleden
 
0 +1 -0 -1
Ik krijg elke keer een "CORRUPT RESPONSETEXT:" van Javascript tijdens het laden...
Thi jn
Thi jn
4 jaar geleden
 
0 +1 -0 -1
hmm ik heb nu een oudere versie gedownload, die doet het wel.
Toby hinloopen
toby hinloopen
4 jaar geleden
 
0 +1 -0 -1
Die online staat is een testversie die werkt zonder MySQL database. Het werkt alleen niet :P

@Thijn: owke :)
Zero XT
Zero XT
4 jaar geleden
 
0 +1 -0 -1
Quote:
@Ik krijg elke keer een "CORRUPT RESPONSETEXT:" van Javascript tijdens het laden...


Ja dat komt dus door mij. Zoals ik eerder al schreef heb ik de chat om zeep geholpen.
Thi jn
Thi jn
4 jaar geleden
 
0 +1 -0 -1
Nou ik denk niet dat het door jouw komt, want het is de chat die ik gedownload heb (dus niet die van Toby online)
Toby hinloopen
toby hinloopen
4 jaar geleden
 
0 +1 -0 -1
Voorbeeld werkt weer.

Versie 1.10 heb ik meerdere keren zelf gedownload en geinstalleerd op andere servers volgens de bovenstaande omschrijven. Het moet dan werken.
Zero XT
Zero XT
4 jaar geleden
 
0 +1 -0 -1
De online voorbeeld had ik dus getest of die wel een beetje tegen xss kan etc. en na een aantal pogingen kreeg ik dus de melding "bla bla corrupt repairing" als javascript alert.
Maurice
maurice
4 jaar geleden
 
0 +1 -0 -1
kan er ook een kick systeempje in?
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Toby hinloopen
toby hinloopen
4 jaar geleden
 
0 +1 -0 -1
@ Kris Kuiper: online versie werkt/werktte met een beta-systeem dat niet goed werkt :P
Als het goed is had ik dat ondertussen uitgezet...
Robert-Jan De Vries
Robert-Jan De Vries
3 jaar geleden
 
0 +1 -0 -1
Toby,

Is het mogelijk om dit script te integreren met mijn website en de huidige database van gebruikers?
Chris J
Chris J
2 jaar geleden
 
0 +1 -0 -1
Mij leek deze chat wel iets, helaas werken er geen download links meer, je deze kunnen maken?
alvast bedankt
Dalando De Zuil
Dalando De Zuil
2 jaar geleden
 
0 +1 -0 -1
Voorbeeld + download links down?
Jurrian Nijland
Jurrian Nijland
2 jaar geleden
 
0 +1 -0 -1
Dalando:
Voorbeeld + download links down?[/qoute]
Idd, wil ik gaan downloaden is het weg..
Dalando De Zuil
Dalando De Zuil
2 jaar geleden
 
0 +1 -0 -1
TT ik wil m downloaden maar de links doen het niet TT
Pieter Schuurmans
Pieter Schuurmans
2 jaar geleden
 
0 +1 -0 -1
Kan hij alsjeblieft weer online, wil hem heel graag!
Karl Karl
Karl Karl
2 jaar geleden
 
0 +1 -0 -1
Ik denk niet dat het terug gaat komen.
Niels Kieviet
Niels Kieviet
2 jaar geleden
 
0 +1 -0 -1
Ik zal het even aan Toby vragen ...

UPDATE:
Hij heeft dat script niet meer, maar hij is bezig met een nieuwe waar ook een tutorial bij ingesloten zit.

Gr.
Dem Ian
Dem Ian
11 maanden geleden
 
0 +1 -0 -1
En waar en wanneer is die zichtbaar?
Toby hinloopen
toby hinloopen
11 maanden geleden
 
0 +1 -0 -1
http://www.youtube.com/watch?v=0h0ZBjxp9_g

Hier is mijn nieuwe chat. Geen tutorial, maar wel een video waarin-ie gemaakt werd.

Geen PHP, helaas. NodeJS. Broncode + voorbeeld chat in description van vid

Om te reageren heb je een account nodig en je moet ingelogd zijn.

  • Labels
  • Geen tags toegevoegd.
Get Adobe Flash player