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]