/** * Generic method for serving all http requests * * @throws Exception */ public static function serveRequest() { self::regenerateCsrfToken(); if (self::isValidRequest()) { $resource = ResourceProvider::getResource(); $controller = ResourceProvider::getControllerByResourceKey($resource->getKey()); if (!empty($controller) && $controller instanceof AbstractController) { $controller->run($resource); } else { throw new Exception("Invalid controller requested, Exiting"); } } else { Logger::getLogger()->logWarn('No CSRF token found. IP:' . print_r($_SERVER['REMOTE_ADDR'], true)); if (self::isAjaxRequest()) { Response::sendFailureResponse('Something went wrong!'); } else { } } }
public function resource($uri) { $token = $this->token(); return $this->resource_provider->resource($token, $uri); }
static function __static() { stream_wrapper_register('res', __CLASS__); self::$instance = new self(); }
public function translatePathWorksWithoutModule() { $this->assertEquals('some/where/file.xsl', ResourceProvider::getInstance()->translatePath('res://some/where/file.xsl')); }
/** * Get autocomplete search suggestions for search box * * @return string */ public function getSearchSuggestions() { $searchSuggestions = array(); $userList = ResourceProvider::getControllerByResourceKey(UsersController::MODULE_KEY)->getUserList(); $languageList = ResourceProvider::getControllerByResourceKey(LanguageController::MODULE_KEY)->getLanguageList(); $categoryList = ResourceProvider::getControllerByResourceKey(CategoryController::MODULE_KEY)->getCategoryList(); $textSuggestions = $this->getModel()->getTextualSuggestions(); $suggestions = array(UsersController::MODULE_KEY => $userList, LanguageController::MODULE_KEY => $languageList, CategoryController::MODULE_KEY => $categoryList, ExplorerController::MODULE_KEY => $textSuggestions); foreach ($suggestions as $type => $dataset) { foreach ($dataset as $key => $array) { $arrayKey = empty($array['name']) ? 'user_name' : 'name'; if (in_array($type, self::$SEARCH_TAGS)) { $searchSuggestions[] = $type . ':' . $array[$arrayKey]; } else { $searchSuggestions[] = $array[$arrayKey]; } } } return json_encode($searchSuggestions); }