Exemple #1
0
 public function parse_uri($request_main)
 {
     if (get_setting('url_rewrite_enable') == 'Y' and $request_routes = get_request_route(false)) {
         if (!$request_main) {
             $request_main = '/';
         }
         foreach ($request_routes as $key => $val) {
             if (preg_match('/^' . $val[0] . '/', $request_main)) {
                 $request_main = preg_replace('/^' . $val[0] . '/', $val[1], $request_main);
                 return $request_main;
             }
         }
     }
     return $request_main;
 }
/**
 * 伪静态地址转换器
 *
 * @param  string
 * @return string
 */
function get_js_url($url)
{
    if (substr($url, 0, 1) == '/') {
        $url = substr($url, 1);
        if (get_setting('url_rewrite_enable') == 'Y' and $request_routes = get_request_route()) {
            if (strstr($url, '?')) {
                $request_uri = explode('?', $url);
                $query_string = $request_uri[1];
                $url = $request_uri[0];
            } else {
                unset($query_string);
            }
            foreach ($request_routes as $key => $val) {
                if (preg_match('/^' . $val[0] . '$/', $url)) {
                    $url = preg_replace('/^' . $val[0] . '$/', $val[1], $url);
                    break;
                }
            }
            if ($query_string) {
                $url .= '?' . $query_string;
            }
        }
        $url = base_url() . '/' . (get_setting('url_rewrite_enable') != 'Y' ? G_INDEX_SCRIPT : '') . $url;
    }
    return $url;
}
 public static function output($template_filename, $display = true)
 {
     if (!strstr($template_filename, self::$template_ext)) {
         $template_filename .= self::$template_ext;
     }
     $display_template_filename = 'default/' . $template_filename;
     if (self::$in_app) {
         if (get_setting('ui_style') != 'default') {
             $custom_template_filename = get_setting('ui_style') . '/' . $template_filename;
             if (file_exists(self::$template_path . '/' . $custom_template_filename)) {
                 $display_template_filename = $custom_template_filename;
             }
         }
         self::assign('template_name', get_setting('ui_style'));
         if (!self::$view->_meta_keywords) {
             self::set_meta('keywords', get_setting('keywords'));
         }
         if (!self::$view->_meta_description) {
             self::set_meta('description', get_setting('description'));
         }
     } else {
         self::assign('template_name', 'default');
     }
     if (self::$in_app and $display) {
         if ($plugins = AWS_APP::plugins()->parse($_GET['app'], $_GET['c'], $_GET['act'], str_replace(self::$template_ext, '', $template_filename))) {
             foreach ($plugins as $plugin_file) {
                 include_once $plugin_file;
             }
         }
     }
     $output = self::$view->getOutput($display_template_filename);
     if (self::$in_app and basename($template_filename) != 'debuger.tpl.htm') {
         $template_dirs = explode('/', $template_filename);
         /*
         /if ($template_dirs[0] != 'admin')
         {
         	$output = H::sensitive_words($output);
         }
         */
         if (get_setting('url_rewrite_enable') != 'Y' or $template_dirs[0] == 'admin') {
             //$output = preg_replace('/(href|action)=([\"|\'])(?!http)(?!mailto)(?!file)(?!ftp)(?!javascript)(?![\/|\#])(?!\.\/)([^\"\']+)([\"|\'])/is', '\1=\2' . base_url() . '/' . G_INDEX_SCRIPT . '\3\4', $output);
             $output = preg_replace('/<([^>]*?)(href|action)=([\\"|\'])(?!http)(?!mailto)(?!file)(?!ftp)(?!javascript)(?![\\/|\\#])(?!\\.\\/)([^\\"\']+)([\\"|\'])([^>]*?)>/is', '<\\1\\2=\\3' . base_url() . '/' . G_INDEX_SCRIPT . '\\4\\5\\6>', $output);
         }
         if ($request_routes = get_request_route() and $template_dirs[0] != 'admin' and get_setting('url_rewrite_enable') == 'Y') {
             foreach ($request_routes as $key => $val) {
                 $output = preg_replace("/href=[\"|']" . $val[0] . "[\\#]/", "href=\"" . $val[1] . "#", $output);
                 $output = preg_replace("/href=[\"|']" . $val[0] . "[\"|']/", "href=\"" . $val[1] . "\"", $output);
             }
         }
         if (get_setting('url_rewrite_enable') == 'Y' and $template_dirs[0] != 'admin') {
             //$output = preg_replace('/(href|action)=([\"|\'])(?!mailto)(?!file)(?!ftp)(?!http)(?!javascript)(?![\/|\#])(?!\.\/)([^\"\']+)([\"|\'])/is', '\1=\2' . base_url() . '/' . '\3\4', $output);
             $output = preg_replace('/<([^>]*?)(href|action)=([\\"|\'])(?!mailto)(?!file)(?!ftp)(?!http)(?!javascript)(?![\\/|\\#])(?!\\.\\/)([^\\"\']{0,})([\\"|\'])([^>]*?)>/is', '<\\1\\2=\\3' . base_url() . '/' . '\\4\\5\\6>', $output);
         }
         //$output = preg_replace("/([a-zA-Z0-9]+_?[a-zA-Z0-9]+)-__|(__[a-zA-Z0-9]+_?[a-zA-Z0-9]+)-$/i", '', $output);
         $output = preg_replace('/[a-zA-Z0-9]+_?[a-zA-Z0-9]*\\-__/', '', $output);
         $output = preg_replace('/(__)?[a-zA-Z0-9]+_?[a-zA-Z0-9]*\\-([\'|"])/', '\\2', $output);
         if (AWS_APP::config()->get('system')->debug) {
             $output .= "\r\n<!-- Template End: " . $display_template_filename . " -->\r\n";
         }
     }
     if ($display) {
         echo $output;
         flush();
     } else {
         return $output;
     }
 }