BUGFIXING: version 0.6.1, update on the pagination
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
# Nibiru
|
# Nibiru
|
||||||
### Rapid Prototyping PHP Framework
|
### Rapid Prototyping PHP Framework
|
||||||
Version 0.6.0 beta
|
Version 0.6.1 beta
|
||||||
## Introduction
|
## Introduction
|
||||||
|
|
||||||
<div style="word-spacing: 2px; letter-spacing: 0.1px; font-size: 12px; margin-bottom: 15px;">Nibiru is a rapid prototyping framework written in PHP and based on the MVC design pattern. Now one may say that writing <br>
|
<div style="word-spacing: 2px; letter-spacing: 0.1px; font-size: 12px; margin-bottom: 15px;">Nibiru is a rapid prototyping framework written in PHP and based on the MVC design pattern. Now one may say that writing <br>
|
||||||
@@ -95,5 +95,11 @@ Engine Implementation.</div>
|
|||||||
<li>A soap extension will not be part of the system anymore, since that is just a bad habit, so this will be replaced with a REST api.</li>
|
<li>A soap extension will not be part of the system anymore, since that is just a bad habit, so this will be replaced with a REST api.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
<h1>Bugfixing</h1>
|
||||||
|
<p>Version 0.6.1 beta 04.01.2019</p>
|
||||||
|
<ul>
|
||||||
|
<li>Bugfix for the pagination in the core files, used not to work on more then three pages, is now fixed.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
<div style="word-spacing: 2px; letter-spacing: 0.1px; font-size: 15px; margin-bottom: 15px;">The start is done, have success with PHP prototyping, and always remember to have fun!</div>
|
<div style="word-spacing: 2px; letter-spacing: 0.1px; font-size: 15px; margin-bottom: 15px;">The start is done, have success with PHP prototyping, and always remember to have fun!</div>
|
||||||
Author: Stephan Kasdorf<br><br>
|
Author: Stephan Kasdorf<br><br>
|
||||||
@@ -1,16 +1,22 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace Nibiru;
|
namespace Nibiru\Module;
|
||||||
/**
|
/**
|
||||||
* Created by PhpStorm.
|
* Created by PhpStorm.
|
||||||
* User: mithril
|
* User: Stephan Kasdorf
|
||||||
* Date: 15.09.18
|
* Date: 15.09.18
|
||||||
* Time: 03:16
|
* Last Update: 04.01.2019
|
||||||
|
* Time: 19:13
|
||||||
*/
|
*/
|
||||||
|
use Nibiru\Adapter;
|
||||||
|
use Nibiru\Config;
|
||||||
|
use Nibiru\Controller;
|
||||||
|
use Nibiru\Router;
|
||||||
|
use Nibiru\View;
|
||||||
|
|
||||||
abstract class Pageination implements IPageination
|
abstract class Pageination implements Adapter\Pageination
|
||||||
{
|
{
|
||||||
use Attributes\Pageination;
|
use \Nibiru\Messages\Pageination;
|
||||||
|
|
||||||
private static $_table = false;
|
private static $_table = false;
|
||||||
private static $_current_page_content = array();
|
private static $_current_page_content = array();
|
||||||
private static $_current_number = 0;
|
private static $_current_number = 0;
|
||||||
@@ -82,49 +88,39 @@ abstract class Pageination implements IPageination
|
|||||||
private static function setPageEntryIndex( )
|
private static function setPageEntryIndex( )
|
||||||
{
|
{
|
||||||
$PagesWithFullEntriesIndex = floor(self::getMaxPageEntries()/self::getEntriesPerPage());
|
$PagesWithFullEntriesIndex = floor(self::getMaxPageEntries()/self::getEntriesPerPage());
|
||||||
$limit = array();
|
|
||||||
for($i=1; $i<$PagesWithFullEntriesIndex+1; $i++)
|
for($i=1; $i<$PagesWithFullEntriesIndex+1; $i++)
|
||||||
{
|
{
|
||||||
if(!array_key_exists($i-1, $limit))
|
$limit = array();
|
||||||
|
|
||||||
|
if($i==1)
|
||||||
{
|
{
|
||||||
$limit[$i] = array(
|
$limit = array(
|
||||||
'start' => 0,
|
'start' => 0,
|
||||||
'end' => self::getEntriesPerPage()
|
'end' => self::getEntriesPerPage()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(array_key_exists($i, $limit))
|
$laststart = self::getPageEntryIndex()[$i-1]['start'];
|
||||||
{
|
|
||||||
if(array_key_exists('start', $limit[$i]))
|
$limit = array(
|
||||||
{
|
'start' => $laststart + self::getEntriesPerPage(),
|
||||||
$start = $limit[$i]['start'];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$start = self::PAGE_ITERATION;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$start = self::PAGE_ITERATION;
|
|
||||||
}
|
|
||||||
$limit[$i] = array(
|
|
||||||
'end' => self::getEntriesPerPage(),
|
'end' => self::getEntriesPerPage(),
|
||||||
'start' => $start + self::getEntriesPerPage()
|
|
||||||
);
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
self::$_page_entry_index[$i] = $limit;
|
||||||
}
|
}
|
||||||
$fullEntriesOnPages = $PagesWithFullEntriesIndex*self::getEntriesPerPage();
|
$fullEntriesOnPages = $PagesWithFullEntriesIndex*self::getEntriesPerPage();
|
||||||
if($fullEntriesOnPages<self::getMaxPageEntries())
|
if($fullEntriesOnPages<self::getMaxPageEntries())
|
||||||
{
|
{
|
||||||
$lastPageEntries = self::getMaxPageEntries()-($PagesWithFullEntriesIndex*self::getEntriesPerPage());
|
$lastPageEntries = self::getMaxPageEntries()-($PagesWithFullEntriesIndex*self::getEntriesPerPage());
|
||||||
$limit[$i] = array(
|
$limit = array(
|
||||||
'start' => $limit[$i-1]['start'] + self::getEntriesPerPage(),
|
'start' => self::getPageEntryIndex()[$i-1]['start']+self::getEntriesPerPage(),
|
||||||
'end' => $lastPageEntries
|
'end' => $lastPageEntries
|
||||||
);
|
);
|
||||||
|
self::$_page_entry_index[$i] = $limit;
|
||||||
}
|
}
|
||||||
self::$_page_entry_index = $limit;
|
|
||||||
self::setUriPaginationPath();
|
self::setUriPaginationPath();
|
||||||
self::loadPaginationToTemplate();
|
self::loadPaginationToTemplate();
|
||||||
}
|
}
|
||||||
@@ -144,7 +140,7 @@ abstract class Pageination implements IPageination
|
|||||||
{
|
{
|
||||||
self::$_entries_per_page = Config::getInstance()->getConfig()[View::NIBIRU_SETTINGS]['entriesperpage'];
|
self::$_entries_per_page = Config::getInstance()->getConfig()[View::NIBIRU_SETTINGS]['entriesperpage'];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return int
|
* @return int
|
||||||
*/
|
*/
|
||||||
@@ -163,7 +159,7 @@ abstract class Pageination implements IPageination
|
|||||||
self::setMaxPageEntries( self::getTable()->loadTableRowCount( $tableinfo[0], $where ));
|
self::setMaxPageEntries( self::getTable()->loadTableRowCount( $tableinfo[0], $where ));
|
||||||
self::$_max_pages = ceil(self::getMaxPageEntries()/self::getEntriesPerPage());
|
self::$_max_pages = ceil(self::getMaxPageEntries()/self::getEntriesPerPage());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
@@ -230,38 +226,38 @@ abstract class Pageination implements IPageination
|
|||||||
protected static function setCurrentNumber( )
|
protected static function setCurrentNumber( )
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$page = false;
|
$page = false;
|
||||||
$uri = explode('/', $_SERVER['REQUEST_URI']);
|
$uri = explode('/', $_SERVER['REQUEST_URI']);
|
||||||
foreach ($uri as $uripart)
|
foreach ($uri as $uripart)
|
||||||
|
{
|
||||||
|
if($page)
|
||||||
{
|
{
|
||||||
if($page)
|
if(is_numeric($uripart))
|
||||||
{
|
{
|
||||||
if(is_numeric($uripart))
|
self::$_current_number = $uripart;
|
||||||
{
|
Controller::getInstance()->varname(View::getInstance()->getEngine(), array('pagenumber' => self::getCurrentNumber()));
|
||||||
self::$_current_number = $uripart;
|
$page = false;
|
||||||
Controller::getInstance()->varname(View::getInstance()->getEngine(), array('pagenumber' => self::getCurrentNumber()));
|
self::setNextPageNumber();
|
||||||
$page = false;
|
self::setPreviousPageNumber();
|
||||||
self::setNextPageNumber();
|
|
||||||
self::setPreviousPageNumber();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
throw new \Exception('ERROR: the pagenumber has to be a nummeric value!');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if($uripart == 'page')
|
else
|
||||||
{
|
{
|
||||||
$page = true;
|
throw new \Exception('ERROR: the pagenumber has to be a nummeric value!');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(self::getCurrentNumber() == self::CURRENT_PAGE)
|
if($uripart == 'page')
|
||||||
{
|
{
|
||||||
throw new \Exception('ERROR: URL parameter [page] is missing, please check your class and add the parameter!');
|
$page = true;
|
||||||
}
|
}
|
||||||
self::setNextPageNumber();
|
|
||||||
self::setPreviousPageNumber();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
if(self::getCurrentNumber() == self::CURRENT_PAGE)
|
||||||
|
{
|
||||||
|
throw new \Exception('ERROR: URL parameter [page] is missing, please check your class and add the parameter!');
|
||||||
|
}
|
||||||
|
self::setNextPageNumber();
|
||||||
|
self::setPreviousPageNumber();
|
||||||
|
|
||||||
|
}
|
||||||
catch (\Exception $e)
|
catch (\Exception $e)
|
||||||
{
|
{
|
||||||
echo '<pre>';
|
echo '<pre>';
|
||||||
|
|||||||
Reference in New Issue
Block a user