Separate changing nickname and password

This commit is contained in:
Daniel Winzen
2016-11-27 08:10:05 +01:00
parent 8ca4f9178b
commit 0ecd188559
4 changed files with 18 additions and 13 deletions

View File

@ -1,4 +1,5 @@
Add option to make your own font small Add option to make your own font small
Separate changing nickname and password
Version 1.22.1 - Nov. 13, 2016 Version 1.22.1 - Nov. 13, 2016
Performance optimizations Performance optimizations

View File

@ -1962,7 +1962,10 @@ function send_profile($arg=''){
echo "<tr><td>&nbsp;</td><td>$I[oldpass]</td><td><input type=\"password\" name=\"oldpass\" size=\"20\"></td></tr>"; echo "<tr><td>&nbsp;</td><td>$I[oldpass]</td><td><input type=\"password\" name=\"oldpass\" size=\"20\"></td></tr>";
echo "<tr><td>&nbsp;</td><td>$I[newpass]</td><td><input type=\"password\" name=\"newpass\" size=\"20\"></td></tr>"; echo "<tr><td>&nbsp;</td><td>$I[newpass]</td><td><input type=\"password\" name=\"newpass\" size=\"20\"></td></tr>";
echo "<tr><td>&nbsp;</td><td>$I[confirmpass]</td><td><input type=\"password\" name=\"confirmpass\" size=\"20\"></td></tr>"; echo "<tr><td>&nbsp;</td><td>$I[confirmpass]</td><td><input type=\"password\" name=\"confirmpass\" size=\"20\"></td></tr>";
echo "<tr><td>&nbsp;</td><td>$I[newnickname]</td><td><input type=\"text\" name=\"newnickname\" size=\"20\" placeholder=\"$I[optional]\"></td></tr>"; echo '</table></td></tr></table></td></tr>';
thr();
echo "<tr><td><table id=\"changenick\"><tr><th>$I[changenick]</th><td><table>";
echo "<tr><td>&nbsp;</td><td>$I[newnickname]</td><td><input type=\"text\" name=\"newnickname\" size=\"20\">";
echo '</table></td></tr></table></td></tr>'; echo '</table></td></tr></table></td></tr>';
thr(); thr();
} }
@ -2793,11 +2796,11 @@ function save_profile(){
$stmt->execute([$U['passhash'], $U['session']]); $stmt->execute([$U['passhash'], $U['session']]);
$stmt=$db->prepare('UPDATE ' . PREFIX . 'members SET passhash=? WHERE nickname=?;'); $stmt=$db->prepare('UPDATE ' . PREFIX . 'members SET passhash=? WHERE nickname=?;');
$stmt->execute([$U['passhash'], $U['nickname']]); $stmt->execute([$U['passhash'], $U['nickname']]);
if(!empty($_REQUEST['newnickname'])){ }
$msg=set_new_nickname(); if($U['status']>1 && !empty($_REQUEST['newnickname'])){
if($msg!==''){ $msg=set_new_nickname();
return $msg; if($msg!==''){
} return $msg;
} }
} }
return $I['succprofile']; return $I['succprofile'];
@ -2809,16 +2812,15 @@ function set_new_nickname(){
if(!valid_nick($_REQUEST['newnickname'])){ if(!valid_nick($_REQUEST['newnickname'])){
return sprintf($I['invalnick'], get_setting('maxname'), get_setting('nickregex')); 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=$db->prepare('SELECT id FROM ' . PREFIX . 'sessions WHERE nickname=? UNION SELECT id FROM ' . PREFIX . 'members WHERE nickname=?;');
$stmt->execute([$_REQUEST['newnickname'], $_REQUEST['newnickname']]); $stmt->execute([$_REQUEST['newnickname'], $_REQUEST['newnickname']]);
if($stmt->fetch(PDO::FETCH_NUM)){ if($stmt->fetch(PDO::FETCH_NUM)){
return $I['nicknametaken']; return $I['nicknametaken'];
}else{ }else{
$stmt=$db->prepare('UPDATE ' . PREFIX . 'members SET nickname=?, passhash=? WHERE nickname=?;'); $stmt=$db->prepare('UPDATE ' . PREFIX . 'members SET nickname=? WHERE nickname=?;');
$stmt->execute([$_REQUEST['newnickname'], $U['passhash'], $U['nickname']]); $stmt->execute([$_REQUEST['newnickname'], $U['nickname']]);
$stmt=$db->prepare('UPDATE ' . PREFIX . 'sessions SET nickname=?, passhash=? WHERE nickname=?;'); $stmt=$db->prepare('UPDATE ' . PREFIX . 'sessions SET nickname=? WHERE nickname=?;');
$stmt->execute([$_REQUEST['newnickname'], $U['passhash'], $U['nickname']]); $stmt->execute([$_REQUEST['newnickname'], $U['nickname']]);
$stmt=$db->prepare('UPDATE ' . PREFIX . 'messages SET poster=? WHERE poster=?;'); $stmt=$db->prepare('UPDATE ' . PREFIX . 'messages SET poster=? WHERE poster=?;');
$stmt->execute([$_REQUEST['newnickname'], $U['nickname']]); $stmt->execute([$_REQUEST['newnickname'], $U['nickname']]);
$stmt=$db->prepare('UPDATE ' . PREFIX . 'messages SET recipient=? WHERE recipient=?;'); $stmt=$db->prepare('UPDATE ' . PREFIX . 'messages SET recipient=? WHERE recipient=?;');
@ -3470,7 +3472,7 @@ function check_init(){
} }
function destroy_chat($C){ function destroy_chat($C){
global $I, $db, $language, $memcached; global $I, $db, $memcached;
setcookie(COOKIENAME, false); setcookie(COOKIENAME, false);
$_REQUEST['session']=''; $_REQUEST['session']='';
print_start('destory'); print_start('destory');
@ -3495,7 +3497,7 @@ function destroy_chat($C){
$memcached->delete(DBNAME . '-' . PREFIX . 'settings-msgencrypted'); $memcached->delete(DBNAME . '-' . PREFIX . 'settings-msgencrypted');
} }
echo "<h2>$I[destroyed]</h2><br><br><br>"; echo "<h2>$I[destroyed]</h2><br><br><br>";
echo form('setup').hidden('lang', $language).submit($I['init']).'</form>'.credit(); echo form('setup').submit($I['init']).'</form>'.credit();
print_end(); print_end();
} }

View File

@ -160,6 +160,7 @@ $T=[
'nbsize' => 'Notizboxgröße', 'nbsize' => 'Notizboxgröße',
'width' => 'Breite:', 'width' => 'Breite:',
'height' => 'Höhe:', 'height' => 'Höhe:',
'changenick' => 'Nickname ändern',
'changepass' => 'Passwort ändern', 'changepass' => 'Passwort ändern',
'oldpass' => 'Altes Passwort:', 'oldpass' => 'Altes Passwort:',
'newpass' => 'Neues Passwort:', 'newpass' => 'Neues Passwort:',

View File

@ -160,6 +160,7 @@ $I=[
'nbsize' => 'Notes box size', 'nbsize' => 'Notes box size',
'width' => 'Width:', 'width' => 'Width:',
'height' => 'Height:', 'height' => 'Height:',
'changenick' => 'Change Nickname',
'changepass' => 'Change Password', 'changepass' => 'Change Password',
'oldpass' => 'Old password:', 'oldpass' => 'Old password:',
'newpass' => 'New password:', 'newpass' => 'New password:',