예제 #1
0
 public static function logRequest()
 {
     try {
         if (!Gpf_Session::getInstance()->getAuthUser()->isLogged()) {
             //user is not logged in, don't monitor his session
             return;
         }
     } catch (Exception $e) {
         return;
     }
     $log = new Gpf_Db_LoginHistory();
     if ($loginId = Gpf_Session::getInstance()->getVar(Gpf_Db_Table_LoginsHistory::ID)) {
         if (time() - Gpf_Session::getInstance()->getVar(Gpf_Db_Table_LoginsHistory::LAST_REQUEST) > self::WRITE_DELAY) {
             //login id already defined, update last request time
             $log->setId($loginId);
             $log->setLastRequestTime($log->createDatabase()->getDateString());
             $log->update();
             Gpf_Session::getInstance()->setVar(Gpf_Db_Table_LoginsHistory::LAST_REQUEST, time());
         }
     }
 }
예제 #2
0
 public function registerLogin(Gpf_Rpc_Form $loginForm = null)
 {
     $isFromApi = Gpf::NO;
     if ($loginForm != null) {
         try {
             $isFromApi = $loginForm->getFieldValue('isFromApi');
         } catch (Gpf_Exception $e) {
         }
     }
     if ($isFromApi == Gpf::YES) {
         return;
     }
     $log = new Gpf_Db_LoginHistory();
     $loginDbTime = $log->createDatabase()->getDateString();
     $log->setLoginTime($loginDbTime);
     $log->setIp(Gpf_Http::getRemoteIp());
     $log->setLastRequestTime($loginDbTime);
     $log->setAccountUserId(Gpf_Session::getInstance()->getAuthUser()->getAccountUserId());
     $log->insert();
     Gpf_Session::getInstance()->setVar(Gpf_Db_Table_LoginsHistory::ID, $log->getId());
     Gpf_Session::getInstance()->setVar(Gpf_Db_Table_LoginsHistory::LAST_REQUEST, time());
 }