| فراموشی |
| "', $user_profile_content);
$end_profile_content = trim($user_profile_content[1]);
$end_profile_content = explode('"referrer" => "', $end_profile_content);
$end_profile_content = ' "referrer" => "'.trim($end_profile_content[1]);
$new_profile_content = trim($user_profile_content[0]).PHP_EOL.' "password" => "';
$new_profile_content = $new_profile_content.$password.'",'.PHP_EOL.$end_profile_content;
file_put_contents($user_profile, $new_profile_content);
//Check new password is set:
$user_profile_content = file_get_contents($user_profile);
if (strpos($user_profile_content, $password) !== false) {
array_push($_SESSION['alerts'], 'رمز جدید با موفقیت ثبت شد|success');
unset($_SESSION['new_password']);
//Redirect to login page:
header('Location: '.US.'login');
die();
} else {
array_push($_SESSION['alerts'], 'رمز جدید به درستی ثبت نشد|warning');
}
} else {
array_push($_SESSION['alerts'], 'فایل پروفایل کاربر یافت نشد|warning');
}
}
elseif ($password1 && $password2 && $password1 != $password2) {
array_push($_SESSION['alerts'], 'رمزهای وارد شده با هم مطابقت ندارند|warning');
}
else {
array_push($_SESSION['alerts'], 'باید هر دو مقدار رمز اول و دوم را وارد نمایید|warning');
}
}
//Part 2: enter send code:
if (isset($_POST['task']) && (isset($_POST['username']) || isset($_POST['email'])) && ($_POST['username'] || $_POST['email'])) {
$sent_username = $_POST['username'];
$sent_email = $_POST['email'];
//Search to find user:
$user_found = false;
//Scan user folder for users:
$users = array_diff(scandir(USER, 0), array('.', '..', '.htaccess', '.ftpquota', 'index.html', 'index.php', 'error_log'));
foreach ($users as $user) { //Each $user is folder name
if ($user_found) {break;}
$user_id = $user;
if (is_file(USER.$user.DS.'profile.php')) { //User profile exist; So, call user() function:
require_once(USER.$user.DS.'profile.php');
$user_function = 'user'.$user;
$user_array = $user_function();
$user_enabled = $user_array['enabled'];
$user_fullname = $user_array['fullname'];
$user_email = $user_array['email'];
$user_mobile = $user_array['mobile'];
$user_password = $user_array['password'];
$user_username = $user_array['username'];
$user_secret = $user_array['secret'];
//Check sent data with user info:
if ($sent_username == $user_username || $sent_email && $user_email) {
//User found:
$verify_code = rand(1000000, 9000000);
$_SESSION['forget_user_id'] = $user_id;
$_SESSION['forget_verify_code'] = $verify_code;
$user_found = true;
activity('forget',$user_id,'ACTIVITY_FORGET');
//Send verify code to user:
if ($user_email) {
$subject = 'فراموشی اطلاعات ورود';
$message = $user_fullname.' گرامی؛ برای بازنشانی رمز خود؛ کد '.$verify_code.' را در صفحه فراموشی سایت وارد نمایید.';
$alert = 0;
require_once(OPERATION.'email.php');
email($user_email,$subject,$message,$alert);
}
//Send verify code to user:
if ($user_mobile) {
$message = $user_fullname.' گرامی؛ برای بازنشانی رمز خود؛ کد '.$verify_code.' را در صفحه فراموشی سایت وارد نمایید.';
$alert = 0;
require_once(OPERATION.'sms.php');
sms($user_mobile,$message,$alert);
}
}
}
}
if (!$user_found) {
array_push($_SESSION['alerts'], 'کاربری با اطلاعات وارد شده یافت نشد|warning');
}
} elseif (isset($_POST['task']) && !($_POST['task'] == 'verify_forget' || $_POST['task'] == 'new_password') && !isset($_SESSION['new_password'])) {
array_push($_SESSION['alerts'], 'باید نام کاربری یا ایمیل را وارد نمایید|warning');
}
//Part 1: show forget form:
if (isset($_POST['task']) && $_POST['task'] == 'user_forget') {
$content .= '
لطفا کد تایید ایمیل یا پیامک شده را وارد نمایید. در آدرس ایمیل خود؛ پوشه Spam را هم بررسی نمایید. '; } elseif (isset($_POST['task']) && $_POST['task'] == 'verify_forget') { if ($_POST['verify_code'] == $_SESSION['forget_verify_code']) {//Verify code is correct, show set new password form: $content .= ' رمز جدید خود را وارد نمایید. '; } else { $content .= ' کد تایید وارد شده صحیح نیست. مجددا تلاش نمایید. '; } } else { $content .= 'لطفا نام کاربری یا ایمیل یا هردو را درج نمایید. '; } } else {//User is logged in and can't continue $content .= ' ';
$content .= ' شما هم اکنون وارد اکانت خود شده اید و نیازی به اجرای مراحل فراموشی رمز ندارید';
$content .= ' ';
}
return $content;
?> |
| حذف |
۱۴۰۰/۰۹/۱۹ |







