Ejemplo n.º 1
0
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";
        }
    }
}
Ejemplo n.º 2
0
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";
        }
    }
}
Ejemplo n.º 3
0
function smarty_function_echo_url($params, &$smarty)
{
    $type = $params['type'];
    unset($params['type']);
    echo RewriteHelper::getURL($type, $params);
}
Ejemplo n.º 4
0
 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;
 }