예제 #1
0
파일: user.php 프로젝트: Nazg-Gul/gate
 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;
 }
예제 #2
0
파일: data.php 프로젝트: Nazg-Gul/gate
    $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'] != '') {
예제 #3
0
파일: data.php 프로젝트: Nazg-Gul/gate
  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();
            }
        }
    }
}