New rule for routing URLs
This commit is contained in:
parent
53dbb3c25f
commit
2e33afda0c
|
@ -6,7 +6,7 @@ if (Session::started()===false) {
|
||||||
exit('Bludit CMS. Session initialization failure.');
|
exit('Bludit CMS. Session initialization failure.');
|
||||||
}
|
}
|
||||||
|
|
||||||
$login = $Login = new Login();
|
$login = new Login();
|
||||||
|
|
||||||
$layout = array(
|
$layout = array(
|
||||||
'controller'=>null,
|
'controller'=>null,
|
||||||
|
@ -52,6 +52,7 @@ if ($layout['slug']==='ajax') {
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Boot rules
|
// Boot rules
|
||||||
|
include(PATH_RULES.'60.router.php');
|
||||||
include(PATH_RULES.'69.pages.php');
|
include(PATH_RULES.'69.pages.php');
|
||||||
include(PATH_RULES.'99.header.php');
|
include(PATH_RULES.'99.header.php');
|
||||||
include(PATH_RULES.'99.paginator.php');
|
include(PATH_RULES.'99.paginator.php');
|
||||||
|
@ -62,16 +63,11 @@ else
|
||||||
// User not logged.
|
// User not logged.
|
||||||
// Slug is login.
|
// Slug is login.
|
||||||
// Slug is login-email.
|
// Slug is login-email.
|
||||||
if($url->notFound() || !$login->isLogged() || ($url->slug()==='login') || ($url->slug()==='login-email') ) {
|
if ($url->notFound() || !$login->isLogged() || ($url->slug()==='login') ) {
|
||||||
$layout['controller'] = 'login';
|
$layout['controller'] = 'login';
|
||||||
$layout['view'] = 'login';
|
$layout['view'] = 'login';
|
||||||
$layout['template'] = 'login.php';
|
$layout['template'] = 'login.php';
|
||||||
|
|
||||||
if ($url->slug()==='login-email') {
|
|
||||||
$layout['controller'] = 'login-email';
|
|
||||||
$layout['view'] = 'login-email';
|
|
||||||
}
|
|
||||||
|
|
||||||
// Generate the tokenCSRF for the user not logged, when the user log-in the token will be change.
|
// Generate the tokenCSRF for the user not logged, when the user log-in the token will be change.
|
||||||
$security->generateTokenCSRF();
|
$security->generateTokenCSRF();
|
||||||
}
|
}
|
||||||
|
@ -84,17 +80,17 @@ else
|
||||||
Theme::plugins('beforeAdminLoad');
|
Theme::plugins('beforeAdminLoad');
|
||||||
|
|
||||||
// Load init.php if the theme has one.
|
// Load init.php if the theme has one.
|
||||||
if( Sanitize::pathFile(PATH_ADMIN_THEMES, $site->adminTheme().DS.'init.php') ) {
|
if (Sanitize::pathFile(PATH_ADMIN_THEMES, $site->adminTheme().DS.'init.php')) {
|
||||||
include(PATH_ADMIN_THEMES.$site->adminTheme().DS.'init.php');
|
include(PATH_ADMIN_THEMES.$site->adminTheme().DS.'init.php');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load controller.
|
// Load controller.
|
||||||
if( Sanitize::pathFile(PATH_ADMIN_CONTROLLERS, $layout['controller'].'.php') ) {
|
if (Sanitize::pathFile(PATH_ADMIN_CONTROLLERS, $layout['controller'].'.php')) {
|
||||||
include(PATH_ADMIN_CONTROLLERS.$layout['controller'].'.php');
|
include(PATH_ADMIN_CONTROLLERS.$layout['controller'].'.php');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load view and theme.
|
// Load view and theme.
|
||||||
if( Sanitize::pathFile(PATH_ADMIN_THEMES, $site->adminTheme().DS.$layout['template']) ) {
|
if (Sanitize::pathFile(PATH_ADMIN_THEMES, $site->adminTheme().DS.$layout['template'])) {
|
||||||
include(PATH_ADMIN_THEMES.$site->adminTheme().DS.$layout['template']);
|
include(PATH_ADMIN_THEMES.$site->adminTheme().DS.$layout['template']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -227,7 +227,7 @@ define('DOMAIN_UPLOADS_THUMBNAILS', DOMAIN.HTML_PATH_UPLOADS_THUMBNAILS);
|
||||||
define('DOMAIN_PLUGINS', DOMAIN.HTML_PATH_PLUGINS);
|
define('DOMAIN_PLUGINS', DOMAIN.HTML_PATH_PLUGINS);
|
||||||
define('DOMAIN_CONTENT', DOMAIN.HTML_PATH_CONTENT);
|
define('DOMAIN_CONTENT', DOMAIN.HTML_PATH_CONTENT);
|
||||||
|
|
||||||
define('DOMAIN_ADMIN', DOMAIN_BASE.ADMIN_URI_FILTER);
|
define('DOMAIN_ADMIN', DOMAIN_BASE.ADMIN_URI_FILTER.'/');
|
||||||
|
|
||||||
define('DOMAIN_TAGS', Text::addSlashes(DOMAIN_BASE.TAG_URI_FILTER, false, true));
|
define('DOMAIN_TAGS', Text::addSlashes(DOMAIN_BASE.TAG_URI_FILTER, false, true));
|
||||||
define('DOMAIN_CATEGORIES', Text::addSlashes(DOMAIN_BASE.CATEGORY_URI_FILTER, false, true));
|
define('DOMAIN_CATEGORIES', Text::addSlashes(DOMAIN_BASE.CATEGORY_URI_FILTER, false, true));
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
<?php defined('BLUDIT') or die('Bludit CMS.');
|
||||||
|
|
||||||
|
// Redirect admin, from /admin to /admin/
|
||||||
|
if ($url->uri()=='/'.ADMIN_URI_FILTER) {
|
||||||
|
Redirect::url(DOMAIN_ADMIN);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Redirect pages, from /my-page/ to /my-page
|
||||||
|
if ($url->whereAmI()=='page' && !$url->notFound()) {
|
||||||
|
$pageKey = $url->slug();
|
||||||
|
if (Text::endsWith($pageKey, '/')) {
|
||||||
|
$pageKey = rtrim($pageKey, '/');
|
||||||
|
Redirect::url(DOMAIN_PAGES.$pageKey);
|
||||||
|
}
|
||||||
|
}
|
|
@ -58,13 +58,6 @@ if ($site->homepage() && $url->whereAmI()==='home') {
|
||||||
|
|
||||||
// Build specific page
|
// Build specific page
|
||||||
if ($url->whereAmI()==='page') {
|
if ($url->whereAmI()==='page') {
|
||||||
// If the page ends with slash redirect to the correct url
|
|
||||||
$pageKey = $url->slug();
|
|
||||||
if (Text::endsWith($pageKey, '/')) {
|
|
||||||
$pageKey = rtrim($pageKey, '/');
|
|
||||||
Redirect::url(DOMAIN_PAGES.$pageKey);
|
|
||||||
}
|
|
||||||
|
|
||||||
$content[0] = $page = buildThePage();
|
$content[0] = $page = buildThePage();
|
||||||
}
|
}
|
||||||
// Build content by tag
|
// Build content by tag
|
||||||
|
|
|
@ -1,12 +1,5 @@
|
||||||
<?php defined('BLUDIT') or die('Bludit CMS.');
|
<?php defined('BLUDIT') or die('Bludit CMS.');
|
||||||
|
|
||||||
// // Start session if the cookie is defined
|
|
||||||
// if (Cookie::get('BLUDIT-KEY')) {
|
|
||||||
// if (!Session::started()) {
|
|
||||||
// Session::start();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// Load plugins rules
|
// Load plugins rules
|
||||||
include(PATH_RULES.'60.plugins.php');
|
include(PATH_RULES.'60.plugins.php');
|
||||||
|
|
||||||
|
@ -14,6 +7,7 @@ include(PATH_RULES.'60.plugins.php');
|
||||||
Theme::plugins('beforeAll');
|
Theme::plugins('beforeAll');
|
||||||
|
|
||||||
// Load rules
|
// Load rules
|
||||||
|
include(PATH_RULES.'60.router.php');
|
||||||
include(PATH_RULES.'69.pages.php');
|
include(PATH_RULES.'69.pages.php');
|
||||||
include(PATH_RULES.'99.header.php');
|
include(PATH_RULES.'99.header.php');
|
||||||
include(PATH_RULES.'99.paginator.php');
|
include(PATH_RULES.'99.paginator.php');
|
||||||
|
|
|
@ -6,15 +6,15 @@ class Redirect {
|
||||||
{
|
{
|
||||||
if (!headers_sent()) {
|
if (!headers_sent()) {
|
||||||
header("Location:".$url, TRUE, $httpCode);
|
header("Location:".$url, TRUE, $httpCode);
|
||||||
exit;
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
exit ('<meta http-equiv="refresh" content="0; url='.$url.'"/>');
|
exit('<meta http-equiv="refresh" content="0; url='.$url.'"/>');
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function page($page)
|
public static function page($page)
|
||||||
{
|
{
|
||||||
self::url(HTML_PATH_ROOT.ADMIN_URI_FILTER.'/'.$page);
|
self::url(HTML_PATH_ADMIN_ROOT.$page);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function home()
|
public static function home()
|
||||||
|
|
|
@ -76,7 +76,7 @@ class Site extends dbJSON {
|
||||||
// Also, you can get the a particular filter
|
// Also, you can get the a particular filter
|
||||||
public function uriFilters($filter='')
|
public function uriFilters($filter='')
|
||||||
{
|
{
|
||||||
$filters['admin'] = '/' . ADMIN_URI_FILTER . '/';
|
$filters['admin'] = '/'.ADMIN_URI_FILTER.'/';
|
||||||
$filters['page'] = $this->getField('uriPage');
|
$filters['page'] = $this->getField('uriPage');
|
||||||
$filters['tag'] = $this->getField('uriTag');
|
$filters['tag'] = $this->getField('uriTag');
|
||||||
$filters['category'] = $this->getField('uriCategory');
|
$filters['category'] = $this->getField('uriCategory');
|
||||||
|
|
Loading…
Reference in New Issue