Пример #1
0
 public static function dispatch()
 {
     $uri = visitor::uri();
     $target = router::parse_pps_uri($uri);
     if (config::get_module('view.default_skeleton', false) !== false) {
         if (config::get_module('view.cache_pps_in_server', false)) {
             $use_cache = false;
             if (defined('kern\\data_dir')) {
                 $version_key = config::get_kern('version_key', router::default_version_key);
                 $cache_dir = data_dir . '/cache/' . $serve_mode . '/' . $target->get_param($version_key, '0');
                 $cache_file = $cache_dir . '/' . sha1($uri) . '.cache';
                 if (is_readable($cache_file)) {
                     $use_cache = true;
                 }
             }
             if ($use_cache) {
                 $content = file_get_contents($cache_file);
             } else {
                 $content = pps_rendor::render_for($target);
                 if (!is_dir($cache_dir)) {
                     @mkdir($cache_dir, 0777, true);
                 }
                 @file_put_contents($cache_file, $content);
             }
         } else {
             $content = pps_rendor::render_for($target);
         }
     } else {
         $content = '';
     }
     visitor::set_content($content);
 }
Пример #2
0
 public static function dispatch()
 {
     self::load_global_file();
     $target = router::parse_php_uri(visitor::uri(), visitor::host());
     $forward_times = 0;
     while (true) {
         if ($forward_times >= 8) {
             throw new developer_error('too many forwards');
         }
         self::$global_filters = config::get_module('global_filters', null);
         try {
             self::dispatch_target($target);
             break;
         } catch (action_forward $forward) {
             $target = $forward->get_target();
             config::set_module_name($target->get_module_name());
             visitor::forward_cookies();
             $forward_times++;
             continue;
         } catch (dispatch_return $return) {
             return;
         }
     }
 }
Пример #3
0
 public static function save($filename, $text)
 {
     static $uri = '';
     if (!defined('kern\\data_dir')) {
         return;
     }
     if ($uri === '' && !kernel::is_cli_mode()) {
         $uri = visitor::uri();
     }
     $file = data_dir . '/log/debug_' . $filename . '.log';
     @file_put_contents($file, '[' . clock::get_datetime() . '][' . $uri . '] - ' . $text . "\n", FILE_APPEND);
 }