示例#1
0
    } elseif (strlen($pwd) < 6) {
        $error = 'Слишком короткий пароль (минимум — 6 символов)';
    } elseif (strlen($pwd) > 24) {
        $error = 'Слишком длинный пароль (максимум — 24 символа)';
    }
    if (!$error && $codes->user_id) {
        require_once ABS_PATH . '/classes/users.php';
        $user = new users();
        $user->passwd = $pwd;
        $err = $user->Update($codes->user_id, $res);
        $u_id = $codes->user_id;
        $codes->DelByUT($codes->user_id, 1);
        if (!$err) {
            $info = 'Изменения внесены';
            require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/smail.php';
            $smail = new smail();
            $smail->ChangePwd($codes->user_id, $pwd);
            // Пишем в лог смены паролей
            require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/restorepass_log.php';
            restorepass_log::SaveToLog($codes->user_id, getRemoteIP(), 1);
            $pwd = users::hashPasswd(trim(stripslashes($pwd)));
            $user->getUserByUID($u_id);
            login($user->login, $pwd);
            session_write_close();
            header('Location: /');
            exit;
        }
    }
}
$content = 'changepwd_inner.php';
include 'template3.php';
示例#2
0
 /**
  * Сброс пароля пользователя в случайный пароль.
  *
  * @param    integer $uid    id пользователя
  * @param    string  $phone  телефон введенный в разделе безопасность
  *
  * @return   string          новый пароль, пусто если телефон не совпадает
  */
 public function ResetPasswordSMS($uid, $phone)
 {
     global $DB;
     $new_password = '';
     $phone = str_replace('+', '', $phone);
     $phone = '+' . $phone;
     $sql = 'SELECT u.uid FROM users u
             INNER JOIN sbr_reqv s ON s.user_id = u.uid
             WHERE u.uid=?i AND (s._1_mob_phone = ? OR s._2_mob_phone = ?)';
     if (pg_num_rows($DB->query($sql, $uid, $phone, $phone)) == 1) {
         mt_srand();
         $new_password = substr(md5(uniqid(mt_rand())), 0, self::MAX_NEW_PASSWORD_LENGTH);
         $sql = 'UPDATE users SET passwd=? WHERE uid=?i';
         $DB->query($sql, self::hashPasswd($new_password), $uid);
         // Пишем в лог смены паролей
         require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/restorepass_log.php';
         restorepass_log::SaveToLog($uid, getRemoteIP(), 2);
     }
     return $new_password;
 }
示例#3
0
         $alert[2] = "Слишком короткий пароль (минимум — 6 символов)";
     } elseif (strlen($pwd) > 24) {
         $error_flag = 1;
         $alert[2] = "Слишком длинный пароль (максимум — 24 символа)";
     }
     if (!$error_flag) {
         $frl = new users();
         $alert[1] = $frl->UpdatePwd($uid, $oldpwd, $pwd, 0);
         if (!$alert[1] && !$error_flag) {
             $info = "Изменения внесены";
             require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/smail.php";
             $smail = new smail();
             $smail->ChangePwd($uid, $pwd);
             // Пишем в лог смены паролей
             require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/restorepass_log.php";
             restorepass_log::SaveToLog($uid, getRemoteIP(), 3);
         }
     }
     break;
 case "foto_change":
     $foto = new CFile($_FILES['foto']);
     $del = trim($_POST['del']);
     $frl = new freelancer();
     if ($foto->name || $del == 1) {
         $error .= $frl->UpdateFoto($uid, $foto, $del);
         /*if (!$error) $info_msg = "Изменения внесены";
         		else $error = "Файл не удовлетворяет условиям загрузки";*/
         $nParam = !$error ? 1 : 2;
         if (!$error) {
             $_SESSION['photo'] = $frl->photo;
         }
示例#4
0
     break;
 case "setpwd":
     $login = __paramInit('string', NULL, 'login');
     $pwd = stripslashes($_POST['pwd']);
     //__paramInit('string', NULL, 'pwd');
     require_once ABS_PATH . "/classes/users.php";
     require_once ABS_PATH . "/classes/codes.php";
     $codes = new codes();
     $user = new users();
     $uid = $user->GetUid($error, $login);
     $user->passwd = $pwd;
     $err = $user->Update($uid, $res);
     $codes->DelByUT($uid, 1);
     // ѕишем в лог смены паролей
     require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/restorepass_log.php";
     restorepass_log::SaveToLog($uid, getRemoteIP(), 4, get_uid(false));
     header("Location: /siteadmin/rating/?result=success");
     break;
 case "addserv":
     $login = __paramInit('string', NULL, 'login');
     $days = __paramInit('string', NULL, 'days');
     $type = __paramInit('int', NULL, 'type');
     $where = __paramInit('int', NULL, 'where');
     $fid = users::GetUid($err, $login);
     if ($fid && $login) {
         if (preg_match('#^[1-9]+[\\d]*$#', $days)) {
             require_once ABS_PATH . '/classes/account.php';
             $nDays = intval($days);
             $trsn_id = account::start_transaction($fid);
             switch ($type) {
                 case 1: