diff options
Diffstat (limited to 'core/include')
-rw-r--r-- | core/include/page/list.php | 12 | ||||
-rw-r--r-- | core/include/post/list.php | 12 | ||||
-rw-r--r-- | core/include/user/list.php | 12 |
3 files changed, 33 insertions, 3 deletions
diff --git a/core/include/page/list.php b/core/include/page/list.php index f80c461..022478e 100644 --- a/core/include/page/list.php +++ b/core/include/page/list.php @@ -11,7 +11,8 @@ $Language = Application::getLanguage(); $site_size = Application::get('PAGE.LIST_SIZE'); $site_sort = Application::get('PAGE.LIST_SORT'); -$lastSite = ceil($Database->query(sprintf('SELECT COUNT(id) FROM %s', Page\Attribute::TABLE))->fetchColumn() / $site_size); +$count = $Database->query(sprintf('SELECT COUNT(id) FROM %s', Page\Attribute::TABLE))->fetchColumn(); +$lastSite = ceil($count / $site_size); $currentSite = HTTP::GET('site') ?? 1; $currentSite = intval($currentSite); @@ -21,6 +22,15 @@ if($currentSite < 1 OR ($currentSite > $lastSite AND $lastSite > 0)) { } #=============================================================================== +# Single redirect +#=============================================================================== +if(Application::get('PAGE.SINGLE_REDIRECT') === TRUE AND $count === '1') { + $Statement = $Database->query(sprintf('SELECT id FROM %s LIMIT 1', Page\Attribute::TABLE)); + $Page = Page\Factory::build($Statement->fetchColumn()); + HTTP::redirect($Page->getURL()); +} + +#=============================================================================== # TRY: Template\Exception #=============================================================================== try { diff --git a/core/include/post/list.php b/core/include/post/list.php index 4b8ea28..3ba2dba 100644 --- a/core/include/post/list.php +++ b/core/include/post/list.php @@ -11,7 +11,8 @@ $Language = Application::getLanguage(); $site_size = Application::get('POST.LIST_SIZE'); $site_sort = Application::get('POST.LIST_SORT'); -$lastSite = ceil($Database->query(sprintf('SELECT COUNT(id) FROM %s', Post\Attribute::TABLE))->fetchColumn() / $site_size); +$count = $Database->query(sprintf('SELECT COUNT(id) FROM %s', Post\Attribute::TABLE))->fetchColumn(); +$lastSite = ceil($count / $site_size); $currentSite = HTTP::GET('site') ?? 1; $currentSite = intval($currentSite); @@ -21,6 +22,15 @@ if($currentSite < 1 OR ($currentSite > $lastSite AND $lastSite > 0)) { } #=============================================================================== +# Single redirect +#=============================================================================== +if(Application::get('POST.SINGLE_REDIRECT') === TRUE AND $count === '1') { + $Statement = $Database->query(sprintf('SELECT id FROM %s LIMIT 1', Post\Attribute::TABLE)); + $Post = Post\Factory::build($Statement->fetchColumn()); + HTTP::redirect($Post->getURL()); +} + +#=============================================================================== # TRY: Template\Exception #=============================================================================== try { diff --git a/core/include/user/list.php b/core/include/user/list.php index 6009164..4ce9fc8 100644 --- a/core/include/user/list.php +++ b/core/include/user/list.php @@ -11,7 +11,8 @@ $Language = Application::getLanguage(); $site_size = Application::get('USER.LIST_SIZE'); $site_sort = Application::get('USER.LIST_SORT'); -$lastSite = ceil($Database->query(sprintf('SELECT COUNT(id) FROM %s', User\Attribute::TABLE))->fetchColumn() / $site_size); +$count = $Database->query(sprintf('SELECT COUNT(id) FROM %s', User\Attribute::TABLE))->fetchColumn(); +$lastSite = ceil($count / $site_size); $currentSite = HTTP::GET('site') ?? 1; $currentSite = intval($currentSite); @@ -21,6 +22,15 @@ if($currentSite < 1 OR ($currentSite > $lastSite AND $lastSite > 0)) { } #=============================================================================== +# Single redirect +#=============================================================================== +if(Application::get('USER.SINGLE_REDIRECT') === TRUE AND $count === '1') { + $Statement = $Database->query(sprintf('SELECT id FROM %s LIMIT 1', User\Attribute::TABLE)); + $User = User\Factory::build($Statement->fetchColumn()); + HTTP::redirect($User->getURL()); +} + +#=============================================================================== # TRY: Template\Exception #=============================================================================== try { |