Merge upstream

Merge branch 'master' of git://github.com/DanWin/le-chat-php
This commit is contained in:
Finnboy94
2021-04-09 13:13:28 +03:00
14 changed files with 97 additions and 23 deletions

View File

@ -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 '</select></td>';
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 '</tr></table><table><tr id="secondline">';
}
printf("<td><input type=\"file\" name=\"file\"><small>$I[maxsize]</small></td>", 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 "<td><label><input type=\"checkbox\" name=\"kick\" id=\"kick\" value=\"kick\">$I[kick]</label></td>";
echo "<td><label><input type=\"checkbox\" name=\"what\" id=\"what\" value=\"purge\" checked>$I[alsopurge]</label></td>";
}
@ -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' =>"<span class=\"sysmsg\">$mes</span>",
'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]</label></div>";
}
}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 '<small>'.date($dateformat, $message['postdate']).' - </small>';
}
if ($message['poststatus']==4) {
echo "<span class=\"sysmsg\" title=\"$I[sysmessage]\">".get_setting('sysmessagetxt')."$message[text]</span></div>";
} else {
echo "$message[text]</div>";
}
}
}
echo '</div>';
}
@ -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', ' &nbsp;'],
];
$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', ' &nbsp;'),('namedoers', '1');");
}
update_setting('dbversion', DBVERSION);
if($msgencrypted!==MSGENCRYPTED){
if(!extension_loaded('sodium')){
@ -4364,7 +4387,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

View File

@ -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' => 'Показване кой изхвърля хора или пречиства всички съобщения.',
];

View File

@ -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.',
];

View File

@ -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',

View File

@ -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',

View File

@ -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.'
];

View File

@ -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.',
];

View File

@ -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.'
];

View File

@ -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.',
];

View File

@ -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',

View File

@ -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' => 'Покажите, кто изгоняет людей или очищает все сообщения.',
];

View File

@ -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.',
];

View File

@ -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' => 'Показати, хто виганяє користувачів або очищає всі повідомлення.',
];

View File

@ -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' => '显示谁驱逐人或清除所有消息。',
];