loaded()) { Router::$controller = "{$item->type}s"; Router::$controller_path = MODPATH . "gallery/controllers/{$item->type}s.php"; Router::$method = "show"; Router::$arguments = array($item); } } /** * Just like url::file() except that it returns an absolute URI */ static function abs_file($path) { return url::base(false, request::protocol()) . $path; } /** * Just like url::site() except that it returns an absolute URI and * doesn't take a protocol parameter. */ static function abs_site($path) { return url::site($path, request::protocol()); } /** * Just like url::current except that it returns an absolute URI */ static function abs_current($qs=false) { return self::abs_site(url::current($qs)); } /** * Just like url::merge except that it escapes any XSS in the path. */ static function merge(array $arguments) { return htmlspecialchars(parent::merge($arguments)); } /** * Just like url::current except that it escapes any XSS in the path. */ static function current($qs=false, $suffix=false) { return htmlspecialchars(parent::current($qs, $suffix)); } /** * Merge extra an query string onto a given url safely. * @param string the original url * @param array the query string data in key=value form */ static function merge_querystring($url, $query_params) { $qs = implode("&", $query_params); if (strpos($url, "?") === false) { return $url . "?$qs"; } else { return $url . "&$qs"; } } }