public function __construct($request, $response)
 {
     parent::__construct($request, $response);
     //$this->checkAllowIP();
     $role_id = $this->isAdmin();
     if ($role_id < 1) {
         return $this->redirect('admin/login/index');
     }
     if ($GLOBALS['user_id'] > 0) {
         $user = CacheManager::getUser();
         $uri = addslashes(@$_SERVER['REQUEST_URI']);
         if (Util::filterOnlineUrl($uri)) {
             $update_time = 0;
             $key = 'last_time_' . $GLOBALS['user_id'];
             $time = CacheManager::cache_get($key, 0);
             if ($time > 0) {
                 $update_time = TIMESTAMP - $time;
             }
             if ($update_time < 0) {
                 $update_time = 0;
             }
             Model::factory('App')->updateAdminOnline($GLOBALS['user_id'], $uri, Util::getIP(), $update_time, addslashes(json_encode(@$_REQUEST)));
             CacheManager::cache_set($key, TIMESTAMP);
         }
     }
 }
Exemplo n.º 2
0
 public function initApp(&$obj)
 {
     $sessionKey = $obj->req('sessionKey');
     $obj->income = Util::up_decode($sessionKey);
     if ($obj->income && $obj->income['u'] > 0) {
         $obj->uid = $obj->income['u'];
         $obj->user = CacheManager::getUser($obj->uid);
         if (!isset($obj->income['l'])) {
             $obj->income['l'] = $obj->user->locale;
         }
         $obj->locale = $obj->getLocale($obj->income['l']);
         $obj->lang = $obj->getLang($obj->locale);
         $obj->mobile = $obj->income['m'] == 1 ? true : false;
         $obj->login($obj->uid);
     } else {
         if ($GLOBALS['user_id'] > 0) {
             $obj->uid = $GLOBALS['user_id'];
             $obj->user = CacheManager::getUser($obj->uid);
             if (!$obj->user) {
                 $GLOBALS['user_id'] = 0;
                 $obj->uid = 0;
                 $obj->locale = $obj->getLocale(Util::determineLang());
                 $obj->lang = $obj->getLang($obj->locale);
             } else {
                 $obj->locale = $obj->getLocale($obj->user->locale);
                 $obj->lang = $obj->getLang($obj->locale);
             }
         } else {
             $obj->locale = $obj->getLocale(Util::determineLang());
             $obj->lang = $obj->getLang($obj->locale);
         }
     }
     if ($obj->uid > 0) {
         $uri = addslashes(@$_SERVER['REQUEST_URI']);
         if (Util::filterOnlineUrl($uri)) {
             $update_time = 0;
             $key = 'last_time_' . $obj->uid;
             $time = CacheManager::cache_get($key, 0);
             if ($time > 0) {
                 $update_time = TIMESTAMP - $time;
             }
             if ($update_time < 0) {
                 $update_time = 0;
             }
             Model::factory('App')->updateUserOnline($obj->uid, $uri, Util::getIP(), $update_time);
             CacheManager::cache_set($key, TIMESTAMP);
         }
     }
 }
Exemplo n.º 3
0
 public function getpassport($username, $password)
 {
     if (!Util::check_username($username)) {
         return -4;
     }
     $key = 'logins_' . $username;
     $logins = CacheManager::cache_get($key, 0);
     if ($logins > 10) {
         return -5;
     }
     CacheManager::cache_set($key, $logins + 1);
     return $this->check_login($username, $password);
 }