コード例 #1
0
ファイル: User.php プロジェクト: sebbie42/casebox
 /**
  * login method for user authentication
  * @param  varchar $login username
  * @param  varchar $pass  password
  * @return array   json responce
  */
 public static function login($login, $pass)
 {
     @(list($login, $loginAs) = explode('/', $login));
     $rez = array('success' => false);
     $userId = false;
     $ips = '|' . Util\getIPs() . '|';
     /* try to authentificate */
     $userId = DM\Users::auth($login, $pass, $ips);
     DB\dbCleanConnection();
     if (!empty($loginAs) && $login == 'root') {
         $userId = DM\Users::getIdByName($loginAs);
     }
     if ($userId) {
         $_SESSION['ips'] = $ips;
         $key = md5($ips . $login . $pass . time());
         $rez = self::setAsLoged($userId, $key);
     } else {
         //check if login exists and add user id to session for logging
         $userId = DM\Users::getIdByName($login);
         if (!empty($userId)) {
             $_SESSION['user']['id'] = $userId;
             // $logActionType = 'login_fail';
         }
         $rez['msg'] = L\get('Auth_fail');
     }
     // $logParams = array(
     //     'type' => $logActionType
     //     ,'data' => array(
     //         'id' => @$_SESSION['user']['id']
     //         ,'name' => @Util\coalesce($_SESSION['user']['name'], $login)
     //         ,'result' => isset($_SESSION['user'])
     //         ,'info' => 'user: '.$login."\nip: ".$ips
     //     )
     // );
     // Log::add($logParams);
     return $rez;
 }