Вход Регистрация
Файл: mg-core/controllers/enter.php
Строк: 40
<?php
/**
 * Контроллер: Enter
 * 
 * Класс Controllers_Enter обрабатывает действия пользователей на странице авторизации.
 * - Аутентифицирует пользовательские данные;
 * - Проверяет корректность ввода данных с формы авторизации;
 * - При успешной авторизации перенаправляет пользователя в личный кабинет.
 *
 * @author Авдеев Марк <mark-avdeev@mail.ru>
 * @package moguta.cms
 * @subpackage Controller
 */
class Controllers_Enter extends BaseController{

  function 
__construct(){
    
    if(
URL::getQueryParametr('logout')){
      
User::logout();
    }

    if(
User::isAuth()){
      
MG::redirect('/personal');
    }
    
    
$data = array (
      
'meta_title' => 'Авторизация',
      
'meta_keywords' => !empty($model->currentCategory['meta_keywords']) ? $model->currentCategory['meta_keywords'] : "Авторизация,вход, войти в личный кабинет",
      
'meta_desc' => !empty($model->currentCategory['meta_desc']) ? $model->currentCategory['meta_desc'] : "Авторизуйтесь на сайте и вы получите дополнительные возможности, недоступные для обычных пользователей.",
    );
   
    
// Если пользователь не авторизован.
    
if(!User::isAuth() && (isset($_POST['email'])||isset($_POST['pass']))){     
      if(!
User::auth(URL::get('email'), URL::get('pass'))){
        
$data['msgError'] = '<span class="msgError">'.'Неправильная пара email-пароль! Авторизоваться не удалось.'.'</span>';    
      }else{
        
$this->successfulLogon();
      }     
    }
    
    
$this->data $data;
  }


  
/**
   * Перенаправляет пользователя на страницу в личном кабинете.
   * @return void
   */
  
public function successfulLogon(){

    
// Если указан параметр для редиректа после успешной авторизации.
    
if($location URL::getQueryParametr('location')){
      
MG::redirect($location);
    }else{

      
// Иначе  перенаправляем в личный кабинет.
      
MG::redirect('/personal');
    }
  }


  
/**
   * Проверяет корректность ввода данных с формы авторизации.
   * @return void
   */
  
public function validForm(){
    
$email URL::getQueryParametr('email');
    
$pass URL::getQueryParametr('pass');

    if(!
$email || !$pass){
      
// При первом показе, не выводить ошибку.
      
if(strpos($_SERVER['HTTP_REFERER'], '/enter')){
        
$this->data = array (
          
'msgError' => '<span class="msgError">'.'Одно из обязательных полей не заполнено!'.'</span>',
          
'meta_title' => 'Авторизация',
          
'meta_keywords' => !empty($model->currentCategory['meta_keywords']) ? $model->currentCategory['meta_keywords'] : "Авторизация,вход, войти в личный кабинет",
          
'meta_desc' => !empty($model->currentCategory['meta_desc']) ? $model->currentCategory['meta_desc'] : "Авторизуйтесь на сайте и вы получите дополнительные возможности, недоступные для обычных пользователей.",
       );
      }
      return 
false;
    }
    return 
true;
  }

}
Онлайн: 0
Реклама