} 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';
/** * Сброс пароля пользователя в случайный пароль. * * @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; }
$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; }
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: