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); }
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; } } }
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); }