<?php #=============================================================================== # INCLUDE: Main configuration #=============================================================================== require 'core/application.php'; #=============================================================================== # Item base directory paths #=============================================================================== $PAGEPATH = Application::get('PAGE.DIRECTORY'); $POSTPATH = Application::get('POST.DIRECTORY'); $USERPATH = Application::get('USER.DIRECTORY'); #=============================================================================== # ROUTE: Item #=============================================================================== Router::add("{$PAGEPATH}/([^/]+)/", function($param) { require 'core/include/page/main.php'; }); Router::add("{$POSTPATH}/([^/]+)/", function($param) { require 'core/include/post/main.php'; }); Router::add("{$USERPATH}/([^/]+)/", function($param) { require 'core/include/user/main.php'; }); #=============================================================================== # ROUTE: Item overview #=============================================================================== Router::add("{$PAGEPATH}/", function() { require 'core/include/page/list.php'; }); Router::add("{$POSTPATH}/", function() { require 'core/include/post/list.php'; }); Router::add("{$USERPATH}/", function() { require 'core/include/user/list.php'; }); #=============================================================================== # REDIRECT: Item (trailing slash) #=============================================================================== Router::addRedirect("{$PAGEPATH}/([^/]+)", Application::getPageURL('$1/')); Router::addRedirect("{$POSTPATH}/([^/]+)", Application::getPostURL('$1/')); Router::addRedirect("{$USERPATH}/([^/]+)", Application::getUserURL('$1/')); #=============================================================================== # REDIRECT: Item overview (trailing slash) #=============================================================================== Router::addRedirect("{$PAGEPATH}", Application::getPageURL()); Router::addRedirect("{$POSTPATH}", Application::getPostURL()); Router::addRedirect("{$USERPATH}", Application::getUserURL()); #=============================================================================== # ROUTE: Home #=============================================================================== Router::add('', function() { require 'core/include/home.php'; }); #=============================================================================== # ROUTE: Feed #=============================================================================== Router::add('feed/(?:(page|post)/)?', function($param = NULL) { require 'core/include/feed/main.php'; }); #=============================================================================== # ROUTE: Search #=============================================================================== Router::add('search/', function() { require 'core/include/search/main.php'; }); #=============================================================================== # REDIRECT: Feed (trailing slash) #=============================================================================== Router::addRedirect('feed(/(?:page|post))?', Application::getURL('feed$1/')); #=============================================================================== # REDIRECT: Search (trailing slash) #=============================================================================== Router::addRedirect('search', Application::getURL('search/')); #=============================================================================== # REDIRECT: Favicon #=============================================================================== Router::addRedirect('favicon.ico', Application::getTemplateURL('rsrc/favicon.ico')); #=============================================================================== # Execute router and route requests #=============================================================================== Router::execute(parse_url(HTTP::requestURI(), PHP_URL_PATH)); ?>