Blame view

mobile/source/modules/users/users_admin_login.php 2.87 KB
a1684257   Administrator   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
  <?php
  /**
  * @author:  Bunzia Alexander <nifus@mail.ru> <http://www.weblancer.net/users/nifus/>
  * @copyright: Copyright (c) 2010, Bunzia Alexander
  * @version: 1.0
  * @license: http://www.gnu.org/copyleft/gpl.html GNU/GPL
  */
  
  
  class users_admin_login{
  
  	private $error = false;
  	private $act = '';
  	
  	function __construct(){
  	global $MAIN_PAGE;
  		define('M_PATH',MAIN_SOURCE_PATH.'/modules/'.$MAIN_PAGE -> dirname() );
  		define('M_URL',MAIN_SOURCE_URL.'/modules/'.$MAIN_PAGE -> dirname() );
  		include_once(M_PATH.'/inc/url.php');
  		include_once(M_PATH.'/inc/class.users.php');
  		if ( !empty($_REQUEST['act']) ){
  			$this -> act = $_REQUEST['act'];
  		}
  		
  		//include(MAIN_SOURCE_PATH.'/ext/ajax/JsHttpRequest.php');
  		//$JsHttpRequest =& new JsHttpRequest($MAIN_PAGE -> charset());
  	}
  	
  	
  	public function get(){
  		$func = $this -> act;
  		if ( !method_exists($this ,$func) ){
  			sys_error(ERROR_404);
  		}
  		return  $this -> $func();
  	}
  	
  	private function admin_login(){	
  	global $MAIN_PAGE;
  
      Header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); //Дата в прошлом 
      Header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 
      Header("Pragma: no-cache"); // HTTP/1.1 
      Header("Last-Modified: ".gmdate("D, d M Y H:i:s")."GMT");
  		if ( empty($MAIN_USER) ){
  		  $MAIN_USER = users::auth();
  		}
        //	админу сразу редирект на главную админки
  		if ( !empty($MAIN_USER) && $MAIN_USER -> is_admin() ){
  		  include_once(MAIN_SOURCE_PATH.'/modules/admin/inc/url.php');
  			 if ( $MAIN_PAGE -> config('sys_admin_mainpage') !='' ){
            sys_redirect(  sys_url($MAIN_PAGE -> config('sys_admin_mainpage')) ); 
          }else{
            sys_redirect(  MAIN_URL.'?p_name=admin_main'); 
          }
  		}
  		
        //	обрабатываем форму
  		if ( !empty($_REQUEST['send']) ){
        $u = self::inc_login_site($_REQUEST['login'],$_REQUEST['pass']);
        
          //	данные верны, редирект на главную админки
  			if (false!==$u ){
  				include_once(MAIN_SOURCE_PATH.'/modules/admin/inc/url.php');
          if ( $MAIN_PAGE -> config('sys_admin_mainpage') !='' ){
            sys_redirect(  sys_url($MAIN_PAGE -> config('sys_admin_mainpage')) ); 
          }else{
            sys_redirect(  MAIN_URL.'?p_name=admin_main'); 
          }
  				
  			}
  			$this -> error = 'Логин или пароль указаны неверно';
  		}
        //	выводим форму для авторизации админа
      $t = new PHPTAL( M_PATH.'/tmpl/admin_index/form.html' );
  		$t -> login_url = URL_USERS_ADMIN_LOGIN;
  		$t -> error = $this -> error;
  		return $t -> execute();	
    
    }
    
  
    
    
   
    
    private function inc_login_site($l,$p,$save){
      
  		$u = users::load_login($l);
  		if ( $u===false ){
  			return false;
  		}
  		if ( $u -> pass()!=users::make_pass($p) ){
  			return false;
  		}
  	
  		$u -> user_session($save);
  		return $u;
  	}
  	
  	
  				
  
  } //  end class
  ?>