public function defaultAction() { $model_and_view = new __ModelAndView('logon'); $request = __Client::getInstance()->getRequest(); //Check credentials: $login = $request->getParameter('login'); $password = $request->getParameter('password'); $user_identity = new __UsernameIdentity(); $user_identity->setUsername($login); $credentials = new __PasswordCredentials(); $credentials->setPassword($password); try { $result_logon = __AuthenticationManager::getInstance()->logon($user_identity, $credentials); } catch (__SecurityException $e) { $result_logon = false; $error_message = $e->getMessage(); } if ($result_logon == false) { //Now will include smarty as ORS template engine: if ($error_message == '') { $error_message = __ResourceManager::getInstance()->getResource('ERR_LOGON_ERROR')->getValue(); } $model_and_view->errorMsg = $error_message; } else { if ($request->getParameter('destination_page')) { $model_and_view->redirectPage = $request->GetParameter('destination_page'); } else { $model_and_view->redirectPage = __UriFactory::getInstance()->createUri()->setActionCode('index')->addParameter(__ApplicationContext::getInstance()->getPropertyContent('REQUEST_LION_ADMIN_AREA'), 1)->getUrl(); } } //Return the view code to use: return $model_and_view; }
public function &createResponse($request_type = null) { $return_value = null; if ($request_type == null) { $request_type = __Client::getInstance()->getRequestType(); } switch ($request_type) { case REQUEST_TYPE_COMMAND_LINE: $response_class = __CurrentContext::getInstance()->getPropertyContent('COMMAND_LINE_RESPONSE_CLASS'); break; case REQUEST_TYPE_XMLHTTP: $response_class = __CurrentContext::getInstance()->getPropertyContent('XML_HTTP_RESPONSE_CLASS'); break; default: $response_class = __CurrentContext::getInstance()->getPropertyContent('HTTP_RESPONSE_CLASS'); break; } if (class_exists($response_class)) { $return_value = new $response_class(); } if (!$return_value instanceof __IResponse) { __ExceptionFactory::getInstance()->createException('Wrong response class: ' . $response_class . '. The response class must implement the __IResponse'); } return $return_value; }
public function getErrorPrinter() { $error_printer_class = null; if (__Lion::getInstance()->getStatus() == __Lion::STATUS_RUNNING) { $request_type = __Client::getInstance()->getRequestType(); switch ($request_type) { case REQUEST_TYPE_XMLHTTP: $error_printer_class = __CurrentContext::getInstance()->getPropertyContent('XMLHTTP_ERROR_PRINTER_CLASS'); break; case REQUEST_TYPE_COMMAND_LINE: $error_printer_class = __CurrentContext::getInstance()->getPropertyContent('COMMAND_LINE_ERROR_PRINTER_CLASS'); break; case REQUEST_TYPE_HTTP: default: $error_printer_class = __CurrentContext::getInstance()->getPropertyContent('HTTP_ERROR_PRINTER_CLASS'); break; } } if ($error_printer_class == null) { $error_printer_class = $this->_default_error_printer_class; $error_printer = new $error_printer_class(); } else { $error_printer = new $error_printer_class(); if (!$error_printer instanceof __IErrorPrinter) { $error_printer = $this->getDefaultErrorPrinter(); } } return $error_printer; }
public function getRequestType() { if ($this->_request != null) { return $this->_request->getRequestType(); } else { return __Client::getInstance()->getRequestType(); } }
/** * This method return a singleton instance of __Client * * @return __Client A singleton reference to the __Client */ public static function &getInstance() { if (self::$_instance == null) { // Use "Lazy initialization" self::$_instance = new __Client(); } return self::$_instance; }
public final function __construct() { $cache_enabled = __Lion::getInstance()->getRuntimeDirectives()->getDirective('CACHE_ENABLED'); if (class_exists('__Client') && __Client::getInstance()->getRequestType() == REQUEST_TYPE_COMMAND_LINE) { $cache_enabled = false; } $this->setEnabled($cache_enabled); }
public static function createLocaleNegociator() { $request_type = __Client::getInstance()->getRequestType(); switch ($request_type) { case REQUEST_TYPE_HTTP: case REQUEST_TYPE_XMLHTTP: $return_value = new __HttpLocaleNegociator(); break; case REQUEST_TYPE_COMMAND_LINE: $return_value = new __CommandLineLocaleNegociator(); break; } return $return_value; }
public function defaultAction() { $model_manager = __ModelManager::instance(); //Create a __CriteriaParameters instance to capture criteria parameters from the user request: $criteria_parameters = new __CriteriaParameters(); $criteria_parameters->addValidSubmitCode(__CodeGenerator::getSubmitCode('resources', 'search_resources')); $criteria_parameters->addValidSubmitCode(__CodeGenerator::getSubmitCode('resources_table')); //Add the correspondent metadata: $criteria_parameters->addParameterMetadata('key', array('alias' => 'resource_key')); $criteria_parameters->addParametersValues(__Client::getInstance()->getRequest()); //We will request 20 + 1 in order to know if there are more than 20 rows or not: $criteria_parameters->setPageSize(20); //Now get the requested resources list: $resources = $model_manager->getResources($criteria_parameters); //Finally will add all model information to the __ModelAndView instance to be returned $model_and_view = new __ModelAndView('resources'); $model_and_view->resources = $resources; return $model_and_view; }
private static function _validateRewriteEngine() { $rewrite_engine_working = false; //by default if (__Client::getInstance()->getRequestType() != REQUEST_TYPE_COMMAND_LINE) { $test_url = __UriFactory::getInstance()->createUri()->setRoute('testResponse')->getUrl(); $test_url = __UrlHelper::resolveUrl($test_url, 'http://' . $_SERVER['SERVER_NAME']); if ($stream = @fopen($test_url, 'r')) { // print all the page starting at the offset 10 $test_content = stream_get_contents($stream); fclose($stream); if ($test_content == 'OK') { $rewrite_engine_working = true; } } if ($rewrite_engine_working == false) { throw __ExceptionFactory::getInstance()->createException('Either mod rewrite is not enabled in your server or is not well configured.'); } } }
/** * Forward the web flow to the given uri. * This method is similar to redirect, but performs the redirection internally (without http redirection codes) * * @param __Uri|string the uri (or an string representing the url) to redirect to * @param __IRequest &$request The request instance to use in the forward * */ public function forward($uri, __IRequest &$request = null) { if (is_string($uri)) { $uri = __UriFactory::getInstance()->createUri($uri); } else { if (!$uri instanceof __Uri) { throw __ExceptionFactory::getInstance()->createException('Unexpected type for uri parameter: ' . get_class($uri)); } } if ($request == null) { $request = __RequestFactory::getInstance()->createRequest(); } $request->setUri($uri); $request->setRequestMethod(REQMETHOD_ALL); $response = __Client::getInstance()->getResponse(); $response->clear(); //clear the response $this->dispatch($request, $response); //dispatch the request $response->flush(); //flush the response exit; }
/** * This method adds a new __Locale to the internal collection of locales, and set it as the default locale * * @param Locale The locale to set * @return boolean true if the locale has been setted successfully, else false */ public function setLocale(__Locale &$locale) { $this->_locale =& $locale; if (__Client::getInstance()->getRequestType() == REQUEST_TYPE_HTTP) { $app_name = md5(__ApplicationContext::getInstance()->getPropertyContent('APP_NAME')); $auth_cookie = new __Cookie('__LOCALE__' . $app_name, $locale->getCode(), session_cache_expire() * 60, '/'); $response = __FrontController::getInstance()->getResponse(); $response->addCookie($auth_cookie); } }