From 0ecd18855925a9be166719f5697661787bc12566 Mon Sep 17 00:00:00 2001 From: Daniel Winzen Date: Sun, 27 Nov 2016 08:10:05 +0100 Subject: [PATCH] Separate changing nickname and password --- CHANGELOG | 1 + chat.php | 28 +++++++++++++++------------- lang_de.php | 1 + lang_en.php | 1 + 4 files changed, 18 insertions(+), 13 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 832973f..7194029 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,4 +1,5 @@ Add option to make your own font small +Separate changing nickname and password Version 1.22.1 - Nov. 13, 2016 Performance optimizations diff --git a/chat.php b/chat.php index a20d666..3b59997 100644 --- a/chat.php +++ b/chat.php @@ -1962,7 +1962,10 @@ function send_profile($arg=''){ echo " $I[oldpass]"; echo " $I[newpass]"; echo " $I[confirmpass]"; - echo " $I[newnickname]"; + echo ''; + thr(); + echo "
$I[changenick]"; + echo "
 $I[newnickname]"; echo '
'; thr(); } @@ -2793,11 +2796,11 @@ function save_profile(){ $stmt->execute([$U['passhash'], $U['session']]); $stmt=$db->prepare('UPDATE ' . PREFIX . 'members SET passhash=? WHERE nickname=?;'); $stmt->execute([$U['passhash'], $U['nickname']]); - if(!empty($_REQUEST['newnickname'])){ - $msg=set_new_nickname(); - if($msg!==''){ - return $msg; - } + } + if($U['status']>1 && !empty($_REQUEST['newnickname'])){ + $msg=set_new_nickname(); + if($msg!==''){ + return $msg; } } return $I['succprofile']; @@ -2809,16 +2812,15 @@ function set_new_nickname(){ if(!valid_nick($_REQUEST['newnickname'])){ return sprintf($I['invalnick'], get_setting('maxname'), get_setting('nickregex')); } - $U['passhash']=password_hash($_REQUEST['newpass'], PASSWORD_DEFAULT); $stmt=$db->prepare('SELECT id FROM ' . PREFIX . 'sessions WHERE nickname=? UNION SELECT id FROM ' . PREFIX . 'members WHERE nickname=?;'); $stmt->execute([$_REQUEST['newnickname'], $_REQUEST['newnickname']]); if($stmt->fetch(PDO::FETCH_NUM)){ return $I['nicknametaken']; }else{ - $stmt=$db->prepare('UPDATE ' . PREFIX . 'members SET nickname=?, passhash=? WHERE nickname=?;'); - $stmt->execute([$_REQUEST['newnickname'], $U['passhash'], $U['nickname']]); - $stmt=$db->prepare('UPDATE ' . PREFIX . 'sessions SET nickname=?, passhash=? WHERE nickname=?;'); - $stmt->execute([$_REQUEST['newnickname'], $U['passhash'], $U['nickname']]); + $stmt=$db->prepare('UPDATE ' . PREFIX . 'members SET nickname=? WHERE nickname=?;'); + $stmt->execute([$_REQUEST['newnickname'], $U['nickname']]); + $stmt=$db->prepare('UPDATE ' . PREFIX . 'sessions SET nickname=? WHERE nickname=?;'); + $stmt->execute([$_REQUEST['newnickname'], $U['nickname']]); $stmt=$db->prepare('UPDATE ' . PREFIX . 'messages SET poster=? WHERE poster=?;'); $stmt->execute([$_REQUEST['newnickname'], $U['nickname']]); $stmt=$db->prepare('UPDATE ' . PREFIX . 'messages SET recipient=? WHERE recipient=?;'); @@ -3470,7 +3472,7 @@ function check_init(){ } function destroy_chat($C){ - global $I, $db, $language, $memcached; + global $I, $db, $memcached; setcookie(COOKIENAME, false); $_REQUEST['session']=''; print_start('destory'); @@ -3495,7 +3497,7 @@ function destroy_chat($C){ $memcached->delete(DBNAME . '-' . PREFIX . 'settings-msgencrypted'); } echo "

$I[destroyed]




"; - echo form('setup').hidden('lang', $language).submit($I['init']).''.credit(); + echo form('setup').submit($I['init']).''.credit(); print_end(); } diff --git a/lang_de.php b/lang_de.php index d813a5f..146cbc1 100644 --- a/lang_de.php +++ b/lang_de.php @@ -160,6 +160,7 @@ $T=[ 'nbsize' => 'Notizboxgröße', 'width' => 'Breite:', 'height' => 'Höhe:', + 'changenick' => 'Nickname ändern', 'changepass' => 'Passwort ändern', 'oldpass' => 'Altes Passwort:', 'newpass' => 'Neues Passwort:', diff --git a/lang_en.php b/lang_en.php index a952908..869e928 100644 --- a/lang_en.php +++ b/lang_en.php @@ -160,6 +160,7 @@ $I=[ 'nbsize' => 'Notes box size', 'width' => 'Width:', 'height' => 'Height:', + 'changenick' => 'Change Nickname', 'changepass' => 'Change Password', 'oldpass' => 'Old password:', 'newpass' => 'New password:',