예제 #1
0
 /**
  * @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;
     }
 }
예제 #2
0
<?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');