/** * 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; }