/** * Initializer. Setup paths to temporary resources. * * @param mixed $params Params from the command line. * * @return void */ public static function init($params) { self::$CACHES = array('system' => 'temp/cache'); $modes = Core\Config()->modes(); foreach ($modes as $mode) { Core\Config()->setMode($mode); $assetsPath = Core\Config()->paths('assets'); $assets = Core\Utils::replaceFirstOccurrence(Core\Config()->paths('root'), '', $assetsPath['distribution']); if (file_exists($assetsPath['distribution'] . 'js')) { self::$CACHES['assets'][] = $assets . 'js'; } if (file_exists($assetsPath['distribution'] . 'css')) { self::$CACHES['assets'][] = $assets . 'css'; } } }
/** * Parses a request query string. * * @param string $httpRequestString Request string. * @param Routes $routes Request routing routes. * * @static * @uses Core\Utils::parseHttpRequestString() * * @return array */ public static function parseRequestQueryString($httpRequestString, Routes $routes) { if (Core\Config()->mode('url')) { $httpRequestString = trim(Core\Utils::replaceFirstOccurrence(Core\Config()->mode('url'), '', $httpRequestString), Core\Config()->ROUTER['separator']); } else { $httpRequestString = trim($httpRequestString, Core\Config()->ROUTER['separator']); } $requestElements = Core\Utils::parseHttpRequestString($httpRequestString, Core\Config()->ROUTER['separator']); $route = $routes->extractRoute($requestElements); $routedUrl = $routes->toRoute($route['pattern']); $elements = $route['maps_to']; foreach ($route['maps_to'] as $role => $value) { if ('*' === $value) { $_element = array_search(Core\Config()->ROUTER['variables_prefix'] . $role, $routedUrl); $elements[$role] = isset($requestElements[$_element]) ? $requestElements[$_element] : null; } } return $elements; }