/** * @method POST */ function login() { // parse request parse_str($this->request->data, $request); $email = $request['email']; $password = $request['password']; // get the user from the credentials $user = User::GetByEmailPassword($email, $password); if ($user != null) { try { // if $site is null, login to the app, else login to the site $site = Site::GetBySiteUniqId(SITE_UNIQ_ID); // default canView $canView = ''; // try to get a role by its name $role = Role::GetByName($user['Role'], $user['SiteId']); // set canView permission if ($role != null) { $canView = trim($role['CanView']); } if ($site['SiteId'] == $user['SiteId']) { SiteAuthUser::Create(SITE_FRIENDLY_ID, $user, $canView); $params = array(); } else { // invalid login $response = new Tonic\Response(Tonic\Response::BADREQUEST); $response->body = 'Site mismatch'; return $response; } // return a json response $response = new Tonic\Response(Tonic\Response::OK); $response->contentType = 'text/html'; $response->body = 'success!'; } catch (Exception $e) { $response = new Tonic\Response(Tonic\Response::BADREQUEST); $response->body = $e->getMessage(); return $response; } return $response; } else { // return an unauthorized exception (401) $response = new Tonic\Response(Tonic\Response::UNAUTHORIZED); $response->body = 'Access denied'; return $response; } }
<?php // debugging define('DEBUG', false); if (DEBUG) { error_reporting(E_ALL); ini_set('display_errors', '1'); } else { error_reporting(E_ERROR | E_PARSE); } session_start(); // authenticate secure pages if ($isSecure == true) { $siteAuthUser = new SiteAuthUser($siteFriendlyId, $rootPrefix, $pageUrl); // get auth user $siteAuthUser->Authenticate($pageTypeUniqId, $rootPrefix, $pageUrl); } // get supported language $supported = Utilities::GetSupportedLanguages($rootPrefix); // check if multiple languages are supported if (count($supported) > 1) { if (isset($_SESSION[$siteFriendlyId . '.Language'])) { $language = $_SESSION[$siteFriendlyId . '.Language']; } else { // set language as the default language $_SESSION[$siteFriendlyId . '.Language'] = $language; } } Utilities::SetLanguage($language, $rootPrefix . 'locale');