function smarty_function_load_js($params, &$smarty) { $loadMethod = ResourceHelper::getLoadMethod(); //装载外部资源: jQuery CDN if (ResourceHelper::isExternalOpen() && defined("__EXTERNAL_JQUERY_URL")) { foreach ($params as $key => $val) { if (substr($key, 0, 4) == 'file' && ($val == "jquery.js" || $val == "jquery.min.js")) { echo "<script language='JavaScript' src='" . __EXTERNAL_JQUERY_URL . "'></script>\r\n"; unset($params[$key]); break; } } } //装载外部资源: 外部存储 if ($loadMethod == "EXTERNAL") { if (load_external_resource("js", $params)) { return; } } $files = array(); foreach ($params as $key => $val) { if (substr($key, 0, 4) == 'file') { $val = trim($val); if ($val == '') { continue; } $num = intval(substr($key, 4)); $files[$num] = $val; } } ksort($files); if ($loadMethod == "ORIGIN") { //显示原始文件 foreach ($files as $file) { $url = RewriteHelper::getURL("js", array("file" => $file)); echo "<script language='JavaScript' src='{$url}'></script>\r\n"; } } else { if ($loadMethod == "PAGE") { //显示到页面中 $result = __auto_create_js_cache($files, true); echo "<script language='JavaScript'>\r\n" . trim($result['data']) . "\r\n</script>\r\n"; } else { $result = __auto_create_js_cache($files); $url = RewriteHelper::getURL("js_c", array("key" => $result['md5key'], "res" => $result['resdir'])); echo "<script language='JavaScript' src='{$url}'></script>\r\n"; } } }
function smarty_function_load_css($params, &$smarty) { $loadMethod = ResourceHelper::getLoadMethod(); //装载外部资源 if ($loadMethod == "EXTERNAL") { if (load_external_resource("css", $params)) { return; } } $files = array(); foreach ($params as $key => $val) { if (substr($key, 0, 4) == 'file') { $val = trim($val); if ($val == '') { continue; } $num = intval(substr($key, 4)); $files[$num] = $val; } } ksort($files); if ($loadMethod == "ORIGIN") { //显示原始文件 foreach ($files as $file) { $url = RewriteHelper::getURL("css", array("file" => $file)); echo "<link href='{$url}' rel='stylesheet' />\r\n"; } } else { if ($loadMethod == "PAGE") { //显示到页面中 $result = __auto_create_css_cache($files, true); echo "<style>\r\n" . trim($result['data']) . "\r\n</style>\r\n"; } else { $result = __auto_create_css_cache($files); $url = RewriteHelper::getURL("css_c", array("key" => $result['md5key'], "res" => $result['resdir'])); echo "<link href='{$url}' rel='stylesheet' />\r\n"; } } }
function smarty_function_echo_url($params, &$smarty) { $type = $params['type']; unset($params['type']); echo RewriteHelper::getURL($type, $params); }
public static function parseRequest() { global $_FASTPHP_REWRITE_RULE; $actionkey = self::parseActionKey(); //检查URL是否规范化 if (FastPHP_Request::isGetMethod()) { //仅GET方法才可能跳转 $mode = __REWRITE_RULE_MODE; $config =& $_FASTPHP_REWRITE_RULE[$actionkey]; if (!empty($config['mode'])) { $mode = $config['mode']; } if (!empty($_COOKIE['fastphp_r301_mark'])) { setcookie("fastphp_r301_mark", "", time() - 86400, "/"); } else { if ($mode == "BASIC_R301" || $mode == "PERFECT_R301") { $params = $_GET; if (isset($params['actionkey'])) { unset($params['actionkey']); } $url = RewriteHelper::getURL($actionkey, $params); //die($url); $r301 = false; if (substr($url, 0, 7) == 'http://') { if (strcmp("http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], $url) !== 0) { $r301 = true; } } else { if (substr($url, 0, 8) == 'https://') { if (strcmp("https://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], $url) !== 0) { $r301 = true; } } else { if (strcmp($_SERVER['REQUEST_URI'], $url) !== 0) { $r301 = true; } } } if ($r301) { setcookie("fastphp_r301_mark", "1", 0, "/"); redirect301($url); } } } } return $actionkey; }