예제 #1
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());
 }
예제 #2
0
 public static function logLogout()
 {
     try {
         if (!Gpf_Session::getInstance()->getAuthUser()->isLogged()) {
             //user is not logged in, don't monitor his session
             return;
         }
     } catch (Exception $e) {
         return;
     }
     if ($loginId = Gpf_Session::getInstance()->getVar(Gpf_Db_Table_LoginsHistory::ID)) {
         $log = new Gpf_Db_LoginHistory();
         $log->setId($loginId);
         $log->setLogoutTime($log->createDatabase()->getDateString());
         $log->update();
         Gpf_Session::getInstance()->setVar(Gpf_Db_Table_LoginsHistory::ID, false);
     }
 }