function user_update($id, $name, $email, $access, $groups = array(), $passwd = '') { if (!user_check_fields(CORRECT_LOGIN, $name, $passwd, $email, false, $id)) { return false; } $info = user_get_by_id($id); $name = htmlspecialchars(addslashes($name)); $email = addslashes($email); $update = array('name' => "\"{$name}\"", 'email' => "\"{$email}\"", 'access' => "access"); if ($passwd != '') { $update['password'] = '******' . addslashes(user_password_hash($info['login'], $passwd)) . '")'; } db_update('user', $update, "`id`={$id}"); user_delete_from_unset_groups($id, $groups); user_add_to_groups($id, $groups); return true; }
$u = user_get_by_id(user_id()); if ($u['email'] != '' && !check_email($email)) { add_info('Указанный E-Mail не выглядит корректным'); } else { if (user_registered_with_email($email, user_id())) { add_info('Такой E-Mail уже используется.'); } else { $arr['email'] = db_string($email); } } if ($chpasswd_val) { global $passwd, $passwd_confirm; if ($passwd != $passwd_confirm) { add_info('Ошибка подтверждеия пароля. Пароль не был обновлен.'); } else { $arr['password'] = '******' . addslashes(user_password_hash(user_login(), stripslashes($passwd))) . '")'; } } if (count($arr) > 0) { db_update('user', $arr, '`id`=' . user_id()); if (isset($arr['password'])) { user_authorize(user_login(), stripslashes($passwd)); } } } $u = user_get_by_id(user_id()); $f = new CVCForm(); $f->Init('', 'action=.?action\\=save' . ($redirect != '' ? '&redirect=' . prepare_arg($redirect) . ';backlink=' . prepare_arg($redirect) : '') . ';method=POST;add_check_func=check;'); $f->AppendLabelField('Имя пользователя', '', $u['name']); $f->AppendLabelField('Логин', '', $u['login']); if ($u['email'] != '') {
return true; } </script> <?php global $action; $f = new CVCForm(); $f->Init('', 'action=.?id\\=' . $id . '&hash\\=' . $hash . '&action\\=save;method=POST;add_check_func=check;caption=Сменить пароль;'); $f->AppendCustomField(array('src' => '<table class="clear" width="100%"><tr><td width="30%">Пароль</td><td style="padding: 2px;"><input type="password" class="txt block" id="passwd" name="passwd" onkeyup="check_passwd ();" onchange="check_passwd ();"></td></tr>' . '<tr><td>Подтверждение</td><td style="padding: 2px;"><input type="password" class="txt block" id="passwd_confirm" name="passwd_confirm" onkeyup="check_passwd ();" onchange="check_passwd ();"><div id="passwd_msg"></div></td></tr>' . '</table>')); $draw = true; if ($action == 'save') { global $passwd, $passwd_confirm; $passwd = stripslashes($passwd); $passwd_confirm = stripslashes($passwd_confirm); if ($passwd != $passwd_confirm) { add_info('Ошибка подьверждения пароля.'); } else { $draw = false; unset($s['restore_hash']); unset($s['restore_timestamp']); db_update('user', array('password' => 'MD5(' . db_string(user_password_hash($r['login'], $passwd)) . ')', 'settings' => db_string(serialize($s))), '`id`=' . $r['id']); add_info('Ваш пароль был успешно поменян.'); } } if ($draw) { formo('title=Форма смены пароля'); $f->Draw(); formc(); } } } }