if (!preg_match('/^[a-zA-Z\\d\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\_\\+\\-\\=\\;\\,\\.\\/\\?\\[\\]\\{\\}]+$/', $pwd)) { $error = 'Пароль содержит недопустимые символы.<br>' . 'Пожалуйста, используйте только латинские буквы, цифры<br>' . 'и следующие спецсимволы: !@#$%^&*()_+-=;,./?[]{}'; } elseif (strcmp($pwd, $pwd2)) { $error = 'Введенные пароли не совпадают'; } 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; }
exit; } $error = "ќшибка."; 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);