Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- require_once 'common.inc';
- require_once "lang/{$cfg['lang']}/main.inc";
- $root = dirname($_SERVER['SCRIPT_NAME']);
- if ($root == '/') {
- $root = '';
- }
- // константа содержит путь от корня до обработчика
- define('ROOT', $root);
- define('TEMPLATE_DIR', 'templates/main');
- // берем только путь из $_SERVER['REQUEST_URI']
- $path = preg_replace('/(\?.*)?/', '', $_SERVER['REQUEST_URI']);
- // убираем повторы слешей
- $path = preg_replace('~/{2,}~', '/', $path);
- // декодируем путь
- $path = urldecode(substr($path, strlen(ROOT)));
- $routes = array();
- $routes['/test_ajax'] = 'test_ajax';
- $cfg['default_page'] = 'page_404';
- function test_ajax() {
- var_dump(IS_AJAX);
- }
- function page_404() {
- header($_SERVER['SERVER_PROTOCOL'] . ' 404 Page Not Found');
- $title = t('PAGE_404_TITLE');
- include TEMPLATE_DIR . '/header.inc';
- echo '<h1>' . htmlspecialchars($title) . '</h1>';
- echo t('PAGE_404_TEXT');
- include TEMPLATE_DIR . '/footer.inc';
- }
- function run_route($path) {
- global $cfg, $routes;
- foreach ($routes as $k => $v) {
- if (@preg_match($k, '')) {
- if (preg_match($k, $path, $m)) {
- return call_user_func_array($v, array_slice($m, 1));
- }
- }
- else if ($path == $k) {
- return call_user_func($v);
- }
- }
- call_user_func($cfg['default_page']);
- }
Advertisement
Add Comment
Please, Sign In to add comment