From f9b150f3ac4feda9fe176c3df12dbb3b1913ebe1 Mon Sep 17 00:00:00 2001 From: Daniel Winzen Date: Fri, 5 Mar 2021 19:25:19 +0100 Subject: [PATCH] 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. --- chat.php | 65 ++++++++++++++++++++++++++++++++---------------- lang_bg.php | 4 +++ lang_cs.php | 4 +++ lang_de.php | 4 +++ lang_en.php | 4 +++ lang_es.php | 4 +++ lang_fr.php | 4 +++ lang_id.php | 6 ++++- lang_it.php | 4 +++ lang_pt.php | 4 +++ lang_ru.php | 4 +++ lang_tr.php | 4 +++ lang_uk.php | 4 +++ lang_zh-Hans.php | 5 +++- 14 files changed, 97 insertions(+), 23 deletions(-) diff --git a/chat.php b/chat.php index c958d53..f5b89cf 100644 --- a/chat.php +++ b/chat.php @@ -68,7 +68,7 @@ function route(){ }elseif($_REQUEST['action']==='post'){ check_session(); if(isset($_POST['kick']) && isset($_POST['sendto']) && $_POST['sendto']!=='s _'){ - if($U['status']>=5 || ($U['status']>=3 && get_count_mods()==0 && get_setting('memkick'))){ + if($U['status']>=5 || ($U['status']>=3 && (get_setting('memkickalways') || (get_count_mods()==0 && get_setting('memkick'))))){ if(isset($_POST['what']) && $_POST['what']==='purge'){ kick_chatter([$_POST['sendto']], $_POST['message'], true); }else{ @@ -235,12 +235,12 @@ function route_setup(){ if(!valid_admin()){ send_alogin(); } - $C['bool_settings']=['suguests', 'imgembed', 'timestamps', 'trackip', 'memkick', 'forceredirect', 'incognito', 'sendmail', 'modfallback', 'disablepm', 'eninbox', 'enablegreeting', 'sortupdown', 'hidechatters', 'personalnotes', 'publicnotes', 'filtermodkick']; + $C['bool_settings']=['suguests', 'imgembed', 'timestamps', 'trackip', 'memkick', 'memkickalways', 'forceredirect', 'incognito', 'sendmail', 'modfallback', 'disablepm', 'eninbox', 'enablegreeting', 'sortupdown', 'hidechatters', 'personalnotes', 'publicnotes', 'filtermodkick', 'namedoers']; $C['colour_settings']=['colbg', 'coltxt']; $C['msg_settings']=['msgenter', 'msgexit', 'msgmemreg', 'msgsureg', 'msgkick', 'msgmultikick', 'msgallkick', 'msgclean', 'msgsendall', 'msgsendmem', 'msgsendmod', 'msgsendadm', 'msgsendprv', 'msgattache']; $C['number_settings']=['memberexpire', 'guestexpire', 'kickpenalty', 'entrywait', 'captchatime', 'messageexpire', 'messagelimit', 'maxmessage', 'maxname', 'minpass', 'defaultrefresh', 'numnotes', 'maxuploadsize', 'enfileupload']; $C['textarea_settings']=['rulestxt', 'css', 'disabletext']; - $C['text_settings']=['dateformat', 'captchachars', 'redirect', 'chatname', 'mailsender', 'mailreceiver', 'nickregex', 'passregex', 'externalcss', 'metadescription']; + $C['text_settings']=['dateformat', 'captchachars', 'redirect', 'chatname', 'mailsender', 'mailreceiver', 'nickregex', 'passregex', 'externalcss', 'metadescription', 'sysmessagetxt']; $C['settings']=array_merge(['guestaccess', 'englobalpass', 'globalpass', 'captcha', 'dismemcaptcha', 'topic', 'guestreg', 'defaulttz'], $C['bool_settings'], $C['colour_settings'], $C['msg_settings'], $C['number_settings'], $C['textarea_settings'], $C['text_settings']); // All settings in the database if(!isset($_POST['do'])){ }elseif($_POST['do']==='save'){ @@ -1850,12 +1850,12 @@ function send_post(string $rejected=''){ } echo ''; if(get_setting('enfileupload')>0 && get_setting('enfileupload')<=$U['status']){ - if(!$disablepm && ($U['status']>=5 || ($U['status']>=3 && get_count_mods()==0 && get_setting('memkick')))){ + if(!$disablepm && ($U['status']>=5 || ($U['status']>=3 && (get_setting('memkickalways') || (get_count_mods()==0 && get_setting('memkick')))))){ echo ''; } printf("", get_setting('maxuploadsize')); } - if(!$disablepm && ($U['status']>=5 || ($U['status']>=3 && get_count_mods()==0 && get_setting('memkick')))){ + if(!$disablepm && ($U['status']>=5 || ($U['status']>=3 && (get_setting('memkickalways') || (get_count_mods()==0 && get_setting('memkick')))))){ echo ""; echo ""; } @@ -2432,7 +2432,7 @@ function write_new_session(string $password){ $session = $U['session']; set_secure_cookie(COOKIENAME, $U['session']); if($U['status']>=3 && !$U['incognito']){ - add_system_message(sprintf(get_setting('msgenter'), style_this(htmlspecialchars($U['nickname']), $U['style']))); + add_system_message(sprintf(get_setting('msgenter'), style_this(htmlspecialchars($U['nickname']), $U['style'])), ''); } } } @@ -2512,7 +2512,7 @@ function kill_session(){ $stmt=$db->prepare('DELETE FROM ' . PREFIX . 'sessions WHERE session=?;'); $stmt->execute([$U['session']]); if($U['status']>=3 && !$U['incognito']){ - add_system_message(sprintf(get_setting('msgexit'), style_this(htmlspecialchars($U['nickname']), $U['style']))); + add_system_message(sprintf(get_setting('msgexit'), style_this(htmlspecialchars($U['nickname']), $U['style'])), ''); } } @@ -2545,13 +2545,13 @@ function kick_chatter(array $names, string $mes, bool $purge) : bool { } if($i>0){ if($all){ - add_system_message(get_setting('msgallkick')); + add_system_message(get_setting('msgallkick'), $U['nickname']); }else{ $lonick=substr($lonick, 0, -2); if($i>1){ - add_system_message(sprintf(get_setting('msgmultikick'), $lonick)); + add_system_message(sprintf(get_setting('msgmultikick'), $lonick), $U['nickname']); }else{ - add_system_message(sprintf(get_setting('msgkick'), $lonick)); + add_system_message(sprintf(get_setting('msgkick'), $lonick), $U['nickname']); } } return true; @@ -2698,9 +2698,9 @@ function register_guest(int $status, string $nick) : string { $stmt=$db->prepare('INSERT INTO ' . PREFIX . 'members (nickname, passhash, status, refresh, bgcolour, regedby, timestamps, embed, style, incognito, nocache, tz, eninbox, sortupdown, hidechatters, nocache_old) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);'); $stmt->execute([$reg['nickname'], $reg['passhash'], $reg['status'], $reg['refresh'], $reg['bgcolour'], $U['nickname'], $reg['timestamps'], $reg['embed'], $reg['style'], $reg['incognito'], $reg['nocache'], $reg['tz'], $reg['eninbox'], $reg['sortupdown'], $reg['hidechatters'], $reg['nocache_old']]); if($reg['status']==3){ - add_system_message(sprintf(get_setting('msgmemreg'), style_this(htmlspecialchars($reg['nickname']), $reg['style']))); + add_system_message(sprintf(get_setting('msgmemreg'), style_this(htmlspecialchars($reg['nickname']), $reg['style'])), $U['nickname']); }else{ - add_system_message(sprintf(get_setting('msgsureg'), style_this(htmlspecialchars($reg['nickname']), $reg['style']))); + add_system_message(sprintf(get_setting('msgsureg'), style_this(htmlspecialchars($reg['nickname']), $reg['style'])), $U['nickname']); } return sprintf($I['successreg'], style_this(htmlspecialchars($reg['nickname']), $reg['style'])); } @@ -3252,18 +3252,31 @@ function add_message(string $message, string $recipient, string $poster, int $de return true; } -function add_system_message(string $mes){ +function add_system_message(string $mes, string $doer){ + global $I; if($mes===''){ return; } + if($doer==='' || !get_setting('namedoers')){ + $sysmessage=[ + 'postdate' =>time(), + 'poststatus' =>4, + 'poster' =>'', + 'recipient' =>'', + 'text' =>"$mes", + 'delstatus' =>4 + ]; + + } else { $sysmessage=[ 'postdate' =>time(), - 'poststatus' =>1, + 'poststatus' =>4, 'poster' =>'', 'recipient' =>'', - 'text' =>"$mes", + 'text' =>"$mes ($doer)", 'delstatus' =>4 ]; + } write_message($sysmessage); } @@ -3287,9 +3300,9 @@ function write_message($message){ } function clean_room(){ - global $db; + global $U, $db; $db->query('DELETE FROM ' . PREFIX . 'messages;'); - add_system_message(sprintf(get_setting('msgclean'), get_setting('chatname'))); + add_system_message(sprintf(get_setting('msgclean'), get_setting('chatname')), $U['nickname']); } function clean_selected(int $status, string $nick){ @@ -3341,7 +3354,7 @@ function del_last_message(){ } function print_messages(int $delstatus=0){ - global $U, $db; + global $I, $U, $db; $dateformat=get_setting('dateformat'); if(!$U['embed'] && get_setting('imgembed')){ $removeEmbed=true; @@ -3377,7 +3390,7 @@ function print_messages(int $delstatus=0){ echo " $message[text]"; } }else{ - $stmt=$db->prepare('SELECT id, postdate, text FROM ' . PREFIX . 'messages WHERE (poststatus<=? OR '. + $stmt=$db->prepare('SELECT id, postdate, poststatus, text FROM ' . PREFIX . 'messages WHERE (poststatus<=? OR poststatus=4 OR '. '(poststatus=9 AND ( (poster=? AND recipient NOT IN (SELECT ign FROM ' . PREFIX . 'ignored WHERE ignby=?) ) OR recipient=?) AND postdate>=?)'. ') AND poster NOT IN (SELECT ign FROM ' . PREFIX . "ignored WHERE ignby=?) ORDER BY id $direction;"); $stmt->execute([$U['status'], $U['nickname'], $U['nickname'], $U['nickname'], $entry, $U['nickname']]); @@ -3387,9 +3400,13 @@ function print_messages(int $delstatus=0){ if($timestamps){ echo ''.date($dateformat, $message['postdate']).' - '; } + if ($message['poststatus']==4) { + echo "".get_setting('sysmessagetxt')."$message[text]"; + } else { echo "$message[text]"; } } + } echo ''; } @@ -3609,7 +3626,7 @@ function cron(){ $stmt->execute([$time, $time]); // delete old messages $limit=get_setting('messagelimit'); - $stmt=$db->query('SELECT id FROM ' . PREFIX . "messages WHERE poststatus=1 ORDER BY id DESC LIMIT 1 OFFSET $limit;"); + $stmt=$db->query('SELECT id FROM ' . PREFIX . "messages WHERE poststatus=1 OR poststatus=4 ORDER BY id DESC LIMIT 1 OFFSET $limit;"); if($id=$stmt->fetch(PDO::FETCH_NUM)){ $stmt=$db->prepare('DELETE FROM ' . PREFIX . 'messages WHERE id<=?;'); $stmt->execute($id); @@ -3766,6 +3783,8 @@ function init_chat(){ ['trackip', '0'], ['captchachars', '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'], ['memkick', '1'], + ['memkickalways', '0'], + ['namedoers', '1'], ['forceredirect', '0'], ['redirect', ''], ['incognito', '1'], @@ -3808,6 +3827,7 @@ function init_chat(){ ['publicnotes', '1'], ['filtermodkick', '0'], ['metadescription', $I['defaultmetadescription']], + ['sysmessagetxt', 'ℹ️ '], ]; $stmt=$db->prepare('INSERT INTO ' . PREFIX . 'settings (setting, value) VALUES (?, ?);'); foreach($settings as $pair){ @@ -4171,6 +4191,9 @@ function update_db(){ if($dbversion<44){ $db->exec('INSERT INTO ' . PREFIX . "settings (setting,value) VALUES ('publicnotes', '0');"); } + if($dbversion<45){ + $db->exec('INSERT INTO ' . PREFIX . "settings (setting,value) VALUES ('memkickalways', '0'), (sysmessagetxt', 'ℹ️ '),('namedoers', '1');"); + } update_setting('dbversion', DBVERSION); if($msgencrypted!==MSGENCRYPTED){ if(!extension_loaded('sodium')){ @@ -4363,7 +4386,7 @@ function load_lang(){ function load_config(){ mb_internal_encoding('UTF-8'); define('VERSION', '1.24.1'); // Script version - define('DBVERSION', 44); // Database layout version + define('DBVERSION', 45); // Database layout version define('MSGENCRYPTED', false); // Store messages encrypted in the database to prevent other database users from reading them - true/false - visit the setup page after editing! define('ENCRYPTKEY_PASS', 'MY_SECRET_KEY'); // Recommended length: 32. Encryption key for messages define('AES_IV_PASS', '012345678912'); // Recommended length: 12. AES Encryption IV diff --git a/lang_bg.php b/lang_bg.php index 1900d21..96bac6b 100644 --- a/lang_bg.php +++ b/lang_bg.php @@ -55,7 +55,9 @@ $T=[ 'globalloginpass' => 'Глобална парола:', 'login' => 'Вход', 'dbupdate' => 'Базата данни бе успешно обновена!', + 'sysmessage' => 'съобщение от системата', 'sysmessages' => 'Системни съобщения', + 'sysmessagetxt' => 'Този текст предшества съобщенията от системата.', 'msgenter' => 'Влизане', 'msgexit' => 'Напускане', 'msgmemreg' => 'Членът е регистриран', @@ -270,6 +272,7 @@ $T=[ 'trackip' => 'Покажи IP-то на сесията', 'captchachars' => 'Символи, използвани за Captcha-та', 'memkick' => 'Членовете могат да гонят, ако няма модератор в стаята', + 'memkickalways' => 'Членовете могат вся́кога да гонят', 'forceredirect' => 'Пренасочване', 'redirect' => 'Мой скрипт за пренасочване', 'backuprestore' => 'Бекъп и възстановяване', @@ -369,4 +372,5 @@ $T=[ 'personalnotes' => 'Лични бележки', 'publicnotes' => 'Обще́ствен Бележки', 'filtermodkick' => 'Прилагай филтъра за изгонване и за модераторите', + 'namedoers' => 'Показване кой изхвърля хора или пречиства всички съобщения.', ]; diff --git a/lang_cs.php b/lang_cs.php index 1c4ab46..5dbf620 100644 --- a/lang_cs.php +++ b/lang_cs.php @@ -55,7 +55,9 @@ $T=[ 'globalloginpass' => 'Globální heslo:', 'login' => 'Přihlásit se', 'dbupdate' => 'Databáze byla úspěšně aktualizována!', + 'sysmessage' => 'systémová zpráva', 'sysmessages' => 'Systémové zprávy', + 'sysmessagetxt' => 'Tento text předchází zprávám ze systému.', 'msgenter' => 'Vstup', 'msgexit' => 'Odchod', 'msgmemreg' => 'Registrovaný člen', @@ -270,6 +272,7 @@ $T=[ 'trackip' => 'Zobrazit IP relace', 'captchachars' => 'Znaky použité v Captcha', 'memkick' => 'Členové mohou vyhazovat, pokud není přítomen žádný moderátor', + 'memkickalways' => 'Členové mohou vždy vyhazovat', 'forceredirect' => 'Vynucené přesměrování', 'redirect' => 'Vlastní skript přesměrování', 'backuprestore' => 'Zálohování a obnovení', @@ -369,4 +372,5 @@ $T=[ 'personalnotes' => 'Osobní poznámky', 'publicnotes' => 'Poznámky publikovaný', 'filtermodkick' => 'Použít vyhazovací filtr na moderátory', + 'namedoers' => 'Ukažte, kdo vyloučí lidi nebo vyčistí všechny zprávy.', ]; diff --git a/lang_de.php b/lang_de.php index 4cdf010..d19ecab 100644 --- a/lang_de.php +++ b/lang_de.php @@ -44,7 +44,9 @@ $T=[ 'initsuexist' => 'Ein Superadmin existiert bereits!', 'initgosetup' => 'Zur Einrichtungsseite gehen', 'dbupdate' => 'Datenbank erfolgreich aktualisiert!', + 'sysmessage' => 'Systemnachricht', 'sysmessages' => 'Systemnachrichten', + 'sysmessagetxt' => 'Dieser Text geht Nachrichten aus dem System voraus.', 'msgenter' => 'Eintritt', 'msgexit' => 'Verlassen', 'msgmemreg' => 'Mitglied registriert', @@ -271,6 +273,7 @@ $T=[ 'trackip' => 'Sitzungs-IP anzeigen', 'captchachars' => 'Im Captcha benutzte Zeichen', 'memkick' => 'Mitglieder dürfen Rasusschmeißen, wenn kein Moderator da ist', + 'memkickalways' => 'Mitglieder dürfen immer Rasusschmeißen', 'forceredirect' => 'Umleitung erzwingen', 'redirect' => 'Benutzerdefinierte Umleitungsadresse', 'backuprestore' => 'Sichern und wiederherstellen', @@ -370,6 +373,7 @@ $T=[ 'personalnotes' => 'Persönliche Notizen', 'publicnotes' => 'Öffentliche Notizen', 'filtermodkick' => 'Kickfilter auf Moderatoren anwenden', + 'namedoers' => 'Zeigen Sie, wer Menschen vertreibt oder alle Nachrichten löscht.', 'forgotlogin' => 'Zugangsdaten vergessen?', 'resetinstruction' => 'Bitte bearbeiten Sie das Skript und fügen Sie folgendes am Ende der Datei hinzu (und ändern Sie das Passwort "changeme"). Danach aktualisieren Sie die Seite bitte: define(\'RESET_SUPERADMIN_PASSWORD\', \'changeme\');', 'resetpassword' => 'Passwort zurücksetzen', diff --git a/lang_en.php b/lang_en.php index 6de621d..bb8b586 100644 --- a/lang_en.php +++ b/lang_en.php @@ -55,7 +55,9 @@ $I=[ 'globalloginpass' => 'Global Password:', 'login' => 'Login', 'dbupdate' => 'Database successfully updated!', + 'sysmessage' => 'system message', 'sysmessages' => 'System messages', + 'sysmessagetxt' => 'Prepend this text to system messages', 'msgenter' => 'Entrance', 'msgexit' => 'Leaving', 'msgmemreg' => 'Member registered', @@ -271,6 +273,7 @@ $I=[ 'trackip' => 'Show session-IP', 'captchachars' => 'Characters used in Captcha', 'memkick' => 'Members can kick, if no moderator is present', + 'memkickalways' => 'Members can always kick', 'forceredirect' => 'Force redirection', 'redirect' => 'Custom redirection script', 'backuprestore' => 'Backup and restore', @@ -370,6 +373,7 @@ $I=[ 'personalnotes' => 'Personal notes', 'publicnotes' => 'Public notes', 'filtermodkick' => 'Apply kick filter on moderators', + 'namedoers' => 'Show who kicks people or purges all messages.', 'forgotlogin' => 'Forgot login?', 'resetinstruction' => 'Please modify the script and put the following at the bottom of it (change the password). Then refresh this page: define(\'RESET_SUPERADMIN_PASSWORD\', \'changeme\');', 'resetpassword' => 'Reset password', diff --git a/lang_es.php b/lang_es.php index a341c9f..f9cb84d 100644 --- a/lang_es.php +++ b/lang_es.php @@ -55,7 +55,9 @@ $T=[ 'globalloginpass' => 'Contraseña global:', 'login' => 'Identificarse', 'dbupdate' => '¡La base de datos fue actualizada con éxito!', + 'sysmessage' => 'mensaje de sistema', 'sysmessages' => 'Mensajes de sistema', + 'sysmessagetxt' => 'Este texto precede a los mensajes del sistema.', 'msgenter' => 'Entrando', 'msgexit' => 'Saliendo', 'msgmemreg' => 'Miembro registrado', @@ -270,6 +272,7 @@ $T=[ 'trackip' => 'Mostrar IP de la sesión', 'captchachars' => 'Caracteres usados en el Captcha', 'memkick' => 'Los miembros pueden expulsar, si no hay moderador presente', + 'memkickalways' => 'Los miembros siempre pueden expulsar', 'forceredirect' => 'Forzar redirección', 'redirect' => 'Script de redirección personalizado', 'backuprestore' => 'Copias de seguridad', @@ -369,4 +372,5 @@ $T=[ 'personalnotes' => 'Notas personales', 'publicnotes' => 'Notas públicas', 'filtermodkick' => 'Aplicar Kick filter en moderadores o administradores', + 'namedoers' => 'Mostrar quién expulsa a las personas o purga todos los mensajes.' ]; diff --git a/lang_fr.php b/lang_fr.php index 6bad486..8eecd3e 100644 --- a/lang_fr.php +++ b/lang_fr.php @@ -53,7 +53,9 @@ $T=[ 'globalloginpass' => 'Mot de passe global:', 'login' => 'Connexion', 'dbupdate' => 'Base de données installée!', + 'sysmessage' => 'message du système', 'sysmessages' => 'Messages du système', + 'sysmessagetxt' => 'Ce texte précède les messages du système.', 'msgenter' => 'Entrer', 'msgexit' => 'Quitter', 'msgmemreg' => 'Membre enregisté', @@ -267,6 +269,7 @@ $T=[ 'trackip' => 'Voir la session-IP', 'captchachars' => 'Charactères utilisés dans le Captcha', 'memkick' => 'Membres peuvent expulsés, si le modérateur est absent', + 'memkickalways' => 'Membres peuvent toujours expulser', 'forceredirect' => 'Forcer la redirection', 'redirect' => 'Personnalisation du script de redirection', 'backuprestore' => 'Sauvegarder et récupérer', @@ -308,5 +311,6 @@ $T=[ 'newnickname' => 'Nouveau Pseudo:', 'nicknametaken' => 'Pseudo déjà pris', 'nopass' => 'Mot de passe invalide (au moins % caractères), ne pas changer le pseudo', + 'namedoers' => 'Montrez qui expulse les gens ou nettoie tous les messages.', ]; diff --git a/lang_id.php b/lang_id.php index baa615c..0578d38 100644 --- a/lang_id.php +++ b/lang_id.php @@ -53,7 +53,9 @@ $T=[ 'globalloginpass' => 'Sandi global:', 'login' => 'Masuk', 'dbupdate' => 'Basisdata berhasil diperbarui!', + 'sysmessage' => 'pesan dari sistem', 'sysmessages' => 'Sistem perpesanan', + 'sysmessagetxt' => 'Teks ini mendahului pesan dari sistem.', 'msgenter' => 'Memasuki', 'msgexit' => 'Meninggalkan', 'msgmemreg' => 'Anggota terdaftar', @@ -267,6 +269,7 @@ $T=[ 'trackip' => 'Tunjukkan sesi-IP', 'captchachars' => 'Karakter yang digunakan dalam Captcha', 'memkick' => 'Anggota dapat mengusir, jika tak ada moderator', + 'memkickalways' => 'Anggota selalu dapat mengusir', 'forceredirect' => 'Paksa pengalihan', 'redirect' => 'Skrip pengalihan kustom', 'backuprestore' => 'Cadang dan pulihkan', @@ -307,6 +310,7 @@ $T=[ 'loggedinas' => 'Anda masuk sebagai %s dan tak dapat mengakses bagian ini.', 'newnickname' => 'Nama baru:', 'nicknametaken' => 'Nama sudah ada', - 'nopass' => 'Kata sandi salah (Minimal %d karakter), tak merubah nama' + 'nopass' => 'Kata sandi salah (Minimal %d karakter), tak merubah nama', + 'namedoers' => 'Memperlihatkan siapa yang mengusir orang atau membersihkan semua pesan.' ]; diff --git a/lang_it.php b/lang_it.php index 120ae47..7784b4e 100644 --- a/lang_it.php +++ b/lang_it.php @@ -55,7 +55,9 @@ $T=[ 'globalloginpass' => 'Password globale:', 'login' => 'Entrare', 'dbupdate' => 'Database aggiornato!', + 'sysmessage' => 'messaggio del sistema', 'sysmessages' => 'Messaggi del sistema', + 'sysmessagetxt' => 'Questo testo precede i messaggi del sistema.', 'msgenter' => 'Entrata', 'msgexit' => 'Uscita', 'msgmemreg' => 'Registarto', @@ -270,6 +272,7 @@ $T=[ 'trackip' => 'Visualizzare IP-sessione', 'captchachars' => 'Simboli, utilizzati in Captcha', 'memkick' => 'Membri possono espellere, se non è presente moderatore', + 'memkickalways' => 'Membri sempre possono espellere', 'forceredirect' => 'Riendirizzamento forzato', 'redirect' => 'Riendirizzamento forzato membri', 'backuprestore' => 'Backup e ripristino', @@ -369,4 +372,5 @@ $T=[ 'personalnotes' => 'Appunti personali', 'publicnotes' => 'Appunti pubbliche', 'filtermodkick' => 'Utlizzare filtro di esclusione per moderatori', + 'namedoers' => 'Mostra chi espelle le persone o elimina tutti i messaggi.', ]; diff --git a/lang_pt.php b/lang_pt.php index 399a81a..2f6db99 100644 --- a/lang_pt.php +++ b/lang_pt.php @@ -55,7 +55,9 @@ $I=[ 'globalloginpass' => 'Senha global:', 'login' => 'Login', 'dbupdate' => 'Banco de dados atualizado com sucesso!', + 'sysmessage' => 'mensagem do sistema', 'sysmessages' => 'Mensagens do sistema', + 'sysmessagetxt' => 'Este texto precede mensagens do sistema.', 'msgenter' => 'Entrada', 'msgexit' => 'Saída', 'msgmemreg' => 'Membro registrado', @@ -271,6 +273,7 @@ $I=[ 'trackip' => 'Mostrar os endereços IP das sessões ativas', 'captchachars' => 'Caracteres usados no Captcha', 'memkick' => 'Os membros podem kickar, se nenhum moderador estiver presente', + 'memkickalways' => 'Os membros podem sempre espulsar', 'forceredirect' => 'Forçar redirecionamento', 'redirect' => 'Personalizar script de redirecionamento ', 'backuprestore' => 'Backup e restauração', @@ -370,6 +373,7 @@ $I=[ 'personalnotes' => 'Notas pessoais', 'publicnotes' => 'Notas públicas', 'filtermodkick' => 'Aplicar filtro da expulsão nos moderadores', + 'namedoers' => 'Mostre quem expulsa as pessoas ou expurga todas as mensagens.', 'forgotlogin' => 'Esqueceu o login?', 'resetinstruction' => 'Por favor modifique a script e escreva as seguintes no fim. Mudar a senha. Recarregue esta página depois.: define(\'RESET_SUPERADMIN_PASSWORD\', \'mudar_esta_senha\');', 'resetpassword' => 'Redefinir senha', diff --git a/lang_ru.php b/lang_ru.php index aad0d15..798a64a 100644 --- a/lang_ru.php +++ b/lang_ru.php @@ -55,7 +55,9 @@ $T=[ 'globalloginpass' => 'Глобальный пароль:', 'login' => 'Войти', 'dbupdate' => 'База данных успешно обновлена!', + 'sysmessage' => 'системное сообщение', 'sysmessages' => 'Системные сообщения', + 'sysmessagetxt' => 'Этот текст предшествует сообщениям из системы.', 'msgenter' => 'Вход', 'msgexit' => 'Выход', 'msgmemreg' => 'Зарегистрированные', @@ -270,6 +272,7 @@ $T=[ 'trackip' => 'Показать IP-сессию', 'captchachars' => 'Символы, используемые в Captcha', 'memkick' => 'Пользователи могут исключать, если не присутствует модератор', + 'memkickalways' => 'Пользователи могут всегда́ исключать', 'forceredirect' => 'Принудительное перенаправление', 'redirect' => 'Пользовательский скрипт перенаправления', 'backuprestore' => 'Бэкап и восстановление', @@ -369,5 +372,6 @@ $T=[ 'personalnotes' => 'Личные заметки', 'publicnotes' => ' Профиля пользователяь', 'filtermodkick' => 'Применить фильтр исключения для модераторов', + 'namedoers' => 'Покажите, кто изгоняет людей или очищает все сообщения.', ]; diff --git a/lang_tr.php b/lang_tr.php index 0ff031c..2e3ab27 100644 --- a/lang_tr.php +++ b/lang_tr.php @@ -55,7 +55,9 @@ $T=[ 'globalloginpass' => 'Global şifre:', 'login' => 'Giriş', 'dbupdate' => 'Veritabanı başarıyla güncellendi!', + 'sysmessage' => 'Sistem ileti', 'sysmessages' => 'Sistem iletileri', + 'sysmessagetxt' => 'Bu metin, sistemden gelen iletilerden önce gelir.', 'msgenter' => 'Giriş', 'msgexit' => 'Ayrılınıyor', 'msgmemreg' => 'Üye kaydedildi', @@ -271,6 +273,7 @@ $T=[ 'trackip' => 'Oturum IP\'sini göster', 'captchachars' => 'Captcha\'da kullanılan harfler', 'memkick' => 'Eğer herhangi bir moderatör yoksa, üyeler birini atabilir', + 'memkickalways' => 'Üyeler her zaman birini atabilir', 'forceredirect' => 'Yönlendirmeye zorla', 'redirect' => 'Özel yönlendirme script\'i', 'backuprestore' => 'Yedekle ve onar', @@ -370,6 +373,7 @@ $T=[ 'personalnotes' => 'Kişisel notlar', 'publicnotes' => 'Kamu profiller', 'filtermodkick' => 'Moderatörler için atma filtresini etkinleştir', + 'namedoers' => 'İnsanları kimin dışarı attığını veya tüm iletileri kimin temizlediğini gösterin.', ]; diff --git a/lang_uk.php b/lang_uk.php index ccde07f..8fe0800 100644 --- a/lang_uk.php +++ b/lang_uk.php @@ -55,7 +55,9 @@ $T=[ 'globalloginpass' => 'Глобальний пароль:', 'login' => 'Війти', 'dbupdate' => 'База данних успішно обновлена!', + 'sysmessage' => 'Системн повідомлення', 'sysmessages' => 'Системні повідомлення', + 'sysmessagetxt' => 'Цьому тексту передує повідомлення від системи.', 'msgenter' => 'Вхід', 'msgexit' => 'Вихід', 'msgmemreg' => 'Зарегістрірованні', @@ -270,6 +272,7 @@ $T=[ 'trackip' => 'Показати IP-сесію', 'captchachars' => 'Символи, використовувані в Captcha', 'memkick' => 'Участники можуть ісключати, якщо нема модератора', + 'memkickalways' => 'Участники можуть за́вше ісключати', 'forceredirect' => 'Примусовне перенаправлення', 'redirect' => 'Користувача скрипт перенаправлення', 'backuprestore' => 'Бэкап і восстановлення', @@ -369,5 +372,6 @@ $T=[ 'personalnotes' => 'Лічні замітки', 'publicnotes' => 'Зауваження публічний', 'filtermodkick' => 'Примінити фільтр исключення для модераторів', + 'namedoers' => 'Показати, хто виганяє користувачів або очищає всі повідомлення.', ]; diff --git a/lang_zh-Hans.php b/lang_zh-Hans.php index 9c81487..2af0f9b 100644 --- a/lang_zh-Hans.php +++ b/lang_zh-Hans.php @@ -36,7 +36,9 @@ $T=[ 'globalloginpass' => '全局密码:', 'login' => '登录', 'dbupdate' => '数据库更新成功', + 'sysmessage' => '系统信息', 'sysmessages' => '系统信息', + 'sysmessagetxt' => '此文本先于来自系统的消息。', 'msgenter' => '入口', 'msgexit' => '离开', 'msgmemreg' => '成员注册', @@ -250,6 +252,7 @@ $T=[ 'trackip' => '显示会话-IP', 'captchachars' => '验证码中使用的字符', 'memkick' => '如果没有主持人,会员可以踢', + 'memkickalways' => '会员总是可以驱逐客人', 'forceredirect' => '强制重定向', 'redirect' => '自定义重定向脚本', 'backuprestore' => '备份还原', @@ -345,5 +348,5 @@ $T=[ 'maxuploadsize' => '最大上载大小(KB)', 'maxsize' => 'Max %d KB', 'cssupdate' => '注意:默认的CSS现在是硬编码的,可以从CSS设置中删除。', + 'namedoers' => '显示谁驱逐人或清除所有消息。', ]; -
$I[maxsize]