Файл: adultscript-2.0.3-pro/files/modules/user/components/lost.php
Строк: 33
<?php
defined('_VALID') or die('Restricted Access!');
class VComponent_user_lost extends VModule_user
{
public function __construct()
{
parent::__construct();
}
public function render()
{
$errors = array();
$messages = array();
if (isset($_POST['submit_lost'])) {
$email = VF::factory('filter')->get('email');
if ($email == '') {
$errors[] = __('email-empty');
} elseif (!VValid::email($email)) {
$errrors[] = __('email-invalid');
} else {
$db = VF::factory('database');
$db->query("SELECT username, status
FROM #__user
WHERE email = '".$db->escape($email)."'
LIMIT 1");
if ($db->affected_rows()) {
$user = $db->fetch_assoc();
if ($user['status'] == '0') {
$errors[] = __('account-suspended');
} elseif ($user['status'] == '2') {
$errors[] = __('account-approve');
}
} else {
$errors[] = __('confirm-missing');
}
}
if (!$errors) {
$password = VText::random();
$db->query("UPDATE #__user
SET password = '".VHash::encrypt($password)."'
WHERE email = '".$db->escape($email)."'
LIMIT 1");
if ($db->affected_rows()) {
$mail = VF::factory('email');
$search = array('[#SITE_NAME#]', '[#BASE_URL#]', '[#USERNAME#]', '[#PASSWORD#]', '[#NOTIFS_URL#]');
$replace = array(VF::cfg_item('site_name'), BASE_URL, $user['username'], $password, BASE_URL.'/user/notifications/');
$mail->predefined('user-lost', $email, $search, $replace, 'noreply');
$messages[] = __('lost-success');
} else {
throw new VException('Aplication Error! Aborting...');
}
}
}
$tpl = VF::factory('template');
$tpl->menu = 'home';
$tpl->meta_title = __('lost-meta-title');
$tpl->errors = $errors;
$tpl->messages = $messages;
$tpl->load(array('header', 'user_lost', 'footer'));
$tpl->display();
}
}