Compare commits

...

13 Commits

Author SHA1 Message Date
6084bd87c7 Version 1.11.2 2015-07-29 08:34:28 +02:00
dbb030e431 Bugfixes and minor changes 2015-07-12 18:16:33 +02:00
27b057dec0 Version 1.11
Clean all messages of someone
Kick via active session display
Change languages supported without cookies
Global password only in setup and not in admin section
CSS Styling supported
Moved many configurations from file to database
More simplifications and bugfixes
2015-07-11 22:28:24 +02:00
3da659642d Added message encryption option 2015-06-07 16:00:21 +02:00
c0dd4dc727 Avoid using mysqlnd-only functions 2015-06-04 08:12:28 +02:00
a1a41c76e3 Bugfixes 2015-06-03 15:39:05 +02:00
55f9db6468 Version 1.9
Added more captchas
Splitted guest access and global password
Added support for irc /me command
Added prefix for multiple chats on the same domain/database
2015-06-02 08:54:18 +02:00
506407faeb Cleanup and support for memcached 2015-05-28 21:15:37 +02:00
b23830111c Version 1.7
Added member only option with global password protection
Made date format configurable
Various improvements
2015-05-04 11:52:59 +02:00
6dd7d425c7 Added option to only allow guests with a global password
Also fixed an error in valid_admin() introduced in the previous version
2015-04-26 14:21:11 +02:00
bb4ca51db8 Added incognito mode 2015-04-20 18:09:03 +02:00
92643bad03 Various changes and additions 2015-04-10 08:53:07 +02:00
be34272e1b Bugfixes on logout and kicking 2015-04-04 20:36:50 +02:00
6 changed files with 1184 additions and 831 deletions

View File

@ -1,3 +1,57 @@
Version 1.11.2 - Jul. 29, 2015
Fix security vulnerability
More simplifications
Only allow deleting your own messages, not older ones by the same nick
Confirmation when deleting all your messages
Version 1.11.1 - Jul. 12, 2015
Bugfixes and minor changes
Version 1.11 - Jul. 11, 2015
Clean all messages of someone
Kick via active session display
Change languages supported without cookies
Global password only in setup and not in admin section
CSS Styling supported
Moved many configurations from file to database
More simplifications and bugfixes
Version 1.10 - Jun. 7, 2015
Added message encryption option
Version 1.9.2 - Jun. 4, 2015
Avoid using mysqlnd-only functions
Version 1.9.1 - Jun. 3, 2015
Bugfixes
Version 1.9 - Jun. 1, 2015
Added more captchas
Splitted guest access and global password
Added support for irc /me command
Added prefix for multiple chats on the same domain/database
Version 1.8 - May 28, 2015
Code cleanup and simplification
Added support for memcached
Version 1.7 - May 3, 2015
Added member only option with global password protection
Made date format configurable
Various improvements
Version 1.6 - Apr. 26, 2015
Added option to only allow guests with a global password
Version 1.5 - Apr. 20, 2015
Added incognito mode
Version 1.4 - Apr. 10, 2015
Various changes and additions
Version 1.3 - Apr. 4, 2015
Bugfixes on logout and kicking
Version 1.2 - Apr. 2, 2015
Include letters when generating captchas not only numbers
Moved rules to database to make changes more easily in the setup

4
README
View File

@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
GENERAL INFORMATION:
This is a PHP Chat based on LE CHAT v.1.14 . An up-to-date copy of this script can be downloaded at https://github.com/DanWin/le-chat-php
This is a PHP Chat based on LE CHAT v.1.14. An up-to-date copy of this script can be downloaded at https://github.com/DanWin/le-chat-php
The original perl LE CHAT script by Lucky Eddie can be downloaded at http://4fvfamdpoulu2nms.onion/lechat/ or via a tor2web proxy like https://4fvfamdpoulu2nms.tor2web.blutmagie.de/lechat/ if you don't have TOR installed.
If you add your own cool features or have a feature request, please tell me and I will add them, if I like them.
Please also let me know about any bugs you find in the code, so I can fix them.
@ -87,6 +87,6 @@ If you never used regex before, check out this starting guide to begin with regu
LIVE DEMO:
If you want to see the script in action, you can visit my TOR hidden site http://tt3j2x4k5ycaa5zt.onion/chat.php or via a tor2web proxy like http://tt3j2x4k5ycaa5zt.tor2web.blutmagie.de/chat.php if you don't have TOR installed.
If you want to see the script in action, you can visit my TOR hidden service http://tt3j2x4k5ycaa5zt.onion/chat.php or via a tor2web proxy like http://tt3j2x4k5ycaa5zt.tor2web.blutmagie.de/chat.php if you don't have TOR installed.
Considering this is a hidden service, you should be prepared for the worst case, as people often tend to do illegal activities in the TOR network. I'm not online 24/7 so it might not be possible to remove such content right away.
If you should see illegal content, don't panic. Use the contact form on my site to notify me and clean your browser cache afterwards.

View File

@ -1,7 +1,7 @@
General Information:
--------------------
This is a PHP Chat based on LE CHAT v.1.14 . An up-to-date copy of this script can be downloaded at https://github.com/DanWin/le-chat-php
This is a PHP Chat based on LE CHAT v.1.14. An up-to-date copy of this script can be downloaded at https://github.com/DanWin/le-chat-php
The original perl LE CHAT script by Lucky Eddie can be downloaded at [his site](http://4fvfamdpoulu2nms.onion/lechat/) or via a tor2web proxy like [this one](https://4fvfamdpoulu2nms.tor2web.blutmagie.de/lechat/) if you don't have TOR installed.
If you add your own cool features or have a feature request, please tell me and I will add them, if I like them.
Please also let me know about any bugs you find in the code, so I can fix them.
@ -75,6 +75,6 @@ If you never used regex before, check out [this starting guide](http://docs.acti
Live demo:
----------
If you want to see the script in action, you can visit my [TOR hidden site](http://tt3j2x4k5ycaa5zt.onion/chat.php) or via a tor2web proxy like [this one](http://tt3j2x4k5ycaa5zt.tor2web.blutmagie.de/chat.php) if you don't have TOR installed.
If you want to see the script in action, you can visit my [TOR hidden service](http://tt3j2x4k5ycaa5zt.onion/chat.php) or via a tor2web proxy like [this one](http://tt3j2x4k5ycaa5zt.tor2web.blutmagie.de/chat.php) if you don't have TOR installed.
Considering this is a hidden service, you should be prepared for the worst case, as people often tend to do illegal activities in the TOR network. I'm not online 24/7 so it might not be possible to remove such content right away.
If you should see illegal content, don't panic. Use the contact form on my site to notify me and clean your browser cache afterwards. I will remove the content as soon as possible.

1851
chat.php

File diff suppressed because it is too large Load Diff

View File

@ -25,7 +25,7 @@ $I=array(
'expire' => 'Ungültige/abgelaufene Sitzung',
'kicked' => 'Rausgeschmissen!',
'invalnick' => 'Ungültiger Nickname (Maximal %d Zeichen, keine Sonderzeichen erlaubt)',
'invalpass' => 'Falsches Passwort!',
'invalpass' => 'Ungültiges Passwort (Mindestens %d Zeichen)',
'noconfirm' => 'Passwordbestätigung stimmt nicht überein!',
'incorregex' => 'Ungültiger regulärer Ausdruck!',
'bottom' => 'Unten',
@ -52,14 +52,24 @@ $I=array(
'msgmultikick' => 'Mehrere rausgeworfen',
'msgallkick' => 'Alle rausgeworfen',
'msgclean' => 'Raum geleert',
'dateformat' => '<a target="_blank" href="http://php.net/manual/de/function.date.php#refsect1-function.date-parameters">Datums-Formatierung</a>',
'captcha' => 'Captcha',
'enabled' => 'Aktiviert',
'onlyguests' => 'Nur für Gäste',
'disabled' => 'Deaktiviert',
'simple' => 'Einfach',
'moderate' => 'Mittel',
'extreme' => 'Extrem',
'nick' => 'Nickname:',
'pass' => 'Passwort:',
'globalloginpass' => 'Globales Passwort:',
'login' => 'Anmelden',
'admfunc' => 'Administrative Funktionen',
'allguests' => 'Alle Gäste',
'cleanmsgs' => 'Nachrichten löschen',
'room' => 'Gesamten Raum',
'selection' => 'Auswahl',
'cleannick' => 'Folgender Nickname:',
'clean' => 'Löschen',
'kickchat' => '<b>Teilnehmer rausschmeißen</b> (%d Minuten)',
'kickmsg' => 'Begründung:',
@ -74,7 +84,7 @@ $I=array(
'guestallow' => 'Erlauben',
'guestwait' => 'Mit Warteraum erlauben',
'adminallow' => 'Moderator-Erlaubnis benötigen',
'guestdisallow' => 'Verweigern',
'guestdisallow' => 'Nur Mitglieder',
'addsuguest' => 'Anwerber hinzufügen',
'register' => 'Registrieren',
'admmembers' => 'Mitglieder',
@ -83,7 +93,7 @@ $I=array(
'memsuguest' => 'Zu Anwerber machen (G)',
'memreg' => 'Zu regulärem Mitglied machen',
'memmod' => 'Zu Moderator machen (M)',
'memsumod' => 'Zu Supermod machen (M)',
'memsumod' => 'Zu Supermod machen (SM)',
'memadm' => 'Zu Admin machen (A)',
'change' => 'Ändern',
'regguest' => 'Gast registrieren',
@ -124,15 +134,15 @@ $I=array(
'switchsingle' => 'Zu Einzel-Zeile wechseln',
'switchmulti' => 'Zu Mehrfach-Zeilen wechseln',
'help' => 'Hilfe',
'helpguest' => 'Alle Funktionen sollten recht selbsterklärend sein, benutze einfach die Knöpfe. In deinem Profil kannst du die Aktualisierungsrate, Schriftfarbe und deine gewünschte Postboxgröße anpassen.<br><u>Hinweis:</u> Dies ist ein Chat, wenn du also nichts schreibst, wirst du automatisch nach einiger Zeit abgemaldet.',
'helpembed' => 'Wenn du ein Bild einbetten möchtest, füge einfach ein [img] vor die Adresse deines Bildes. Beispiel: [img]http://example.com/images/file.jpg bettet das Bild in deinen Beitrag ein. Für Videos gilt das gleiche, nur mit [vid] davor.',
'helpguest' => 'Alle Funktionen sollten recht selbsterklärend sein, benutze einfach die Knöpfe. In deinem Profil kannst du die Aktualisierungsrate, Schriftfarbe und deine gewünschte Postboxgröße anpassen.<br><u>Hinweis:</u> Dies ist ein Chat, wenn du also nichts schreibst, wirst du automatisch nach einiger Zeit abgemeldet.',
'helpembed' => 'Wenn du ein Bild einbetten möchtest, füge einfach ein [img] vor die Adresse deines Bildes. Beispiel: [img]http://example.com/images/file.jpg bettet das Bild in deinen Beitrag ein.',
'helpmem' => 'Mitglieder: Du wirst einige zusätzliche Optionen in deinem Profil haben. Du kannst deine Schriftart ändern und du kannst dein Passwort jederzeit ändern.',
'helpmod' => 'Moderatoren: Achte auf den Admin-Knof unten. Er bringt eine Seite auf, auf der du Nachrichten löschen kannst, Teilnehmer rausschmeißen kannst, alle aktive Sitzungen anzeigen lassen kannst und den Gastzugriff deaktivieren kannst, falls dies nötig sein sollte.',
'helpadm' => 'Admins: Du wirst zusätzlich in der Lage sein Gäste zu registrieren, Mitglieder zu verwalten und neue Nicknanem zu registrieren, ohne dass sie im Raum sind.',
'profile' => 'Dein Profil',
'ignore' => 'Ignorieren',
'unignore' => 'Nicht mehr ignorieren',
'refreshrate' => 'Aktualisierungsrate (20-150 Sekunden)',
'refreshrate' => 'Aktualisierungsrate (5-150 Sekunden)',
'fontcolour' => 'Schriftfarbe',
'viewexample' => 'Beispiele anzeigen',
'bgcolour' => 'Hintergrundfarbe',
@ -142,7 +152,8 @@ $I=array(
'italic' => 'Kursiv',
'fontexample' => 'Beispiel für deine gewählte Schrift',
'timestamps' => 'Zeitstempel anzeigen',
'embed' => 'Bilder/Videos einbetten',
'embed' => 'Bilder einbetten (Benötigt Cookies)',
'incognito' => 'Inkognito Modus',
'pbsize' => 'Postboxgröße',
'nbsize' => 'Notizboxgröße',
'width' => 'Breite:',
@ -180,8 +191,8 @@ $I=array(
'butallowdeny' => 'Senden',
'waitempty' => 'Keine weiteren Beitrittsanfragen zu akzeptieren.',
'wrongcaptcha' => 'Falsches Captcha',
'captchatime' => 'Captcha wurde bereits verwendet oder ist abgelaufen.',
'noguests' => 'Keine Gäste zugelassen!',
'captchaexpire' => 'Captcha wurde bereits verwendet oder ist abgelaufen.',
'noguests' => 'Entschuldigung, zur Zeit nur Mitglieder!',
'curchat' => 'Zurzeit sind %d Teilnehmer im Raum:',
'cantreg' => '%s kann nicht registriert werden',
'alreadyreged' => '%s ist bereits registriert.',
@ -189,7 +200,8 @@ $I=array(
'cantchgstat' => 'Der Status von %s kann nicht geändert werden.',
'succdel' => '%s wurde erfolgriech aus der Datenbank gelöscht.',
'succchg' => 'Status of %s successfully changed.',
'wrongpass' => 'Passwort ist falsch.',
'wrongpass' => 'Falsches Passwort!',
'wrongglobalpass' => 'Falsches gloables Passwort!',
'succprofile' => 'Dein Profil wurde erfolgreich gespeichert.',
'backtologin' => 'Zurück zur Anmeldeseite.',
'backtochat' => 'Zurück zum Chat.',
@ -228,6 +240,22 @@ $I=array(
'White' => 'Weiß',
'Yellow' => 'Gelb',
'YellowGreen' => 'Gelbgrün',
'contributors' => 'Mitwirkende'
'redirectto' => 'Leite weiter zu:',
'nonhttp' => 'Nicht-http Adresse angefordert:',
'httpredir' => 'Wenn sie nicht funktioniert, probiere diese:',
'actions' => 'Aktionen',
'sesip' => 'IP-Adresse',
'css' => 'CSS Style',
'memberexpire' => 'Mitglieder-Ablaufzeit (Minuten)',
'guestexpire' => 'Gast-Ablaufzeit (Minuten)',
'kickpenalty' => 'Rausschmiss-Strafzeit (Minuten)',
'entrywait' => 'Warteraum-Zeit (Sekunden)',
'captchatime' => 'Captcha-Ablaufzeit (Sekunden)',
'messageexpire' => 'Nachrichten-Ablaufzeit (Minuten)',
'messagelimit' => 'Nachrichtenlimit (öffentliche)',
'maxmessage' => 'Maximale Nachrichenlänge',
'confirm' => 'Bist du sicher?',
'yes' => 'Ja',
'no' => 'Nein'
);
?>

View File

@ -26,7 +26,7 @@ $I=array(
'expire' => 'Invalid/expired session',
'kicked' => 'Kicked!',
'invalnick' => 'Invalid nickname (%d characters maximum, no special characters allowed)',
'invalpass' => 'Invalid password!',
'invalpass' => 'Invalid password (At least %d characters)',
'noconfirm' => 'Password confirmation does not match!',
'incorregex' => 'Incorrect regular expression!',
'bottom' => 'Bottom',
@ -37,14 +37,22 @@ $I=array(
'sulogin' => 'Superadmin Login',
'sunick' => 'Superadmin Nickname:',
'supass' => 'Superadmin Password:',
'suconfirm' => 'Confirm Passowrd:',
'suconfirm' => 'Confirm Password:',
'susuccess' => 'Successfully registered!',
'initbtn' => 'Initalise Chat',
'initdbexist' => 'Database tables already exist! To continue, you have to delete these tables manually first.',
'initsuexist' => 'A Superadmin already exists!',
'initgosetup' => 'Go to the Setup-Page',
'captcha' => 'Captcha',
'enabled' => 'Enabled',
'onlyguests' => 'Only for guests',
'disabled' => 'Disabled',
'simple' => 'Simple',
'moderate' => 'Moderate',
'extreme' => 'Extreme',
'nick' => 'Nickname:',
'pass' => 'Password:',
'globalloginpass' => 'Global Password:',
'login' => 'Login',
'dbupdate' => 'Database successfully updated!',
'sysmessages' => 'System messages',
@ -56,11 +64,13 @@ $I=array(
'msgmultikick' => 'Multiple kicked',
'msgallkick' => 'All kicked',
'msgclean' => 'Room cleaned',
'dateformat' => '<a target="_blank" href="http://php.net/manual/en/function.date.php#refsect1-function.date-parameters">Date formating</a>',
'admfunc' => 'Administrative functions',
'allguests' => 'All guests',
'cleanmsgs' => 'Clean messages',
'room' => 'Whole room',
'selection' => 'Selection',
'cleannick' => 'Following nickname:',
'clean' => 'Clean',
'kickchat' => '<b>Kick Chatter</b> (%d minutes)',
'kickmsg' => 'Kickmessage:',
@ -75,7 +85,7 @@ $I=array(
'guestallow' => 'Allow',
'guestwait' => 'Allow with waitingroom',
'adminallow' => 'Require moderator approval',
'guestdisallow' => 'Disallow',
'guestdisallow' => 'Only members',
'addsuguest' => 'Add applicant',
'register' => 'Register',
'admmembers' => 'Members',
@ -84,7 +94,7 @@ $I=array(
'memsuguest' => 'Set to applicant (G)',
'memreg' => 'Set to regular member',
'memmod' => 'Set to moderator (M)',
'memsumod' => 'Set to supermod (M)',
'memsumod' => 'Set to supermod (SM)',
'memadm' => 'Set to admin (A)',
'change' => 'Change',
'regguest' => 'Register Guest',
@ -114,7 +124,7 @@ $I=array(
'waitreload' => 'If this page doesn\'t refresh every %d seconds, use the button below to reload it manually!',
'reload' => 'Reload',
'rules' => 'Rules',
'talkto' => 'Talk to',
'talkto' => 'Send to',
'toall' => 'All chatters',
'tomem' => 'Members only',
'tostaff' => 'Staff only',
@ -126,14 +136,14 @@ $I=array(
'switchmulti' => 'Switch to multi-line',
'help' => 'Help',
'helpguest' => 'All functions should be pretty much self-explaining, just use the buttons. In your profile you can adjust the refresh rate, font colour and your preferred input box size.<br><u>Note:</u> This is a chat, so if you don\'t keep talking, you will be automatically logged out after a while.',
'helpembed' => 'If you want to embed an image in your post, simply put [img] in front of your image URL. Example: [img]http://example.com/images/file.jpg will embed the image in your post. For videos applies the same only with [vid].',
'helpembed' => 'If you want to embed an image in your post, simply put [img] in front of your image URL. Example: [img]http://example.com/images/file.jpg will embed the image in your post.',
'helpmem' => 'Members: You\'ll have some more options in your profile. You can adjust your font face and you can change your password anytime.',
'helpmod' => 'Moderators: Notice the Admin-button at the bottom. It\'ll bring up a page where you can clean the room, kick chatters, view all active sessions and disable guest access completely if needed.',
'helpadm' => 'Admins: You\'ll be furthermore able to register guests, edit members and register new nicks without them beeing in the room.',
'profile' => 'Your Profile',
'ignore' => 'Ignore',
'unignore' => 'Don\'t ignore anymore',
'refreshrate' => 'Refresh rate (20-150 seconds)',
'refreshrate' => 'Refresh rate (5-150 seconds)',
'fontcolour' => 'Font colour',
'viewexample' => 'View examples',
'bgcolour' => 'Background colour',
@ -143,7 +153,8 @@ $I=array(
'italic' => 'Italic',
'fontexample' => 'Example for your chosen font',
'timestamps' => 'Show Timestamps',
'embed' => 'Embed images/videos',
'embed' => 'Embed images (needs Cookies)',
'incognito' => 'Incognito mode',
'pbsize' => 'Post box size',
'nbsize' => 'Notes box size',
'width' => 'Width:',
@ -181,8 +192,8 @@ $I=array(
'butallowdeny' => 'Submit',
'waitempty' => 'No more entry requests to approve.',
'wrongcaptcha' => 'Wrong Captcha',
'captchatime' => 'Captcha already used or timed out.',
'noguests' => 'No guests allowed!',
'captchaexpire' => 'Captcha already used or timed out.',
'noguests' => 'Sorry, currently members only!',
'curchat' => 'Currently %d chatter(s) in room:',
'cantreg' => 'Can\'t register %s',
'alreadyreged' => '%s is already registered.',
@ -190,7 +201,8 @@ $I=array(
'cantchgstat' => 'Can\'t change status of %s',
'succdel' => '%s successfully deleted from database.',
'succchg' => 'Status of %s successfully changed.',
'wrongpass' => 'Password is wrong.',
'wrongpass' => 'Wrong Password!',
'wrongglobalpass' => 'Wrong global Password!',
'succprofile' => 'Your profile has successfully been saved.',
'backtologin' => 'Back to the login page.',
'backtochat' => 'Back to the chat.',
@ -229,6 +241,22 @@ $I=array(
'White' => 'White',
'Yellow' => 'Yellow',
'YellowGreen' => 'Yellow green',
'contributors' => 'Contributors',
'redirectto' => 'Redirecting to:',
'nonhttp' => 'Non-http link requested:',
'httpredir' => 'If it\'s not working, try this one:',
'actions' => 'Actions',
'sesip' => 'IP-Address',
'css' => 'CSS Style',
'memberexpire' => 'Member timeout (minutes)',
'guestexpire' => 'Guest timeout (minutes)',
'kickpenalty' => 'Kick penalty (minutes)',
'entrywait' => 'Waiting room time (seconds)',
'captchatime' => 'Captcha timeout (seconds)',
'messageexpire' => 'Message timeout (minutes)',
'messagelimit' => 'Message limit (public)',
'maxmessage' => 'Maximum message length',
'confirm' => 'Are you sure?',
'yes' => 'Yes',
'no' => 'No'
);
?>