/**
  * check user status
  * 
  * @param Tinebase_Model_FullUser $_user
  * @param Tinebase_Model_AccessLog $_accessLog
  */
 protected function _checkUserStatus(Tinebase_Model_FullUser $_user, Tinebase_Model_AccessLog $_accessLog)
 {
     // is the user enabled?
     if ($_accessLog->result == Tinebase_Auth::SUCCESS && $_user->accountStatus !== Tinebase_User::STATUS_ENABLED) {
         // is the account enabled?
         if ($_user->accountStatus == Tinebase_User::STATUS_DISABLED) {
             if (Tinebase_Core::isLogLevel(Zend_Log::NOTICE)) {
                 Tinebase_Core::getLogger()->notice(__METHOD__ . '::' . __LINE__ . ' Account: ' . $_user->accountLoginName . ' is disabled');
             }
             $_accessLog->result = Tinebase_Auth::FAILURE_DISABLED;
         } else {
             if ($_user->accountStatus == Tinebase_User::STATUS_EXPIRED) {
                 if (Tinebase_Core::isLogLevel(Zend_Log::INFO)) {
                     Tinebase_Core::getLogger()->info(__METHOD__ . '::' . __LINE__ . ' Account: ' . $_user->accountLoginName . ' password is expired');
                 }
                 $_accessLog->result = Tinebase_Auth::FAILURE_PASSWORD_EXPIRED;
             } else {
                 if ($_user->accountStatus == Tinebase_User::STATUS_BLOCKED) {
                     if (Tinebase_Core::isLogLevel(Zend_Log::NOTICE)) {
                         Tinebase_Core::getLogger()->notice(__METHOD__ . '::' . __LINE__ . ' Account: ' . $_user->accountLoginName . ' is blocked');
                     }
                     $_accessLog->result = Tinebase_Auth::FAILURE_BLOCKED;
                 } else {
                     if (!$_user->hasRight('Tinebase', Tinebase_Acl_Rights_Abstract::RUN)) {
                         if (Tinebase_Core::isLogLevel(Zend_Log::INFO)) {
                             Tinebase_Core::getLogger()->info(__METHOD__ . '::' . __LINE__ . ' Account: ' . $_user->accountLoginName . ' has not permissions for Tinebase');
                         }
                         $_accessLog->result = Tinebase_Auth::FAILURE_DISABLED;
                     }
                 }
             }
         }
     }
 }