Beispiel #1
0
 /**
  * check user login
  * @input post data
  * @return mixed  [0] 1:success | 2:login failed | 3:spamer [max|try|time] 
  */
 public function Check()
 {
     $registry = TRegistry::GetInstance();
     $trylog = new TTryLog();
     $time = $registry->GetValue(ROOT_SYSTEM, 'login_ignore_time');
     // check login try
     $try = $trylog->Check(TRY_LOGIN, $time);
     // get max try ;
     $max_try = $registry->GetValue(ROOT_SYSTEM, 'login_max_try');
     // check is try more than max try
     if ($try <= $max_try) {
         // can login
         // log try
         $trylog->Log(TRY_LOGIN);
         // check input length
         if (strlen($_POST['manager_username']) < 3 || empty($_POST['manager_password'])) {
             // take access
             TMAC::TakeAccess();
             $ret[0] = 2;
             return $ret;
         }
         $sql = "SELECT * FROM %table% WHERE \n                manager_username = :username AND manager_password = :password ;";
         $result = $this->db->Select($sql, array('manager'), array('type' => 'ss', ":username" => $_POST['manager_username'], ":password" => Password($_POST['manager_password'])));
         //manager access control init
         TMAC::Init();
         if (count($result) == 1) {
             //login
             // update last login
             $this->db->Update('manager', array('type' => 'i', "manager_lastlogin" => time()), "manager_id = '{$result[0]['manager_id']}'");
             // make remenber
             isset($_POST['remenber']) ? $remenber = TRUE : ($remenber = FALSE);
             // give access
             TMAC::GiveAccess($result[0], $remenber);
             $ret[0] = 1;
             return $ret;
         } else {
             //not login
             // take access
             TMAC::TakeAccess();
             $ret[0] = 2;
             return $ret;
         }
     } else {
         // can't login
         $ret[0] = 3;
         $ret['max'] = $max_try;
         $ret['time'] = $time;
         // and show error
         return $ret;
     }
 }
Beispiel #2
0
 function __construct($base = '')
 {
     // registry class create   ;
     $registry = TRegistry::GetInstance();
     $this->base = $base;
     // every controller have view load view here
     $this->view = new TView();
     $not_login_need = array('Access,Login', 'Access,Check', 'Access,Forget', 'Access,ChangePasswd');
     // check if not in login page
     if (!in_array(parent::$request, $not_login_need)) {
         // manger access controller
         TMAC::Init();
         TMAC::CheckLogin();
         TMAC::RestoreRequest();
     }
 }
Beispiel #3
0
 /**
  * initial class 
  */
 public static function Init()
 {
     _hk('P' . ':' . __CLASS__ . ':' . __FUNCTION__, __CLASS__);
     @session_start();
     self::$init = TRUE;
 }
 public function Logout()
 {
     TMAC::TakeAccess();
     Redirect(UR_MP . 'Access/Login');
 }