Compare commits

...

410 Commits

Author SHA1 Message Date
b8eeda6023 Some hosting providers may disable putenv for security reasons, check before using 2025-04-04 11:12:57 +03:00
39e3018222 Add more extension checks 2025-04-03 11:48:17 +03:00
5243ef0e94 Bugfix in db migrations 2025-04-03 11:30:56 +03:00
0f7006275c Check if mbstring extension is installed before using it 2025-04-03 11:30:17 +03:00
f1f991ae6c Check if intl and gettext extensins are loaded before using them 2025-04-03 11:16:27 +03:00
39482f0f55 Update translation
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/le-chat-php/
Translation: DanWin/LE Chat PHP
2025-03-29 16:03:22 +00:00
4e865f06bc Update pot 2025-03-29 17:03:03 +01:00
b0e1851b7a Show kick messages to everyone. 2025-03-29 17:01:57 +01:00
da65b9febd Update translation
Co-authored-by: Akira <kawaiisenpai@waifu.club>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/le-chat-php/ja/
Translation: DanWin/LE Chat PHP
2024-11-05 01:24:04 +00:00
a1dff47984 Update translation
Co-authored-by: Akira <kawaiisenpai@waifu.club>
2024-11-05 01:20:34 +00:00
9e5ab4f8a3 In check_login(), clear delayed logout indicator when someone logs in after logging out. 2024-08-15 14:58:03 +02:00
7fd96ccb38 Fix incognito mode and embed image option in profile page 2024-06-28 19:42:27 +02:00
a42485b248 show delayed logouts in send_post() 2024-02-25 15:22:34 +01:00
47aa90259d Add option to delay logout for guests and applicants. Fixes #46. The intent
is for a delay after posting. If the user does not post, there is a delay
from the time the user entered, because of the way $lastpost is set.
2024-01-21 10:21:21 +01:00
4610c71e09 Translate texts with gettext 2023-12-10 11:02:33 +01:00
fac752f61b Update translation
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/le-chat-php/
Translation: DanWin/LE Chat PHP
2023-12-10 09:10:11 +00:00
db7f1559c9 Add new captcha difficulty hard 2023-12-10 09:58:51 +01:00
32f3c23039 Fixed typo 2023-12-08 15:25:28 +01:00
2fca51cb7c Add Dutch and Polish translations 2023-10-16 10:43:38 +02:00
735b639d10 Update translation
Co-authored-by: Анонім <g2014test@yandex.com>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/le-chat-php/uk/
Translation: DanWin/LE Chat PHP
2023-10-14 17:51:57 +00:00
3491ae057e Update translation
Co-authored-by: Анонім <g2014test@yandex.com>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/le-chat-php/uk/
Translation: DanWin/LE Chat PHP
2023-10-12 21:51:42 +00:00
5426a761eb Fix kicking and logging out all guests 2023-10-12 00:12:36 +02:00
dba4f49849 Include Hindi translation 2023-10-04 20:29:24 +02:00
9fa78a68e9 Update translation
Co-authored-by: Weblate Admin <daniel@danwin1210.de>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/le-chat-php/hi/
Translation: DanWin/LE Chat PHP
2023-10-04 18:20:20 +00:00
a3fdae6377 Merge pull request #142 from fadkeabhi/#141-Locale]-Add-locales-for-Hindi-Language
Added translations for Hindi language
2023-10-04 18:16:04 +02:00
f6461376ed Added translations for Hindi language 2023-10-04 13:47:36 +05:30
34758972f8 Update translation
Co-authored-by: Weblate Admin <daniel@danwin1210.de>
2023-10-02 13:53:11 +00:00
9a206e1674 Update translation
Co-authored-by: Johan Gerards <vpwbpyzaba@rocketestate724.com>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/le-chat-php/nl/
Translation: DanWin/LE Chat PHP
2023-08-31 16:27:25 +00:00
9508aeaaa7 Update translation
Co-authored-by: Johan Gerards <vpwbpyzaba@rocketestate724.com>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/le-chat-php/nl/
Translation: DanWin/LE Chat PHP
2023-08-27 01:27:23 +00:00
4d23be8df5 Update translation
Co-authored-by: Johan Gerards <vpwbpyzaba@rocketestate724.com>
2023-08-26 00:51:32 +00:00
6171c154d3 Update translation
Co-authored-by: Goatli <goatli@porcod.io>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/le-chat-php/ru/
Translation: DanWin/LE Chat PHP
2023-07-17 16:08:49 +00:00
93464d7c4e Delete disallowed sessions when switching guest access mode - fixes #136 2023-07-09 13:58:25 +02:00
34d79fcfc8 Fixes #137 and #138 2023-07-09 12:44:04 +02:00
6f919dbebd Update translation
Co-authored-by: qweruba <qweruba@yandex.ru>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/le-chat-php/ru/
Translation: DanWin/LE Chat PHP
2023-06-07 05:46:58 +00:00
23a47ed619 Update translation
Co-authored-by: Calvin Honecker <Calvineries@gmail.com>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/le-chat-php/fr/
Translation: DanWin/LE Chat PHP
2023-05-26 22:46:46 +00:00
fd5a2ebe0a Update translation
Co-authored-by: Haydar Erdoğan <bygenc19@gmail.com>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/le-chat-php/tr/
Translation: DanWin/LE Chat PHP
2023-05-04 00:25:58 +00:00
68809784a7 Update translation
Co-authored-by: Haydar Erdogan <bygenc19@gmail.com>
Co-authored-by: big cat <biggiecat@danwin1210.de>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/le-chat-php/pl/
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/le-chat-php/tr/
Translation: DanWin/LE Chat PHP
2023-05-01 02:05:17 +00:00
451b0138ea Update translation
Co-authored-by: Weblate Admin <daniel@danwin1210.de>
2023-04-29 18:22:53 +00:00
13adab9374 Update translation
Co-authored-by: Goatli <goatli@porcod.io>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/le-chat-php/ru/
Translation: DanWin/LE Chat PHP
2023-02-22 16:53:52 +00:00
7618b6d59b Update translation
Co-authored-by: Zdeněk Grůza <me@zgruza.me>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/le-chat-php/cs/
Translation: DanWin/LE Chat PHP
2023-02-13 20:20:17 +00:00
243ee0f6d2 Update translation
Co-authored-by: Goatli <goatli@porcod.io>
Co-authored-by: Zdeněk Grůza <me@zgruza.me>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/le-chat-php/cs/
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/le-chat-php/ru/
Translation: DanWin/LE Chat PHP
2023-01-29 14:17:26 +00:00
76bbb834fd Update translation
Co-authored-by: Weblate Admin <daniel@danwin1210.de>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/le-chat-php/pt_PT/
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/le-chat-php/ru/
Translation: DanWin/LE Chat PHP
2023-01-26 18:54:54 +00:00
5552af39a9 Update translation
Co-authored-by: Weblate Admin <daniel@danwin1210.de>
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/le-chat-php/de/
Translation: DanWin/LE Chat PHP
2023-01-22 20:45:56 +00:00
b2c8aea0fd Parse sources as UTF-8 2023-01-22 20:37:48 +01:00
1df8c00a9c Add note about intl and gettext as required modules 2023-01-20 22:23:53 +01:00
66a4bc6b17 Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: DanWin/LE Chat PHP
Translate-URL: https://weblate.danwin1210.de/projects/DanWin/le-chat-php/
2023-01-18 21:01:59 +00:00
1c55a79122 Migrate translations from PHP array to gettext 2023-01-18 21:53:08 +01:00
b1f6de6a35 Add security policy 2023-01-07 18:13:41 +01:00
5919bd622d Removed no longer existing live demo 2022-12-11 18:27:01 +01:00
cbf1520dfd Empty history state - Fixes #130 2022-10-22 12:11:13 +02:00
745e16bc51 Minor css structure improvements 2022-09-06 22:35:59 +02:00
ddd62ed0f4 Fixed styling nicknames 2022-09-05 22:12:31 +02:00
b071f0b721 Reduce inline CSS 2022-09-05 22:05:26 +02:00
0e6202b57d Add JS helper scripts to autofocus message field after loading 2022-09-02 07:34:13 +02:00
aff8b156d6 Added new options to hide buttons, customize refresh limits and allow js 2022-09-02 05:16:33 +02:00
9056439295 Lucky Eddie's .onion site no longer exists 2022-07-02 17:16:04 +02:00
25abd8c790 updated domain 2022-07-02 17:14:17 +02:00
c8f9613934 Fixed ukranian translation file 2022-02-24 08:00:33 +01:00
3f98403268 Merge pull request #121 from vitich/patch-1
Update lang_uk.php
2022-02-23 10:14:54 +01:00
f489d8e6ca Update lang_uk.php
Ukrainian translation was horrible... It looks like the file was translated by the robot Fedor or Rogozin personally... Google translate rules!
2022-02-23 03:33:04 +02:00
500709cfb7 Merge pull request #118 from wolf128058/master
translation, urlencode, escapement, type-tag
2022-02-03 22:12:52 +01:00
062fac1278 use urlencode in urls (was htmlspecialchars) 2022-01-31 11:38:54 +01:00
bf60367704 you do not need to escape " in ' 2022-01-31 11:38:10 +01:00
bb2cc200a6 fixed some translation (de) 2022-01-31 11:37:36 +01:00
cac94d3151 you do not need "text/css"-type for style-tags 2022-01-31 11:36:51 +01:00
47d4858753 SQL Bugfix when prefix is in use 2022-01-29 13:13:47 +01:00
ee5d376a0b PayPal closed my account... 2021-11-11 13:40:27 +01:00
df18b8072c Delete deleted users data and not the admins data 2021-09-11 14:33:10 +02:00
eb04a484ab Add decryption of messages to view_publicnotes - fixes #115 2021-08-28 19:41:33 +02:00
a0df135e12 Delete data associated with deleted accounts and fix view_publicnotes function 2021-08-26 00:06:56 +02:00
4fdd795a74 Use DISTINCT rather than GROUP BY - Fixes #112 2021-08-18 19:16:16 +02:00
420b95237c Fix TypeError caused by empty memcached cache returning bool - Closes #111 2021-08-12 21:47:32 +02:00
caa0f3ddae Adding a sounds folder with sample sounds for the future (#109)
* Updating the update script to check Finnish

* Back to orig

* Added the update script back

* Add a sounds folder with some example notification sounds for the future.
2021-08-12 21:31:29 +02:00
1d654a6ac3 Add Arabic translation 2021-07-08 18:51:43 +02:00
70df4d9cf5 Fixed typo 2021-06-19 12:43:17 +02:00
373973fb25 Disallow otp-credentials Permission 2021-06-19 12:41:30 +02:00
20ebe8a995 Fix for SQLite not supporting UNION on tables that use ORDER BY 2021-05-23 12:30:51 +02:00
ec0d167647 Fix SQLite table initialization 2021-05-22 22:46:43 +02:00
5760565991 Switch errmode to exception 2021-05-22 22:32:26 +02:00
136b52d920 Catch error in get_setting function, if database is not yet initialized 2021-05-22 21:23:51 +02:00
726aea996d Fix access array offset on value of type bool warning 2021-05-22 21:21:03 +02:00
3a99548228 Fix access array offset on value of type bool warning 2021-05-22 21:18:03 +02:00
809ecb1b48 Merge pull request #103 from whalehub/patch-1
chat.php: Forbid tracking users via FLoC
2021-05-19 07:18:59 +02:00
10ded3c9a2 chat.php: Forbid tracking users via FLoC
Signed-off-by: Aaron <admin@datahoarder.dev>
2021-05-18 22:09:20 +02:00
c0a5ac137b Add new security headers 2021-05-14 21:07:22 +02:00
36b8446602 Generate fixed postid for new messages to make spamming harder 2021-05-13 15:06:03 +02:00
f7fc91e2fb New Permissions-Policy syntax - fixes #102 2021-05-04 20:20:48 +02:00
58638ba56e Make sure members can not read private messages of previous guests with the same name 2021-05-02 16:31:18 +02:00
c7169daeaf Enable SQLite support for foreign keys - fixes #93 2021-05-02 15:56:43 +02:00
0f30729dc2 Merge pull request #98 from basefont/master
Add zh_Hant messages. Warn if login failures happen during session. Link PHP documentation in Chinese and French.
2021-04-17 12:24:33 +02:00
5bf6134226 Warn if failed logins happen during a chat session. 2021-04-16 07:33:08 +00:00
ef734a72e2 Link to PHP documentation in French instead of English. 2021-04-16 02:27:53 +00:00
c488978043 Link to PHP documentation in Simplified Chinese instead of English. Traditional Chinese is not available. 2021-04-16 02:20:17 +00:00
14d909ae7e Add translation messages in Traditional Chinese script (zh-Hant) generated by opencc. 2021-04-16 01:44:40 +00:00
e590f5bbb7 Fix undefined notices 2021-04-09 19:04:37 +02:00
fd249c6aee Fix login fail tracking 2021-04-09 18:54:17 +02:00
91f08337e6 Merge pull request #97 from basefont/master
Count failed login attempts and warn about them. Delete public notes of deleted accounts.
2021-04-09 18:40:09 +02:00
a610e9d9f3 Merge branch 'master' into master 2021-04-09 18:38:51 +02:00
b79070d41c Merge pull request #96 from Finnboy94/master
Add Finnish translation
2021-04-09 18:35:11 +02:00
c192cc43c8 Merge upstream
Merge branch 'master' of git://github.com/DanWin/le-chat-php
2021-04-09 13:13:28 +03:00
6cdf4c8637 Add Finnish translation by Finnboy94 2021-03-18 19:38:56 +00:00
5c88e6832c warn about failed login attempts 2021-03-13 15:31:34 +00:00
a3be33ddbc spelling 2021-03-13 14:02:35 +00:00
d433e84c49 delete public notes in delete_account() and cron() 2021-03-13 09:57:12 +00:00
0d3058a1ab fix typo 2021-03-13 09:03:31 +00:00
140fe67bfd white space only 2021-03-13 08:38:33 +00:00
c3af18b510 Add spacing after ℹ️ 2021-03-05 19:38:39 +01:00
16ffb6fdbe Fixed SQL query 2021-03-05 19:34:44 +01:00
f9b150f3ac Identify system messages with a span title.
Add option to prepend text to system messages.
Add option to always allow members to kick.
Add option to show names of those who kick people, or clean all messages.
2021-03-05 19:25:19 +01:00
a6116c53d1 Update language update script. 2021-02-27 13:27:54 +02:00
29789142ba Merge branch 'master' of git://github.com/DanWin/le-chat-php 2021-02-27 12:34:24 +02:00
c9b8a343be Add missing new setting to db 2021-02-22 09:18:03 +01:00
f92d22372c Differenciate guests and applicants 2021-02-22 09:14:39 +01:00
0b0e3ede72 Update Portuguese translation 2021-02-22 09:12:33 +01:00
6ac952138f Merge branch 'master' of git://github.com/DanWin/le-chat-php 2021-02-14 23:27:07 +02:00
42b4f1110c Fixed syntax error 2021-02-14 21:47:42 +01:00
70b327121c Added Finnish to list of usable language
s
2021-02-14 22:01:26 +02:00
04dc256a85 Added Finnish translation. 2021-02-14 21:59:29 +02:00
b9a64e7371 Fix Whitespace 2021-02-14 17:59:03 +01:00
fdc5081407 Update Portuguese translation 2021-02-14 14:51:51 +01:00
f0f812badc Add public notes 2021-02-12 18:58:09 +01:00
e51fba28c7 change appearance of print_chatters 2021-01-24 13:03:45 +01:00
86a8a81e22 Update css example for latest code changes 2020-12-27 17:35:27 +01:00
c7b824c56b Fixed memberlist html structure 2020-12-27 17:16:36 +01:00
45035ebf36 Use mime_content_type to determin uploaded files mime type when available 2020-12-27 16:43:37 +01:00
ae642df38d Bugfix for previous patch 2020-12-27 16:12:51 +01:00
fcad1fb41a send to all, members, staff, admins from list of chatters 2020-12-27 16:07:38 +01:00
93ae61376c Add portuguese translation 2020-11-21 18:22:22 +01:00
087a18c4dd Bugfix 2020-11-15 21:05:57 +01:00
87694a0ba7 Remove mixed type as it is only compatible with PHP8 2020-11-12 09:41:47 +01:00
b148b7c526 Fixed PHP7 compatibility 2020-11-11 19:56:07 +01:00
6e39ec7222 Use correct ISO 639-1 Language Codes 2020-11-09 18:15:38 +01:00
3abd5377b5 auto-kick spammers not setting a postid 2020-11-08 21:23:29 +01:00
b45e18261f Improved background-forground color contrast for links 2020-11-06 22:30:19 +01:00
c9a1f3af4f Print meta description 2020-10-25 15:09:01 +01:00
de1893c0f4 Added meta description setting for SEO 2020-10-25 15:00:19 +01:00
b611606f9e Add autocomplete hints for password managers 2020-10-25 14:38:38 +01:00
f0e9a1a4dd Catch exceptions 2020-10-25 13:55:08 +01:00
4c5c3e9ff0 Add browser themeing 2020-10-24 22:03:05 +02:00
cbd07f2f57 Unquote font-family names where applicalable 2020-10-24 21:43:23 +02:00
8712e76814 Simplified link matching regex 2020-10-24 21:25:42 +02:00
e3d355ea84 Prevent really long (spam) messages from taking too much space 2020-10-24 21:13:36 +02:00
a83d234a0c Add viewport meta tag for mobile friendly chat 2020-10-24 21:07:40 +02:00
6bb073323d Move from frames to iframes 2020-10-24 19:27:33 +02:00
f5a051cfbb Move away from using $_REQUEST when not necessary 2020-10-24 17:43:52 +02:00
396fc98eef Make use of strict type checking on function return values and parameters 2020-10-17 16:29:22 +02:00
a0c988d574 Merge pull request #87 from DanWin/forgotten-password
Add password reset for super admin
2020-10-17 14:28:10 +02:00
328938f473 Add password reset for super admin 2020-10-17 14:26:51 +02:00
c0f2faead4 Setup needs to be accessible without POST 2020-10-17 13:22:09 +02:00
20a97070f8 Update readme 2020-10-17 12:59:01 +02:00
e90b9cc9c4 Release new version 1.24.1 2020-10-17 12:53:00 +02:00
ede3d7938d Add language meta info and minor restructuring of code 2020-10-17 11:58:39 +02:00
8df28af021 Use $T for translation instead of verwriting $I directly 2020-10-15 22:28:01 +02:00
c3e316d412 Various minor optimizations 2020-10-15 20:46:04 +02:00
919876480d Merge pull request #81 from cypherbits/remove-request-use
For dangerous and only-POST routes check if it is POST request.
2020-10-15 17:13:48 +02:00
4e6cc8d1ab Merge pull request #86 from DanWin/DanWin-funding
Create FUNDING.yml
2020-10-15 17:12:32 +02:00
3dd5de099e Create FUNDING.yml 2020-10-15 17:12:17 +02:00
c71e17103f Fix chrome flashing white on frame reload 2020-10-15 09:43:06 +02:00
8d84e45c3c Add promise not to use any features 2020-10-15 09:42:29 +02:00
d37fc14483 Updated copyright 2020-10-15 08:26:47 +02:00
815d9f203e Improved CSP rules 2020-10-14 13:38:30 +02:00
cca830d9db Fixed syntax error 2020-09-20 21:50:37 +02:00
de04614155 Merge pull request #77 from cypherbits/work1
Little fixes
2020-09-15 20:59:20 +02:00
025709508b Fix guest room bypass #73 2020-09-15 19:37:45 +02:00
34fce5f7ab Merge pull request #75 from cypherbits/master
Fix link filters, image embeds, and redirects.
2020-09-15 18:57:01 +02:00
b7ff7c9eb7 For dangerous and only-POST routes check if it is POST request. 2020-08-05 19:15:37 +02:00
b1c7242752 Little fixes 2020-08-02 17:54:47 +02:00
51fb54e0aa Oops... 2020-08-01 22:40:42 +02:00
e5e3b478dc Fix link filters, image embeds, and redirects. 2020-08-01 21:14:39 +02:00
463d66e11e Include Turikish translation 2020-08-01 20:48:57 +02:00
ed4908b7c7 Merge pull request #70 from creuzwagen/patch-1
Create lang_tr.php
2020-08-01 20:47:41 +02:00
f8fa78f278 Update lang_tr.php
Fully completed
2020-07-15 17:49:57 +03:00
7109b5bd80 Update lang_tr.php 2020-07-14 01:18:44 +03:00
1abedd1f10 Update lang_tr.php 2020-07-14 00:30:15 +03:00
c9699362a0 Create lang_tr.php 2020-07-13 13:53:52 +00:00
cc6d36e7ce Merge pull request #66 from cypherbits/php-version-check
If encryption is enabled, check the PHP version is at least 7.2
2020-06-11 10:39:14 +02:00
217bd9b08a Merge pull request #67 from whalehub/patch-1
Fix indentation in chat.php
2020-06-11 10:36:37 +02:00
972f1a62c1 Fix indentation in chat.php 2020-05-17 14:14:44 +02:00
9ab4622b67 If encryption is enabled, check the PHP version is at least 7.2 2020-05-11 18:24:25 +02:00
62f335d220 Merge branch 'master' of https://github.com/DanWin/le-chat-php 2020-05-11 18:18:03 +02:00
43a6adfa1c Fix undefined index notice 2020-05-07 21:47:49 +02:00
e137eb81ac Updated readme 2020-05-07 21:06:16 +02:00
035cfa6aa4 Harden all cookies 2020-05-07 20:50:20 +02:00
e9a1d61027 Allow data URI for img and media in CSP 2020-05-07 20:38:17 +02:00
a4d2484e24 Merge pull request #63 from cypherbits/fix-security-header
Fix Content-Security-Policy header.
2020-05-07 20:29:27 +02:00
ac46e658bd Merge pull request #64 from cypherbits/faster-encryption-load
If admin defined keys with the right length, do not compute the keys.
2020-05-07 20:28:35 +02:00
9c5e879d7d Merge pull request #62 from cypherbits/fix-session-xss
Fix XSS in session variables.
2020-05-07 20:28:10 +02:00
b7ff54f8d1 Merge branch 'fix-security-header' 2020-05-03 17:42:29 +02:00
5aeca202ca fix 2020-05-03 17:41:56 +02:00
6189120795 Merge branches 'faster-encryption-load', 'fix-security-header' and 'fix-session-xss' 2020-05-03 17:31:10 +02:00
c2cd0258f1 If admin defined keys with the right length, do not compute the keys. 2020-05-03 15:18:41 +02:00
0f97ddd573 Fix Content-Security-Policy header. 2020-05-03 15:08:30 +02:00
81b8b78df0 Fix XSS in session variables. 2020-05-03 11:13:52 +02:00
0f3a04b4de Merge pull request #61 from cypherbits/safe-cookies
Session cookies security hardening.
2020-05-03 10:33:00 +02:00
581aede13f Session cookies security hardening. 2020-05-02 21:53:19 +02:00
e149c9f97d Fix reflected XSS vulnerability 2020-05-02 19:42:34 +02:00
1887d42a78 Merge pull request #58 from cypherbits/new-encryption
New generation AES256-GCM encryption by libsodium. PHP >= 7.2 needed
2020-05-02 18:32:50 +02:00
95fd504249 Merge pull request #60 from cypherbits/header_security
Add more security headers
2020-05-02 18:28:44 +02:00
c728d6d447 Merge pull request #59 from cypherbits/link_privacy
Add chat link privacy with noreferrer and noopener
2020-05-02 18:27:57 +02:00
95c1faf1d9 Correctly calculate frameset hight for non-upload enabled users 2020-05-02 18:23:35 +02:00
c5e55e8bc0 add more security headers 2020-05-02 18:11:35 +02:00
1cdf6cbf55 add chat link privacy with noreferrer and noopener 2020-05-02 17:25:09 +02:00
7adf9732ef fix... 2020-05-02 13:53:17 +02:00
f0659466c1 openssl to libsodium 2020-05-02 13:30:29 +02:00
0963acafcf New generation AES256-GCM encryption by libsodium. PHP >= 7.3 needed. 2020-05-02 12:16:36 +02:00
d58fdeee8b Added example CSS that moves the chatters list to the right 2020-04-12 12:45:39 +02:00
e0d6fe5d91 Merge pull request #57 from infoabcd/master
Full Chinese translation
2020-04-11 11:21:38 +02:00
f605137313 Add files via upload 2020-04-11 08:09:12 +08:00
03f9a86515 Allow making file upload member-only and added required tag to captcha input 2020-02-29 14:26:48 +01:00
cfd54b09be Add filtermodkick setting to db if missing 2019-02-24 13:17:01 +01:00
16b81337b1 Merge pull request #52 from virtualghetto/filtermodkick-fix
fix filtermodkick setting
2019-02-24 13:08:47 +01:00
2cd5d18511 Merge pull request #50 from virtualghetto/next-gen-hotlink
Next-Gen Onion Hotlink
2019-02-24 13:02:41 +01:00
0ae827450a Merge pull request #51 from virtualghetto/restore-enc-notes
Restore encrypted notes
2019-02-24 12:59:47 +01:00
5589999b0f fix filtermodkick setting
filtermodkick should be defined in the settings array instead of reg.
2019-02-16 18:42:56 +00:00
4d0b828879 Restore encrypted notes
send_backup() decrypts the notes if MSGENCRYPTED is enabled.
So, re-encrypt the notes on restore.
2019-02-03 15:45:18 +00:00
268328f82c Next-Gen Onion Hotlink 2018-11-07 15:50:51 +00:00
a63901fc76 Fix php notice + update copyright year 2018-04-22 15:02:09 +02:00
36a8727d2f Added Czech translation 2018-04-15 12:30:36 +02:00
5cfe783649 Better check whether messaging is really allowed when validating new messages 2017-10-05 20:40:26 +02:00
d832cf64ec Added Ukrainian and updated Russian translation 2017-09-11 19:45:02 +02:00
7002e3fbad Added Italian translation 2017-09-10 17:17:01 +02:00
e83bdda10f Check captcha before password, delete via cron and fix backtologin with global password enabled 2017-09-01 19:21:03 +02:00
b250285a71 Added Bulgarian translation 2017-07-17 18:51:24 +02:00
0080aee4c3 Updates Spanish translation 2017-05-24 17:26:02 +02:00
a59e248851 Prepare Spanish language files for translation 2017-05-17 19:00:35 +02:00
507407cfc1 Make captcha a little harder + minor SQL optimization 2017-04-20 17:32:27 +02:00
450d97c40f Updated Russian translation + minor improvements 2017-03-04 20:19:30 +01:00
9a99d34798 Fix update from older versions 2017-01-23 17:43:54 +01:00
2ae523feee Fix restoring members in backup and restore 2017-01-17 18:16:11 +01:00
d4a35bc60e Restructure initalization code to fix setting up new chats 2017-01-01 14:25:58 +01:00
8142c9c799 Fix ignore list in profile when using prefix + minor optimization 2016-12-30 10:25:54 +01:00
361137db9f Prevent non-admins from loging in incognito via setup 2016-12-30 08:36:13 +01:00
5c32a8859f Force space after /me to prevent posting "as someone else" 2016-12-30 07:19:18 +01:00
208c354284 Sort ignore list alphabetically 2016-12-30 07:05:59 +01:00
c5b080154c Let offline members be ignored 2016-12-30 07:00:43 +01:00
0e6acb8806 List offline members in ignore too, if they posted a message 2016-12-30 06:46:35 +01:00
675568bd30 Performance optimization in cron 2016-12-30 06:08:50 +01:00
f7950e8ee1 Replace configurable static size for notes and post textarea with css 2016-12-27 19:19:16 +01:00
b1713dadc1 Don't display manual refresh message if animation is unsupported 2016-12-26 09:44:23 +01:00
8dd81ed766 Allow disabling applying of kick filters on moderators 2016-12-25 10:39:13 +01:00
0e82276697 Add personal notes 2016-12-24 18:19:46 +01:00
6c885d7c02 Use scheduled tasks instead of executing them on every action 2016-12-24 06:45:04 +01:00
048a373ef7 bugfix 2016-12-22 18:27:26 +01:00
19df2e030a Let everyone ignore anyone + bugfixes
Mods not seeing ignored peoples posts has been fixed before
2016-12-17 13:46:44 +01:00
cb78be1f17 Fix posting, when using regex characters in a url 2016-12-08 20:47:28 +01:00
87e3864daf Increase manual refresh timeout, annoying when server busy 2016-11-28 16:27:01 +01:00
370c322dc6 Fix table creation with new timezones 2016-11-27 20:14:52 +01:00
db026ede18 Add message asking for manual refresh, when it stopped working 2016-11-27 19:37:05 +01:00
d405333419 Use PHPs internal timezone management
Replaces old system completely, all previous settings will be lost
2016-11-27 16:17:23 +01:00
c4e9d76b05 Turn isSet to isset 2016-11-27 09:57:24 +01:00
98f7634a12 Let login, if an old expired session is submitted via the form. 2016-11-27 09:51:12 +01:00
0ecd188559 Separate changing nickname and password 2016-11-27 08:13:02 +01:00
8ca4f9178b get rid of global $F 2016-11-26 20:06:25 +01:00
8197ee6679 Add option to make your own font small 2016-11-26 16:23:05 +01:00
351aabc84b Incorporate Simplified Chinese translation 2016-11-26 09:08:22 +01:00
da99281a5d Merge pull request #4 from jingjinghack/translate
Translate to zh_CN
2016-11-26 08:53:50 +01:00
c8cb6cbd79 Get rid of global $H, use functions instead 2016-11-26 08:17:09 +01:00
972a40af51 translate to zh_CN 2016-11-25 13:13:44 +08:00
92d52d65a0 translate zh_CN 2016-11-24 21:25:36 +08:00
3640da7f8e Use more secure password_hash() for password hashing. 2016-11-20 07:03:05 +01:00
771f555305 Minor sql optimization 2016-11-19 09:33:43 +01:00
bcc80c468d Add stronger randomness on session key generation 2016-11-19 06:50:57 +01:00
88a91658bb turn array() into shorter [] 2016-11-16 20:34:47 +01:00
8ce48c837c Wrap label tags around input, to optimize html output size 2016-11-16 19:57:31 +01:00
25393dd377 Fix uninitialized database access 2016-11-13 08:24:28 +01:00
33c4095c58 Fix initialization on first setup 2016-11-13 08:18:29 +01:00
002b618443 Use simpler UNION in SQL for optimization 2016-11-07 19:48:08 +01:00
5abfb9c9d6 Optimize PM deletion, just keep them around instead of aggressively deleting 2016-10-31 05:39:20 +01:00
6023afa1e7 Improved inbox deletion handeling 2016-10-29 21:39:53 +02:00
bbbfe93dce A few bugfixes and improvements 2016-10-29 15:52:24 +02:00
005bc932ed Add u Modifier to preg_* to imporve multi-byte UTF-8 character handling 2016-10-05 20:16:26 +02:00
9a2e5868e8 Fix multi-byte after @mention 2016-10-05 18:30:44 +02:00
0e969a1894 Allow making CSS more unique, by adding more ids/classes and allowing to over-write hardcoded CSS 2016-10-03 10:40:00 +02:00
75263aea4b Add integrated file upload support 2016-09-24 08:51:20 +02:00
18d5954138 Make @mention work at the end of a line in multi-line mode. 2016-09-20 18:48:54 +02:00
b2de7a0dc9 Bugfix for prefix-routed chats + make rearranging frames change message sorting direction 2016-09-20 16:42:31 +02:00
96ee911c53 Make colour input use colorChooser, if supported 2016-09-19 23:17:34 +02:00
68a29558b1 Remove up to two characters from the end of @mention to also match @mention, etc. 2016-09-19 11:32:43 +02:00
9156af26e5 Depending on database engine, SQL-lower works different from mb_strtolower() use SQL-lower only 2016-09-19 10:59:43 +02:00
84e4a91656 Consider storage-overhead for varchar 2016-09-19 07:00:34 +02:00
2855566261 Fix varchar(20000) being too long with 4-byte characters 2016-09-18 22:28:16 +02:00
3cbeee4f1b Don't hotlink external links in filters which have " in front of it, to allow linking an external ressource via HTML 2016-09-18 20:12:01 +02:00
400e5fe03e Fix bug: Prevent usage of space in new nicknames 2016-09-13 09:01:19 +02:00
ee2e29db2e Don't send messages to inbox when in incognito 2016-09-11 11:11:50 +02:00
219d30f8b3 Add better multi-byte character support - New dependency: mbstring extension 2016-09-06 19:54:16 +02:00
22f7fb82a4 some bugfixes + improvements 2016-09-06 14:20:18 +02:00
d0163957f6 Make nicknames in the chatters list clickable to send PMs more easily 2016-09-05 19:05:10 +02:00
c9f622265f de-duplicate code 2016-09-05 15:56:42 +02:00
77aac82f98 Add option to hide the list of chatters 2016-09-05 15:36:41 +02:00
ac5092d5b6 Fix bug: Let guests ignore members 2016-09-05 09:16:58 +02:00
467d9b55f2 Escape nickname on output, since html entities can now be used 2016-09-05 07:51:39 +02:00
691e36cd6b Allow making filters case sensitive 2016-09-04 13:09:12 +02:00
453d3a1421 When sorting messages top to bottom, put notifications at the botom. 2016-09-02 15:29:36 +02:00
c11365fecf Turn on nocache, when top to bottom message sorting is default 2016-09-02 14:22:21 +02:00
abab38e67b Allow changing frame sorting 2016-09-02 13:20:24 +02:00
8e75c36572 Don't escape CSS (fixes use of html entities) 2016-09-02 10:35:18 +02:00
1753606b8a Allow changing message sort direction 2016-09-02 10:23:33 +02:00
ff158feffa Rename logout to unban for kicked sessions and replace backtochat with a reload button 2016-09-02 08:37:00 +02:00
95919e81f6 Add logout button to session view and allow logging out kicked sessions 2016-08-31 21:42:35 +02:00
6365372ada Style status changes 2016-08-31 18:54:30 +02:00
70c59b4638 Use int rather than string for two variables. 2016-08-31 13:47:02 +02:00
3f19d3aae0 Add an option to first display a greeting message, before showing messages 2016-08-29 13:12:17 +02:00
c05f1e613f Remove global variable for configuration 2016-08-28 21:44:18 +02:00
f8abff926b Set replace of a filter used for kicking as kickmessage 2016-08-28 21:05:05 +02:00
1ec5a6b562 Make /me work with custom texts 2016-08-28 18:20:20 +02:00
2d4ba6f902 Fix style in PM 2016-08-28 16:40:08 +02:00
8d9e6a70ce Remove global variable for present users 2016-08-28 15:57:38 +02:00
131c84a78f Simplify registration function 2016-08-27 16:41:24 +02:00
68d0f5d2b4 Remove global variable for members 2016-08-27 16:19:36 +02:00
064d5f6e4a Add external CSS setting for large stylesheets 2016-08-26 16:31:53 +02:00
9606d20a27 Don't keep track of moderator count globally, use new function instead. 2016-08-26 14:52:17 +02:00
61126c77eb Hash collisions are extremely unlikely, simplify check for it. 2016-08-25 14:59:50 +02:00
2ab29a0014 Prevent browser from caching at all. 2016-08-17 14:50:31 +02:00
0d9a9de558 Allow configuring password and nickname regex 2016-08-12 13:28:54 +02:00
37b0a323ad Instruct browser not to send referrer.
Enable image embedding without cookies as there is no more risk of session leakage.
2016-08-09 21:07:49 +02:00
2b8faa735a Prevent posting the same message twice, if no other message was posted in-between 2016-07-30 16:45:01 +02:00
2951780599 Allow ignoring incognito chatters 2016-07-25 12:26:57 +02:00
9d758146d1 Fix warning when ignoring a user, that has already left. 2016-07-25 08:19:44 +02:00
6a8442969d Don't show a kick button on your own session in the list of active sessions 2016-07-24 20:34:18 +02:00
7972453e42 Don't display empty option for system messages in delete messages by name 2016-07-24 10:19:34 +02:00
f9b53cb044 Allow deleting messages by name, when only PMs were sent. 2016-07-23 20:40:18 +02:00
24575374eb Use pre-calculated greyval instead of calculating it every time 2016-07-23 07:50:43 +02:00
18810a387c Delete messages based on public message limit, no buffer for private ones needed 2016-07-23 07:49:20 +02:00
8518536956 Use subqueries for less db traffic 2016-07-22 14:42:35 +02:00
0ebb5ddc82 Allow selectively deleting your own messages 2016-07-21 20:30:34 +02:00
643189d5ee Simplify ignore logic + disallow ignoring chatters with higher status 2016-07-21 09:12:07 +02:00
5c4586c04e Check permission before selectively deleting a message. 2016-07-19 23:01:33 +02:00
ba35a1c8d0 Don't hotlink schema links without protocol. 2016-07-15 17:56:41 +02:00
e8968d7712 Fix typo in CHANGELOG 2016-07-14 13:17:36 +02:00
35a2d5a524 Third attempt to fix the same bug 2016-07-12 20:43:36 +02:00
2cf52871b8 Fetch only relevant ignored data 2016-07-12 11:31:08 +02:00
309d86050b make $A and $P use same data layout 2016-07-12 11:02:52 +02:00
c8f3020f17 Yesterdays bugfix broke more than it fixed, refixed. 2016-07-10 10:38:15 +02:00
260dbdfd56 Fix bug preventing to send PMs to number-only nicknames 2016-07-09 17:52:29 +02:00
53211076a0 Making a moderator to member now sets incognito back to disabled 2016-06-13 19:55:09 +02:00
5ef5d5f701 Bugfix 2016-05-21 16:49:05 +02:00
b053e18e11 Make embed image option re-appear whith cookies disabled 2016-05-17 09:55:52 +02:00
eb13ee2d2f Completely fix link-redirection 2016-05-15 09:33:06 +02:00
dca1b81ef9 Add a lang_update.php script to auto-update language files 2016-05-11 12:46:50 +02:00
86b1de0ec8 Add setting in profile to allow offline inbox for: staff, members or everyone 2016-05-10 12:49:31 +02:00
147c511c61 Only use js if browser refresh stopped working 2016-05-10 08:16:25 +02:00
07ff78994e Remove JavaScript "load only new messages" feature, add JS auto-refresh to header instead 2016-05-07 10:37:56 +02:00
b09cb6b352 Fix parts of the offline inbox 2016-05-01 20:15:55 +02:00
e454b44f2b de-duplicate code 2016-04-30 15:29:41 +02:00
a72cd08cfb Fix duplicated class-tags and spelling mistake in SQL 2016-04-29 23:03:16 +02:00
190ec4c863 Allow deletion of member accounts in profile 2016-04-29 21:51:08 +02:00
3105cffaf1 Add an offline inbox for members 2016-04-29 21:47:32 +02:00
1a8eefc396 Fix wrong registration variables 2016-04-28 19:07:09 +02:00
47ffde6839 Better wording for registering applicants 2016-04-28 16:40:07 +02:00
ae3fe6d510 Optimize language-selection function 2016-04-28 11:59:23 +02:00
6ccce399b7 De-duplicate code 2016-04-28 11:05:09 +02:00
8538b22f6a simplify parse_sessions() and write_new_session() 2016-04-28 09:58:07 +02:00
a37026ca64 Add useful error message on failed login 2016-04-28 09:02:42 +02:00
555208a556 Combine Password reset and setting new nickname 2016-04-27 11:14:54 +02:00
d9c9dae6c0 Complete time zone feature 2016-04-27 09:57:34 +02:00
266523902f Avoid douple-parsing of sessions, when logging out or kicking 2016-04-26 13:25:44 +02:00
8408edd1f8 Fix incorrect header 2016-04-26 12:27:39 +02:00
7210a9fc90 Add timezone settings 2016-04-26 12:26:40 +02:00
37fbb7bc43 Allow disabling the chat completely 2016-04-20 15:48:12 +02:00
e72dc58d56 Simplify check_init() 2016-04-19 20:24:53 +02:00
b2df491ab7 Add disable PM option 2016-04-19 20:14:06 +02:00
63b4764ec4 Display a fatal error, if SQLite engine fails to connect to the database 2016-04-19 16:13:30 +02:00
15a4eb62bc Simplify SQL table creation by using common data types for all engines 2016-04-19 15:52:15 +02:00
60355735ee Make nocache refresh hack configurable in profile 2016-04-18 17:22:22 +02:00
0b8cdcc1e5 Remove nocache hack from message reload again
(scrolls back to top every time)
2016-04-17 08:12:48 +02:00
51ee2e1495 Split routing into several sub-functions 2016-04-16 21:04:41 +02:00
db86cb984b Fix a few forms to be used cookie-less 2016-04-15 16:07:15 +02:00
30d460b91e Improve invalid filter handling + allow new line match with \n 2016-04-15 15:16:18 +02:00
ea24d7ae5b Add caching hack for aggressively caching browsers (e.g. links) 2016-04-15 08:54:14 +02:00
6a8186d984 de-duplicate code by using new functions 2016-04-14 22:32:02 +02:00
2757f62d48 Properly escape some parameters 2016-04-14 22:08:20 +02:00
df140d0ee7 Fix warning on redirection of links without a scheme 2016-04-14 19:44:32 +02:00
6890bdb80a Allow extreme captcha to be solved in both directions 2016-04-14 19:12:15 +02:00
5c62bcef00 Add CSS classes and move more css to the database 2016-04-14 18:49:25 +02:00
f2c6d9fb95 Fixed a typo 2016-04-13 21:38:20 +02:00
8749eb0982 Fix language parameter overwrite 2016-04-13 20:08:20 +02:00
1c74441bb4 Better message routing and fixed handling of links with special characters 2016-04-13 20:01:26 +02:00
d4ef35e8ac Add better fatal error handling 2016-04-12 22:19:22 +02:00
0092abe964 Add option to let guests register themselves 2016-04-12 20:12:34 +02:00
333983a2c3 Fix guestaccess selection in setup 2016-04-11 16:20:28 +02:00
fd807ff5ff Add fallback option for moderator approval 2016-04-11 16:05:20 +02:00
bc3bb8e3a4 Attempt to create database when there is no connection 2016-04-11 16:05:07 +02:00
e181af4df5 Move some more settings to the database and add CSS to limit list of chatters hight 2016-04-11 16:02:27 +02:00
a22ffd83fd Several optimizations
Use constants for configuration
Simplify extreme captcha code generation
Add language setting to profile
Add checks for required extensions
2016-04-10 15:52:19 +02:00
8d2b10468f Allow using html tags in linkfilter without breaking dereferrer or image embed 2016-03-06 07:54:34 +01:00
cbba4e5784 Merge pull request #2 from yolateng0/patch-2
Update lang FR
2016-02-24 18:26:33 +01:00
Yo
dd4d5cbb7e Update lang FR 2016-02-24 16:27:13 +01:00
8c752b07b6 Updated French translation 2016-02-21 20:43:28 +01:00
c70cf35d61 Integrate French translation and use Unix line ending for Spanish translation. 2016-02-20 17:16:39 +01:00
2048f4c4b5 Merge pull request #1 from yolateng0/patch-1
creat language FR
2016-02-20 16:59:40 +01:00
Yo
7e7433ead3 creat language FR
not completed
2016-02-20 16:13:50 +01:00
6ad5b4bc8b Added 2 Spanish translations.
Thanks for the submission!
2016-02-18 09:45:18 +01:00
2be93518cb Don't display kicked people and fix deadlock warning 2016-01-26 20:04:54 +01:00
8765c104f9 Added indonesian translation 2016-01-02 14:25:54 +01:00
0d00adb2cb Fix XSS vulnerability in change nickname + make it available for registered users only 2015-12-19 20:18:14 +01:00
ea6b97372f Version 1.15
Made code reading easier for newbies
Removed inefficient memcached caching of members and ignored
Display access denied page for non-authorized use of sub-sections.
Added change nickname option in profile
Various bugfixes
2015-12-17 19:44:09 +01:00
95a13f7656 Bugfix-version 1.14.1
Ignore possible deadlock warning
Only display the let users in button when there are guests waiting to be let in
Fix filter and ignore feature if they have multiple values
2015-11-02 09:06:16 +01:00
2e1c75691d Version 1.14
Added support for sqlite and PostgreSQL database engines
Replaced deprecated HTML with CSS for HTML5 compatibility
Show Topic on login and don't prepend "Topic:"
More optimizations and fixes
2015-10-31 13:59:49 +01:00
4791d2efa9 Fix saving some setup settings 2015-09-15 12:24:41 +02:00
d5197e6bdd Version 1.13
Switch from mysqli to PDO
More optimizations
Match case-insensitive @mention and also non-present members
Added topic field
Member password resetting by admins
Note revisioning
Added optional tiny JavaScript code to transfer less data with JavaScript enabled browsers
2015-09-15 09:57:00 +02:00
891175d39a Update Russian translation 2015-08-21 21:00:59 +02:00
ec72f55423 Fix member registration 2015-08-18 18:33:22 +02:00
05faa22cbb Add russian translation 2015-08-18 15:30:35 +02:00
1e4b1d5489 Fix redirection and image embedding 2015-08-18 08:31:29 +02:00
3038a3b53c Fix update query 2015-08-17 22:31:13 +02:00
2a6db3772b Version 1.12 2015-08-17 19:28:34 +02:00
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
74 changed files with 38812 additions and 2534 deletions

4
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1,4 @@
# These are supported funding model platforms
github: DanWin
liberapay: DanWin1210

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
*~

244
CHANGELOG
View File

@ -1,3 +1,246 @@
Version 1.24.1 - Oct. 17, 2020
Add Turkish translation
Security hardening
Fixed chrome flashing frames white on reload
Version 1.24 - May. 2, 2020
Allow making file upload member-only
Added required tag to captcha input
Add Chinese translation
Security hardening
Fixed chrome flashing frames white on reload
Version 1.23.7 - Feb. 24, 2019
Support V3 hidden services
Fixed filtermodkick setting
fixed restore_backup not encrypting notes
Version 1.23.6 - Apr. 22, 2018
Added Czech, Italian and Ukrainian translation
Updated Russian translation
Bugfixes
Version 1.23.5 - Sep. 1, 2017
Added Russian and Bulgarian translation
Updated Spanish translation
Bugfixes and optimizations
Version 1.23.4 - Jan. 23, 2017
Fix update from older versions
Version 1.23.3 - Jan. 17, 2017
Fix restoring members in backup and restore
Version 1.23.2 - Jan. 1, 2017
Restructure initalization code to fix setting up new chats
Version 1.23.1 - Dec. 30, 2016
Replace configurable static size for notes and post textarea with css
Let offline members be ignored
Force space after /me to prevent posting "as someone else"
Prevent non-admins from loging in incognito via setup
Version 1.23 - Dec. 25, 2016
Optimizations
More secure session key generation and password storage
Add option to make your own font small
Separate changing nickname and password
Use PHPs native timezones
Add message asking for manual refresh, when it stopped working
Add personal notes
Allow disabling applying of kick filters on moderators
Version 1.22.1 - Nov. 13, 2016
Performance optimizations
Fix initialization on first setup
Version 1.22 - Oct. 29, 2016
Add logout button to session view and allow unbanning kicked sessions
Allow changing message sort direction
Don't escape CSS (fixes use of html entities)
Allow changing frame sorting
Allow making filters case sensitive
Add option to hide the list of chatters
Make nicknames in the chatters list clickable to send PMs more easily
Add better multi-byte character support - New dependency: mbstring extension
Don't send messages to inbox when in incognito
Remove up to three characters from the end of @mention to also match @mention, etc.
Make colour input use colorChooser, if supported
Add integrated file upload support
Allow making CSS more unique, by adding more ids/classes and allowing to over-write hardcoded CSS
Version 1.21 - Aug. 29, 2016
Don't display empty option for system messages in delete messages by name
Don't show a kick button on your own session in the list of active sessions
Allow ignoring incognito chatters
Prevent posting the same message twice, if no other message was posted in-between
Instruct browser not to send referrer.
Enable image embedding without cookies as there is no more risk of session leakage.
Allow configuring password and nickname regex
Prevent browser from caching at all.
Add external CSS setting for large stylesheets
Make /me work with custom texts set under system messages in setup
Set replace of a filter used for kicking as kickmessage
Add an option to first display a greeting message, before showing messages
Version 1.20.6 - Jul. 23, 2016
Simplify ignore logic + disallow ignoring chatters with higher status
Delete messages based on public message limit, no buffer for private ones needed
Allow deleting messages by name, when only PMs were sent
Version 1.20.5 - Jul. 19, 2016
Check permission before selectively deleting a message.
Version 1.20.4 - Jul. 12, 2016
Third attempt to fix the same bug
Version 1.20.3 - Jul. 10, 2016
Yesterdays bugfix broke more than it fixed, refixed.
Version 1.20.2 - Jul. 9, 2016
Fix bug preventing to send PMs to number-only nicknames
Version 1.20.1 - Jun. 13, 2016
Bugfix when logging guests out via admin section
Don't hide image embedding option in profile with cookies disabled
Making a moderator to member now sets incognito back to disabled
Version 1.20 - May 15, 2016
Add setting in profile to allow offline inbox for: staff, members or everyone
Completely fix link-redirection
Version 1.19.2 - May 7, 2016
Remove JavaScript "load only new messages" feature
Add JS auto-refresh to header instead
Version 1.19.1 - May 1, 2016
Fix parts of the offline inbox
Version 1.19 - Apr. 29, 2016
Add an offline inbox for members
Allow deletion of member accounts in profile
Version 1.18 - Apr. 28, 2016
Add time zone settings
Combine Password reset and setting new nickname
Add useful error message on failed login
Version 1.17 - Apr. 20, 2016
Make nocache refresh hack configurable in profile
Add disable PM option
Allow disabling the chat completely
Version 1.16.4 - Apr. 15, 2016
Properly escape some parameters
Add caching hack for aggressively caching browsers (e.g. links)
Improve invalid filter handling + allow new line match with \n
Fix a few forms to be used cookie-less
Version 1.16.3 - Apr. 14, 2016
Fix warning on redirection of links without a scheme
Version 1.16.2 - Apr. 14, 2016
Add CSS classes and move more css to the database
Allow extreme captcha to be solved in both directions
Version 1.16.1 - Apr. 13, 2016
Fixed a typo
Version 1.16 - Apr. 13, 2016
Use constants for configuration
Simplify extreme captcha code generation
Add language setting to profile
Add checks for required extensions
Move some more settings to the database
Add CSS to limit list of chatters hight
Attempt to create database when there is no connection
Add fallback option for moderator approval
Fix guestaccess selection in setup
Add option to let guests register themselves
Add better fatal error handling
Fixed handling of links with special characters
Version 1.15.3 - Mar. 6, 2016
Allow using html tags in linkfilter without breaking dereferrer or image embed
Added French translation
Added 2 Spanish translations.
Version 1.15.2 - Jan. 26, 2016
Don't display kicked people
Fix deadlock warning
Added Indonesian translation
Version 1.15.1 - Dec. 19, 2015
Fix XSS vulnerability in change nickname + make it available for registered users only
Version 1.15 - Dec. 17, 2015
Made code reading easier for newbies
Removed inefficient memcached caching of members and ignored
Display access denied page for non-authorized use of sub-sections.
Added change nickname option in profile
Various bugfixes
Version 1.14.1 - Nov. 2, 2015
Ignore possible deadlock warning
Only display the let users in button when there are guests waiting to be let in
Fix filter and ignore feature if they have multiple values
Version 1.14 - Oct. 31, 2015
Added support for sqlite and PostgreSQL database engines
Replaced deprecated HTML with CSS for HTML5 compatibility
Show Topic on login and don't prepend "Topic:"
More optimizations and fixes
Version 1.13.1 - Sep. 15, 2015
Fix saving some setup settings
Version 1.13 - Sep. 15, 2015
Switch from mysqli to PDO
More optimizations
Match case-insensitive @mention and also non-present members
Added topic field
Member password resetting by admins
Note revisioning
Added optional tiny JavaScript code to transfer less data with JavaScript enabled browsers
Version 1.12.3 - Aug. 18, 2015
Fix member registration
Version 1.12.2 - Aug. 18, 2015
Fix redirection and image embedding
Version 1.12.1 - Aug. 17, 2015
Fix update query
Version 1.12 - Aug. 17, 2015
Almost all settings moved to setup
Backup/restore for super admin
Moderate and extreme captcha are more readable
Simplified font styling
Linkfilter to modify text of a link
More simplifications and fixes
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
@ -41,4 +284,3 @@ Added ignore feature
Version 1.0 - Mar. 31, 2015
Initial release

92
README
View File

@ -1,92 +0,0 @@
LE CHAT-PHP - a PHP Chat based on LE CHAT
Copyright (C) 2015 Daniel Winzen <d@winzen4.de>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
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
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.
Now a piece of information about the origin of the name "LE CHAT" copied from the original script:
The "LE" in the name you can take as "Lucky Eddie", or since the script was meant to be lean and easy on server resources, as "Light Edition".
It may even be the French word for "the" if you prefer. Translated from French to English, "le chat" means: "the cat".
FEATURES:
Optimized for TOR
No JavaScript
Cookies supported, but not needed
Captcha
Multiple languages
Members and guests
Waiting room for guests
Moderatoral approval of new guests
Public, member, moderator and admin only chats
Private messages
Multi-line messages
Change font, colour and refresh rate in profile settings
Autologout when inactive for some time
Image and video embedding
Notes for admins and moderators
Clone the chat to have multiple tabs
Kick chatters
Clean selected messages
Clean the whole room
Plain text message filter
Regex message filter
And more
INSTALLATION INSTRUCTIONS:
You'll need to have mysql, php and a web-server installed. For the captcha feature, you also need php5-gd.
When you have everything installed, you'll have to create a database and a user for the chat in mysql.
Then edit the configuration at the bottom of the script to reflect the appropriate database settings and to modify the chat settings the way you like them.
Then copy the script to your web-server directory and call the script in your browser with a parameter like this:
http://(server)/(script-name).php?action=setup
Now you can create the Superadmin account. With this account you can administer the chat and add new members and set the guest access.
As soon as you are done with the setup, all necessary database tables will be created and the chat can be used.
Note: If you updated the script, please visit http://(server)/(script-name).php?action=setup again, to make sure, that any database changes are applied and no errors occure.
TRANSLATING:
Copy lang_en.php and rename it to lang_YOUR_LANGCODE.php
Then edit the file and translate the messages into your language.
If you ever use a ' character, you have to escape it by using \' instead or the script will fail.
When you are done, you have to edit the chat script, to include your translation. Simply add a line with
'lang_code' =>'Language name',
to the $L array in the load_lang() function at the bottom, similar to what I did for the German translation.
Please share your translation with me, so I can add it to the official version.
REGEX:
Yes, the chat supports regular expression filtering of messages. As regex tends to be difficult for most people, I decided to give it an extra section here.
Regex is very powerful and can be used to filter messages that contain certain expressions and replace them with something else.
It can be used e.g. to turn BB Code into html, so it is possible to use BB Code in the chat to format messages.
To do this, use this Regex-Match '\[(u|b)\](.*?)\[\/\1\]' and this Regex-Replace '<$1>$2</$1>' and your text will be '[b]bold[/b]' or '[u]underlined[/u]'.
You can also use smilies by using this Regex-Match '(?-i::(cry|eek|lol|sad|smile|surprised|wink):)' and this Regex-Replace '<img src="/pictures/$1.gif" alt=":$1:">'
And now if you enter ':smile:' an image with the smiley will be loaded from your server at '/pictures/smile.gif'.
The following should be escaped by putting '\' in front of it, if you are trying to match one of these characters '/ \ ^ . $ | ( ) [ ] * + ? { } ,'.
I used '/' as delimiter, so you will have to escape that, too. The only options I used is 'i' to make the regex case insensitive.
If you want to test your regex, before applying you can use this site and enter your Regex and Replacement there and click on preg_replace: http://www.phpliveregex.com/
If you never used regex before, check out this starting guide to begin with regular expressions: http://docs.activestate.com/komodo/4.4/regex-intro.html
LIVE DEMO:
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

@ -2,7 +2,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
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.
The original perl LE CHAT script by Lucky Eddie can be downloaded at [this github fork](https://github.com/virtualghetto/lechat).
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.
Now a piece of information about the origin of the name "LE CHAT" copied from the original script:
@ -12,8 +12,8 @@ It may even be the French word for "the" if you prefer. Translated from French t
Features:
---------
* Optimized for TOR
* No JavaScript
* Optimized for Tor
* No JavaScript needed
* Cookies supported, but not needed
* Captcha
* Multiple languages
@ -25,7 +25,7 @@ Features:
* Multi-line messages
* Change font, colour and refresh rate in profile settings
* Autologout when inactive for some time
* Image and video embedding
* Image embedding
* Notes for admins and moderators
* Clone the chat to have multiple tabs
* Kick chatters
@ -38,25 +38,30 @@ Features:
Installation Instructions:
--------------------------
You'll need to have mysql, php and a web-server installed. For the captcha feature, you also need php5-gd.
When you have everything installed, you'll have to create a database and a user for the chat in mysql.
You'll need to have php with gettext, pdo, pcre, mbstring and date extension, and a web-server installed.
You will also need the pdo_sqlite, pdo_mysql or pdo_pgsql extension, depending on which database you choose.
Optionally, you can install:
- the gd extension for the captcha feature
- the json extension for save/restore
- the intl extension for browser language detection
- a memcached server and the memcached extension and change the configuration to use memcached. This will lessen the database load a bit.
- a MySQL or PostgreSQL server to use as an external database instead of SQLite
- the libsodium extension (PHP >= 7.2) for encryption of messages and notes in the database
When you have everything installed and use MySQL or PostgreSQL, you'll have to create a database and a user for the chat.
Then edit the configuration at the bottom of the script to reflect the appropriate database settings and to modify the chat settings the way you like them.
Then copy the script to your web-server directory and call the script in your browser with a parameter like this:
http://(server)/(script-name).php?action=setup
Now you can create the Superadmin account. With this account you can administer the chat and add new members and set the guest access.
As soon as you are done with the setup, all necessary database tables will be created and the chat can be used.
Note: If you updated the script, please visit http://(server)/(script-name).php?action=setup again, to make sure, that any database changes are applied and no errors occure.
Note: If you updated the script, please visit http://(server)/(script-name).php?action=setup again, to make sure, that any database changes are applied and no errors occur.
Translating:
------------
Copy lang_en.php and rename it to lang_YOUR_LANGCODE.php
Then edit the file and translate the messages into your language.
If you ever use a ' character, you have to escape it by using \' instead or the script will fail.
When you are done, you have to edit the chat script, to include your translation. Simply add a line with
'lang_code' =>'Language name',
to the $L array in the load_lang() function at the bottom, similar to what I did for the German translation.
Please share your translation with me, so I can add it to the official version.
Translations are managed in [Weblate](https://weblate.danwin1210.de/projects/DanWin/le-chat-php).
If you prefer manually submitting translations, the script `update-translations.sh` can be used to update the language template and translation files from source.
It will generate the file `locale/le-chat-php.pot` which you can then use as basis to create a new language file in `YOUR_LANG_CODE/LC_MESSAGES/le-chat-php.po` and edit it with a translation program, such as [Poedit](https://poedit.net/).
Once you are done, you can open a pull request, or [email me](mailto:daniel@danwin1210.de), to include the translation.
Regex:
------
@ -64,17 +69,10 @@ Regex:
Yes, the chat supports regular expression filtering of messages. As regex tends to be difficult for most people, I decided to give it an extra section here.
Regex is very powerful and can be used to filter messages that contain certain expressions and replace them with something else.
It can be used e.g. to turn BB Code into html, so it is possible to use BB Code in the chat to format messages.
To do this, use this Regex-Match '\[(u|b)\](.*?)\[\/\1\]' and this Regex-Replace '<$1>$2</$1>' and your text will be '[b]bold[/b]' or '[u]underlined[/u]'.
You can also use smilies by using this Regex-Match '(?-i::(cry|eek|lol|sad|smile|surprised|wink):)' and this Regex-Replace '<img src="/pictures/$1.gif" alt=":$1:">'
And now if you enter ':smile:' an image with the smiley will be loaded from your server at '/pictures/smile.gif'.
The following should be escaped by putting '\' in front of it, if you are trying to match one of these characters '/ \ ^ . $ | ( ) [ ] * + ? { } ,'.
I used '/' as delimiter, so you will have to escape that, too. The only options I used is 'i' to make the regex case insensitive.
To do this, use this Regex-Match `\[(u|b)\](.*?)\[\/\1\]` and this Regex-Replace `<$1>$2</$1>` and your text will be `[b]bold[/b]` or `[u]underlined[/u]`.
You can also use smilies by using this Regex-Match `(?-i::(cry|eek|lol|sad|smile|surprised|wink):)` and this Regex-Replace `<img src="/pictures/$1.gif" alt=":$1:">`
And now if you enter `:smile:` an image with the smiley will be loaded from your server at `/pictures/smile.gif`.
The following should be escaped by putting `\` in front of it, if you are trying to match one of these characters `/ \ ^ . $ | ( ) [ ] * + ? { } ,`.
I used `/` as delimiter, so you will have to escape that, too. The only options I used is `i` to make the regex case insensitive.
If you want to test your regex, before applying you can use [this site](http://www.phpliveregex.com/) and enter your Regex and Replacement there and click on preg_replace.
If you never used regex before, check out [this starting guide](http://docs.activestate.com/komodo/4.4/regex-intro.html) to begin with regular expressions.
Live demo:
----------
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.

3
SECURITY.md Normal file
View File

@ -0,0 +1,3 @@
# Security Policy
I take sucurity very seriously and anyone is welcome to report vulnerabiliteis found. Please get in touch with me by email on [daniel@danwin1210.de](mailto:daniel@danwin1210.de) if you have found a vulnerability. For non-critical issues and suggestions, feel free to open a new Issue.

6415
chat.php Executable file → Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,8 @@
.msg {padding: 0.5em 0; border-bottom: 1px solid #363636}
input, select, textarea, button {padding: 0.2em; border: 1px solid #ffffff; border-radius: 0.5em}
#messages small {color: #989898}
#messages {display: block; width: 79%}
.messages #topic {display: block; width: 79%}
.messages #chatters {display: block; float:right; width: 20%; overflow-y: auto; position:fixed; right:0; max-height:100%; bottom:2em; top:2em;}
.messages #chatters td, #chatters tr, #chatters th {display: table-row; line-height: 0.8em;}
.messages #chatters table a {display: table-row;}

View File

@ -1,243 +0,0 @@
<?php
/*
* LE CHAT-PHP - a PHP Chat based on LE CHAT - German translation
*
* Copyright (C) 2015 Daniel Winzen <d@winzen4.de>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
$I=array(
'nodb' => 'Keine Verbindung zur Datenbank!',
'nodbsetup' => 'Keine Verbindung zur Datenbank, bitte erstelle eine Datenbank und bearbeite das Skript, um die korrekte Datenbank mit angegebenem Benutzernamen und Passwort zu benutzen.',
'changelang' => 'Sprache ändern:',
'expire' => 'Ungültige/abgelaufene Sitzung',
'kicked' => 'Rausgeschmissen!',
'invalnick' => 'Ungültiger Nickname (Maximal %d Zeichen, keine Sonderzeichen erlaubt)',
'invalpass' => 'Ungültiges Passwort (Mindestens %d Zeichen)',
'noconfirm' => 'Passwordbestätigung stimmt nicht überein!',
'incorregex' => 'Ungültiger regulärer Ausdruck!',
'bottom' => 'Unten',
'top' => 'Oben',
'choose' => '(auswählen)',
'setup' => 'Chat Einrichtung',
'init' => 'Erste Einrichtung',
'sulogin' => 'Superadmin Anmeldung',
'sunick' => 'Superadmin Nickname:',
'supass' => 'Superadmin Passwort:',
'suconfirm' => 'Passowrt bestätigen:',
'susuccess' => 'Erfolgreich registriert!',
'initbtn' => 'Chat initalisieren',
'initdbexist' => 'Datenbanktabellen existieren bereits! Um vortzufahren, musst du diese Tabellen zuerst manuell löschen.',
'initsuexist' => 'Ein Superadmin existiert bereits!',
'initgosetup' => 'Zur Einrichtungsseite gehen',
'dbupdate' => 'Datenbank erfolgreich aktualisiert!',
'sysmessages' => 'Systemnachrichten',
'msgenter' => 'Eintritt',
'msgexit' => 'Verlassen',
'msgmemreg' => 'Mitglied registriert',
'msgsureg' => 'Anwerber registriert',
'msgkick' => 'Rauswurf',
'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">Date formating</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',
'clean' => 'Löschen',
'kickchat' => '<b>Teilnehmer rausschmeißen</b> (%d Minuten)',
'kickmsg' => 'Begründung:',
'kickpurge' => 'Nachrichten löschen',
'kick' => 'Rausschmeißen',
'logoutinact' => 'Inaktive Teilnehmer abmelden',
'logout' => 'Abmelden',
'viewsess' => 'Aktive Sitzungen anzeigen',
'view' => 'Anzeigen',
'filter' => 'Filter',
'guestacc' => 'Gastzugriff ändern',
'guestallow' => 'Erlauben',
'guestwait' => 'Mit Warteraum erlauben',
'adminallow' => 'Moderator-Erlaubnis benötigen',
'guestdisallow' => 'Nur Mitglieder',
'addsuguest' => 'Anwerber hinzufügen',
'register' => 'Registrieren',
'admmembers' => 'Mitglieder',
'memdel' => 'Aus der Datenbank löschen',
'memdeny' => 'Zugriff verweigern (!)',
'memsuguest' => 'Zu Anwerber machen (G)',
'memreg' => 'Zu regulärem Mitglied machen',
'memmod' => 'Zu Moderator machen (M)',
'memsumod' => 'Zu Supermod machen (M)',
'memadm' => 'Zu Admin machen (A)',
'change' => 'Ändern',
'regguest' => 'Gast registrieren',
'regmem' => 'Mitglied registrieren',
'sessact' => 'Aktive Sitzungen',
'sessnick' => 'Nickname',
'sesstimeout' => 'Ablauf in',
'sessua' => 'User-Agent',
'fid' => 'Filter ID:',
'match' => 'Entsprechung',
'replace' => 'Ersetzen',
'allowpm' => 'In PM zulassen',
'regex' => 'Regex',
'apply' => 'Anwenden',
'newfilter' => 'Neuer Filter:',
'add' => 'Hinzufügen',
'noframes' => 'Dieser Chat benutzt <b>Frames</b>. Bitte aktiviere Frames in deinem Browser oder benutze einen dafür geeigneten!',
'delselmes' => 'Ausgewählte Nachrichten löschen',
'staffnotes' => 'Moderatornotizen',
'adminnotes' => 'Adminnotizen',
'notessaved' => 'Notizen gespeichert!',
'lastedited' => 'Zuletzt bearbeitet von %1$s um %2$s',
'savenotes' => 'Notizen speichern',
'waitingroom' => 'Warteraum',
'waittext' => 'Wilkommen %1$s, deine Anmeldung wurde verzögert, du kannst den Chat in %2$d Sekunden benutzen.',
'admwaittext' => 'Wilkommen %1$s, deine Anmeldung wurde verzögert, du kannst den Chat benutzen, sobald ein Moderator dich hereinlässt.',
'waitreload' => 'Wenn diese Seite sich nicht alle %d Sekunden aktualisiert, benutze den Knopf unten, um die Seite manuell neu zu laden!',
'reload' => 'Aktualisieren',
'rules' => 'Regeln',
'talkto' => 'Senden an',
'toall' => 'Alle Teilnehmer',
'tomem' => 'Nur Mitglieder',
'tostaff' => 'Nur Moderatoren',
'toadmin' => 'Nur Admins',
'alsopurge' => 'Auch Nachrichten löschen',
'dellast' => 'Letzte Nachricht löschen',
'delall' => 'Alle Nachrichten löschen',
'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.',
'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)',
'fontcolour' => 'Schriftfarbe',
'viewexample' => 'Beispiele anzeigen',
'bgcolour' => 'Hintergrundfarbe',
'fontface' => 'Schriftart',
'roomdefault' => 'Raumstandard',
'bold' => 'Fett',
'italic' => 'Kursiv',
'fontexample' => 'Beispiel für deine gewählte Schrift',
'timestamps' => 'Zeitstempel anzeigen',
'embed' => 'Bilder einbetten (Benötigt Cookies)',
'incognito' => 'Inkognito Modus',
'pbsize' => 'Postboxgröße',
'nbsize' => 'Notizboxgröße',
'width' => 'Breite:',
'height' => 'Höhe:',
'changepass' => 'Passwort ändern',
'oldpass' => 'Altes Passwort:',
'newpass' => 'Neues Passwort:',
'confirmpass' => 'Passwort bestätigen:',
'savechanges' => 'Änderungen speichern',
'reloadpb' => 'Postbox neu laden',
'reloadmsgs' => 'Nachrichten neu laden',
'chgprofile' => 'Profil ändern',
'adminbtn' => 'Admin',
'admnotes' => 'Adminnotizen',
'notes' => 'Notizen',
'clone' => 'Klonen',
'randh' => 'Regeln & Hilfe',
'exit' => 'Chat verlassen',
'bye' => 'Auf Wiedersehen %s, besuche uns bald wieder!',
'colourtable' => 'Farbtabelle',
'backtoprofile' => 'Zurück zu deinem Profil',
'copy' => 'Kopiere:',
'choosecol' => 'Gast, such dir eine Farbe aus:',
'randomcol' => 'Zufällige Farbe',
'enter' => 'Chat beitreten',
'error' => 'Fehler:',
'members' => 'Mitglieder:',
'guests' => 'Gäste:',
'approveguests' => '%d neue Gäste zum Hereinlassen',
'allowchecked' => 'Ausgewählte erlauben',
'allowall' => 'Alle erlauben',
'denychecked' => 'Ausgewählte abweisen',
'denyall' => 'Alle abweisen',
'denymessage' => 'Nachricht an abgewiesene senden:',
'butallowdeny' => 'Senden',
'waitempty' => 'Keine weiteren Beitrittsanfragen zu akzeptieren.',
'wrongcaptcha' => 'Falsches Captcha',
'captchatime' => '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.',
'successreg' => '%s wurde erfolgreich registriert.',
'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' => 'Falsches Passwort!',
'succprofile' => 'Dein Profil wurde erfolgreich gespeichert.',
'backtologin' => 'Zurück zur Anmeldeseite.',
'backtochat' => 'Zurück zum Chat.',
'Beige' => 'Beige',
'Black' => 'Schwarz',
'Blue' => 'Blau',
'BlueViolet' => 'Blauviolett',
'Brown' => 'Braun',
'Cyan' => 'Türkis',
'DarkBlue' => 'Dunkelblau',
'DarkGreen' => 'Dunkelgrün',
'DarkRed' => 'Dunkelrot',
'DarkViolet' => 'Dunkelviolett',
'DeepSkyBlue' => 'Himmelsblau',
'Gold' => 'Gold',
'Grey' => 'Grau',
'Green' => 'Grün',
'HotPink' => 'Pink',
'Indigo' => 'Indigoblau',
'LightBlue' => 'Hellblau',
'LightGreen' => 'Hellgrün',
'LimeGreen' => 'Lindgrün',
'Magenta' => 'Magenta',
'Olive' => 'Oliv',
'Orange' => 'Orange',
'OrangeRed' => 'Orangerot',
'Purple' => 'Lila',
'Red' => 'Rot',
'RoyalBlue' => 'Königsblau',
'SeaGreen' => 'Seegrün',
'Sienna' => 'Siena',
'Silver' => 'Silber',
'Tan' => 'Hellbraun',
'Teal' => 'Blaugrün',
'Violet' => 'Violett',
'White' => 'Weiß',
'Yellow' => 'Gelb',
'YellowGreen' => 'Gelbgrün',
'contributors' => 'Mitwirkende'
);
?>

View File

@ -1,244 +0,0 @@
<?php
/*
* LE CHAT-PHP - a PHP Chat based on LE CHAT - English translation
*
* Copyright (C) 2015 Daniel Winzen <d@winzen4.de>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
//Language: English
$I=array(
'nodb' => 'No Connection to Database!',
'nodbsetup' => 'No Connection to Database, please create a database and edit the script to use the correct database with given username and password!',
'changelang' => 'Change language:',
'expire' => 'Invalid/expired session',
'kicked' => 'Kicked!',
'invalnick' => 'Invalid nickname (%d characters maximum, no special characters allowed)',
'invalpass' => 'Invalid password (At least %d characters)',
'noconfirm' => 'Password confirmation does not match!',
'incorregex' => 'Incorrect regular expression!',
'bottom' => 'Bottom',
'top' => 'Top',
'choose' => '(choose)',
'setup' => 'Chat Setup',
'init' => 'Initial Setup',
'sulogin' => 'Superadmin Login',
'sunick' => 'Superadmin Nickname:',
'supass' => 'Superadmin Password:',
'suconfirm' => 'Confirm Passowrd:',
'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',
'msgenter' => 'Entrance',
'msgexit' => 'Leaving',
'msgmemreg' => 'Member registered',
'msgsureg' => 'Applicant registered',
'msgkick' => 'Kicked',
'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',
'clean' => 'Clean',
'kickchat' => '<b>Kick Chatter</b> (%d minutes)',
'kickmsg' => 'Kickmessage:',
'kickpurge' => 'Purge messages',
'kick' => 'Kick',
'logoutinact' => 'Logout inactive Chatter',
'logout' => 'Logout',
'viewsess' => 'View active sessions',
'view' => 'View',
'filter' => 'Filter',
'guestacc' => 'Change Guestaccess',
'guestallow' => 'Allow',
'guestwait' => 'Allow with waitingroom',
'adminallow' => 'Require moderator approval',
'guestdisallow' => 'Only members',
'addsuguest' => 'Add applicant',
'register' => 'Register',
'admmembers' => 'Members',
'memdel' => 'Delete from database',
'memdeny' => 'Deny access (!)',
'memsuguest' => 'Set to applicant (G)',
'memreg' => 'Set to regular member',
'memmod' => 'Set to moderator (M)',
'memsumod' => 'Set to supermod (M)',
'memadm' => 'Set to admin (A)',
'change' => 'Change',
'regguest' => 'Register Guest',
'regmem' => 'Register new Member',
'sessact' => 'Active Sessions',
'sessnick' => 'Nickname',
'sesstimeout' => 'Timeout in',
'sessua' => 'User-Agent',
'fid' => 'Filter ID:',
'match' => 'Match',
'replace' => 'Replace',
'allowpm' => 'Allow in PM',
'regex' => 'Regex',
'apply' => 'Apply',
'newfilter' => 'New filter:',
'add' => 'Add',
'noframes' => 'This chat uses <b>frames</b>. Please enable frames in your browser or use a suitable one!',
'delselmes' => 'Delete selected messages',
'staffnotes' => 'Staff notes',
'adminnotes' => 'Admin notes',
'notessaved' => 'Notes saved!',
'lastedited' => 'Last edited by %1$s at %2$s',
'savenotes' => 'Save Notes',
'waitingroom' => 'Waiting room',
'waittext' => 'Welcome %1$s, your login has been delayed, you can access the chat in %2$d seconds.',
'admwaittext' => 'Welcome %1$s, your login has been delayed, you can access the chat as soon, as a moderator lets you in.',
'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',
'toall' => 'All chatters',
'tomem' => 'Members only',
'tostaff' => 'Staff only',
'toadmin' => 'Admin only',
'alsopurge' => 'Also purge messages',
'dellast' => 'Delete last message',
'delall' => 'Delete all messages',
'switchsingle' => 'Switch to single-line',
'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.',
'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)',
'fontcolour' => 'Font colour',
'viewexample' => 'View examples',
'bgcolour' => 'Background colour',
'fontface' => 'Fontface',
'roomdefault' => 'Room Default',
'bold' => 'Bold',
'italic' => 'Italic',
'fontexample' => 'Example for your chosen font',
'timestamps' => 'Show Timestamps',
'embed' => 'Embed images (needs Cookies)',
'incognito' => 'Incognito mode',
'pbsize' => 'Post box size',
'nbsize' => 'Notes box size',
'width' => 'Width:',
'height' => 'Height:',
'changepass' => 'Change Password',
'oldpass' => 'Old password:',
'newpass' => 'New password:',
'confirmpass' => 'Confirm new password:',
'savechanges' => 'Save changes',
'reloadpb' => 'Reload Post Box',
'reloadmsgs' => 'Reload Messages',
'chgprofile' => 'Change Profile',
'adminbtn' => 'Admin',
'admnotes' => 'Admin Notes',
'notes' => 'Notes',
'clone' => 'Clone',
'randh' => 'Rules & Help',
'exit' => 'Exit Chat',
'bye' => 'Bye %s, visit again soon!',
'colourtable' => 'Colourtable',
'backtoprofile' => 'Back to your Profile',
'copy' => 'Copy:',
'choosecol' => 'Guests, choose a colour:',
'randomcol' => 'Random Colour',
'enter' => 'Enter Chat',
'error' => 'Error:',
'members' => 'Members:',
'guests' => 'Guests:',
'approveguests' => '%d new guests to approve',
'allowchecked' => 'Allow checked',
'allowall' => 'Allow all',
'denychecked' => 'Deny checked',
'denyall' => 'Deny all',
'denymessage' => 'Send message to denied:',
'butallowdeny' => 'Submit',
'waitempty' => 'No more entry requests to approve.',
'wrongcaptcha' => 'Wrong Captcha',
'captchatime' => '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.',
'successreg' => '%s successfully registered.',
'cantchgstat' => 'Can\'t change status of %s',
'succdel' => '%s successfully deleted from database.',
'succchg' => 'Status of %s successfully changed.',
'wrongpass' => 'Wrong Password!',
'succprofile' => 'Your profile has successfully been saved.',
'backtologin' => 'Back to the login page.',
'backtochat' => 'Back to the chat.',
'Beige' => 'Beige',
'Black' => 'Black',
'Blue' => 'Blue',
'BlueViolet' => 'Blue violet',
'Brown' => 'Brown',
'Cyan' => 'Cyan',
'DarkBlue' => 'Dark blue',
'DarkGreen' => 'Dark green',
'DarkRed' => 'Dark red',
'DarkViolet' => 'Dark violet',
'DeepSkyBlue' => 'Sky blue',
'Gold' => 'Gold',
'Grey' => 'Grey',
'Green' => 'Green',
'HotPink' => 'Hot pink',
'Indigo' => 'Indigo',
'LightBlue' => 'Light blue',
'LightGreen' => 'Light green',
'LimeGreen' => 'Lime green',
'Magenta' => 'Magenta',
'Olive' => 'Olive',
'Orange' => 'Orange',
'OrangeRed' => 'Orange red',
'Purple' => 'Purple',
'Red' => 'Red',
'RoyalBlue' => 'Royal blue',
'SeaGreen' => 'Sea green',
'Sienna' => 'Sienna',
'Silver' => 'Silver',
'Tan' => 'Tan',
'Teal' => 'Teal',
'Violet' => 'Violet',
'White' => 'White',
'Yellow' => 'Yellow',
'YellowGreen' => 'Yellow green',
'contributors' => 'Contributors',
);
?>

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

1654
locale/le-chat-php.pot Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

BIN
sounds/1.mp3 Normal file

Binary file not shown.

BIN
sounds/10.mp3 Normal file

Binary file not shown.

BIN
sounds/11.mp3 Normal file

Binary file not shown.

BIN
sounds/12.mp3 Normal file

Binary file not shown.

BIN
sounds/13.mp3 Normal file

Binary file not shown.

BIN
sounds/14.mp3 Normal file

Binary file not shown.

BIN
sounds/15.mp3 Normal file

Binary file not shown.

BIN
sounds/16.mp3 Normal file

Binary file not shown.

BIN
sounds/17.mp3 Normal file

Binary file not shown.

BIN
sounds/18.mp3 Normal file

Binary file not shown.

BIN
sounds/19.mp3 Normal file

Binary file not shown.

BIN
sounds/2.mp3 Normal file

Binary file not shown.

BIN
sounds/20.mp3 Normal file

Binary file not shown.

BIN
sounds/21.mp3 Normal file

Binary file not shown.

BIN
sounds/22.mp3 Normal file

Binary file not shown.

BIN
sounds/23.mp3 Normal file

Binary file not shown.

BIN
sounds/24.mp3 Normal file

Binary file not shown.

BIN
sounds/3.mp3 Normal file

Binary file not shown.

BIN
sounds/4.mp3 Normal file

Binary file not shown.

BIN
sounds/5.mp3 Normal file

Binary file not shown.

BIN
sounds/6.mp3 Normal file

Binary file not shown.

BIN
sounds/7.mp3 Normal file

Binary file not shown.

BIN
sounds/8.mp3 Normal file

Binary file not shown.

BIN
sounds/9.mp3 Normal file

Binary file not shown.

3
update-translation.sh Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash
xgettext --from-code UTF-8 -o locale/le-chat-php.pot `find . -iname '*.php'`
for translation in `find locale -iname '*.po'`; do msgmerge -U "$translation" locale/le-chat-php.pot; msgfmt -o ${translation:0:-2}mo "$translation"; done