Improves on Paginator

This commit is contained in:
dignajar 2016-01-20 23:16:32 -03:00
parent 38326d8c63
commit 983dc20f60
4 changed files with 50 additions and 17 deletions

View File

@ -24,21 +24,43 @@ class Paginator {
return self::$pager[$key];
}
public static function urlNextPage()
{
global $Url;
$domain = trim(DOMAIN_BASE,'/');
$filter = trim($Url->activeFilter(), '/');
if(empty($filter)) {
$url = $domain.'/'.$Url->slug();
}
else {
$url = $domain.'/'.$filter.'/'.$Url->slug();
}
return $url.'?page='.self::get('nextPage');
}
public static function urlPrevPage()
{
global $Url;
$domain = trim(DOMAIN_BASE,'/');
$filter = trim($Url->activeFilter(), '/');
if(empty($filter)) {
$url = $domain.'/'.$Url->slug();
}
else {
$url = $domain.'/'.$filter.'/'.$Url->slug();
}
return $url.'?page='.self::get('prevPage');
}
public static function html($textPrevPage=false, $textNextPage=false, $showPageNumber=false)
{
global $Language;
global $Url;
$url = trim(DOMAIN_BASE,'/');
$filter = '';
if($Url->whereAmI()=='tag') {
$filter = trim($Url->filters('tag'), '/');
$url = $url.'/'.$filter.'/'.$Url->slug();
}
else {
$url = $url.'/';
}
$html = '<div id="paginator">';
$html .= '<ul>';
@ -50,7 +72,7 @@ class Paginator {
}
$html .= '<li class="left">';
$html .= '<a href="'.$url.'?page='.self::get('prevPage').'">'.$textPrevPage.'</a>';
$html .= '<a href="'.self::urlPrevPage().'?page='.self::get('prevPage').'">'.$textPrevPage.'</a>';
$html .= '</li>';
}
@ -65,7 +87,7 @@ class Paginator {
}
$html .= '<li class="right">';
$html .= '<a href="'.$url.'?page='.self::get('nextPage').'">'.$textNextPage.'</a>';
$html .= '<a href="'.self::urlNextPage().'?page='.self::get('nextPage').'">'.$textNextPage.'</a>';
$html .= '</li>';
}

View File

@ -9,6 +9,7 @@ class Url
private $filters; // Filters for the URI
private $notFound;
private $parameters;
private $activeFilter;
function __construct()
{
@ -30,6 +31,8 @@ class Url
$this->slug = '';
$this->filters = array();
$this->activeFilter = '';
}
// Filters change for different languages
@ -57,6 +60,7 @@ class Url
{
$this->slug = $slug;
$this->whereAmI = $filterName;
$this->activeFilter = $filterURI;
// If the slug is empty
if(Text::isEmpty($slug))
@ -93,6 +97,11 @@ class Url
return $this->slug;
}
public function activeFilter()
{
return $this->activeFilter;
}
public function explodeSlug($delimiter="/")
{
return explode($delimiter, $this->slug);

View File

@ -65,11 +65,11 @@
<ul class="actions pagination">
<?php
if( Paginator::get('showNewer') ) {
echo '<li><a href="'.HTML_PATH_ROOT.'?page='.Paginator::get('prevPage').'" class="button big previous">Previous Page</a></li>';
echo '<li><a href="'.Paginator::urlPrevPage().'" class="button big previous">Previous Page</a></li>';
}
if( Paginator::get('showOlder') ) {
echo '<li><a href="'.HTML_PATH_ROOT.'?page='.Paginator::get('nextPage').'" class="button big next">Next Page</a></li>';
echo '<li><a href="'.Paginator::urlNextPage().'" class="button big next">Next Page</a></li>';
}
?>
</ul>

View File

@ -38,3 +38,5 @@ if($Url->whereAmI()==='admin') {
else {
require(PATH_BOOT.'site.php');
}
var_dump($Url);exit;