Exemplo n.º 1
0
 /**
  * 
  */
 public function logresolution()
 {
     $this->willRenderActionView = false;
     $this->willRenderLayoutView = false;
     $width = RequestMethods::post('scwidth');
     $height = RequestMethods::post('scheight');
     $res = $width . ' x ' . $height;
     Core::getLogger()->log($res, FILE_APPEND, true, 'scres.log');
 }
Exemplo n.º 2
0
 /**
  * 
  * @param type $error
  * @param type $sql
  */
 protected function _logError($error, $sql)
 {
     $errMessage = sprintf('There was an error in the query %s', $error) . PHP_EOL;
     $errMessage .= 'SQL: ' . $sql;
     Core::getLogger()->log($errMessage);
 }
 /**
  * Main authentication method which is used for user authentication
  * based on two credentials such as username and password. These login
  * credentials are set in database.
  * 
  * @param string $name  Username or email
  * @param string $pass  Password
  */
 public function authenticate($name, $pass)
 {
     $errMessage = sprintf('%s and/or password are incorrect', ucfirst($this->_name));
     $errMessageNotActive = 'Account is not active';
     $user = \App_Model_User::first(array("{$this->_name} = ?" => $name));
     if ($user === null) {
         throw new Exception\UserNotExists($errMessage);
     }
     $passVerify = PasswordManager::validatePassword($pass, $user->getPassword(), $user->getSalt());
     if ($passVerify === true) {
         if ($user instanceof AdvancedUser) {
             if (!$user->isActive()) {
                 throw new Exception\UserInactive($errMessageNotActive);
             } elseif ($user->isAccountExpired()) {
                 throw new Exception\UserExpired($errMessage);
             } elseif ($user->isPasswordExpired()) {
                 throw new Exception\UserPassExpired($errMessage);
             } else {
                 $user->setLastLogin();
                 $user->setTotalLoginAttempts(0);
                 $user->setLastLoginAttempt(0);
                 $user->setFirstLoginAttempt(0);
                 $user->save();
                 $user->password = null;
                 $user->salt = null;
                 return $user;
             }
         } elseif ($user instanceof BasicUser) {
             if (!$user->isActive()) {
                 throw new Exception\UserInactive($errMessageNotActive);
             } else {
                 $user->setLastLogin();
                 $user->setTotalLoginAttempts(0);
                 $user->setLastLoginAttempt(0);
                 $user->setFirstLoginAttempt(0);
                 $user->save();
                 $user->password = null;
                 $user->salt = null;
                 return $user;
             }
         } else {
             throw new Exception\Implementation(sprintf('%s is not implementing BasicUser', get_class($user)));
         }
     } else {
         if ($this->_bruteForceDetection === true) {
             if ($this->isBruteForce($user)) {
                 $identifier = $this->_name;
                 Core::getLogger()->log(sprintf('Brute Force Attack Detected for account %s', $user->{$identifier}));
                 throw new Exception\BruteForceAttack('WARNING: Brute Force Attack Detected. We Recommend you use captcha.');
             } else {
                 throw new Exception\WrongPassword($errMessage);
             }
         } else {
             throw new Exception\WrongPassword($errMessage);
         }
     }
 }