From 44a1b6252585aae23c7b0b444eb6a812753bd44e Mon Sep 17 00:00:00 2001 From: Simon Date: Fri, 1 Apr 2011 13:26:21 +0200 Subject: Pagination in Bootiso --- .../modules/user/controllers/BootisoController.php | 58 +++++++++++++++------- application/modules/user/forms/Bootiso.php | 7 +++ .../modules/user/views/scripts/bootiso/index.phtml | 10 ++-- 3 files changed, 55 insertions(+), 20 deletions(-) (limited to 'application/modules') diff --git a/application/modules/user/controllers/BootisoController.php b/application/modules/user/controllers/BootisoController.php index 1b7f1c4..ba2ef91 100644 --- a/application/modules/user/controllers/BootisoController.php +++ b/application/modules/user/controllers/BootisoController.php @@ -78,6 +78,23 @@ class user_BootisoController extends Zend_Controller_Action $this->view->bootisolist = array_reverse($this->view->bootisolist); + // Pagination + $perpage = 10; + $req_page = $this->_request->getParam('page'); + $all = count($this->view->bootisolist); + $numpages = ceil($all/$perpage); + if($req_page < 0 || !is_numeric($req_page) ) + $req_page = 0; + if($req_page >= $numpages) + $req_page = $numpages-1; + $startitem = $req_page * $perpage; + + $pagination = new Pbs_Pagination(); + $this->view->pagination = $pagination->pagination('/user/bootiso/index',$req_page,$numpages); + $this->view->page = $req_page; + $this->view->bootisolist = array_slice($this->view->bootisolist,$startitem,$perpage); + + $prebootMapper = new Application_Model_PreBootMapper(); $this->view->prebootlist = array(); @@ -91,21 +108,24 @@ class user_BootisoController extends Zend_Controller_Action public function downloadbootisoAction() { + $page = $this->_request->getParam('page'); $this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(true); + $page = $this->_request->getParam('page'); + //TODO ACL Darf er BootISOs downloaden? if(false) - $this->_redirect('/user/bootiso/index/downloadresult/forbidden'); + $this->_redirect('/user/bootiso/index/page/'.$page.'/downloadresult/forbidden'); $prebootID = $this->_request->getParam('prebootID'); $bootisoID = $this->_request->getParam('bootisoID'); if(!is_dir("../resources/bootmedium/$prebootID/")) - $this->_redirect('/user/bootiso/index/downloadresult/404'); + $this->_redirect('/user/bootiso/index/page/'.$page.'/downloadresult/404'); if(!is_numeric($prebootID) || !is_numeric($bootisoID)) - $this->_redirect('/user/bootiso/index/downloadresult/forbidden'); + $this->_redirect('/user/bootiso/index/page/'.$page.'/downloadresult/forbidden'); chdir("../resources/bootmedium/$prebootID/"); @@ -127,9 +147,10 @@ class user_BootisoController extends Zend_Controller_Action public function createbootisoAction() { + $page = $this->_request->getParam('page'); //TODO ACL Darf er BootISOs erstellen? if(false) - $this->_redirect('/user/bootiso/index/addresult/forbidden'); + $this->_redirect('/user/bootiso/index/page/'.$page.'/addresult/forbidden'); $groupgroupsMapper = new Application_Model_GroupGroupsMapper(); $groupID = $this->membership->getGroupID(); @@ -173,11 +194,11 @@ class user_BootisoController extends Zend_Controller_Action { echo "Caught exception: " . get_class($e) . "
"; echo "Message: " . $e->getMessage() . "
"; - $this->_redirect('/user/bootiso/index/addresult/error'); + $this->_redirect('/user/bootiso/index/page/'.$page.'/addresult/error'); //TODO Delete File & delete bootiso from DB } - $this->_redirect('/user/bootiso/index/addresult/ok'); + $this->_redirect('/user/bootiso/index/page/'.$page.'/addresult/ok'); } } @@ -186,13 +207,14 @@ class user_BootisoController extends Zend_Controller_Action public function editbootisoAction() { + $page = $this->_request->getParam('page'); //TODO ACL Darf er BootISOs editieren? if(false) - $this->_redirect('/user/bootiso/index/modifyresult/forbidden'); + $this->_redirect('/user/bootiso/index/page/'.$page.'/modifyresult/forbidden'); $bootisoID = $this->_request->getParam('bootisoID'); if (!is_numeric($bootisoID)) - $this->_redirect('/user/bootiso/index/modifyresult/forbidden'); + $this->_redirect('/user/bootiso/index/page/'.$page.'/modifyresult/forbidden'); $groupID = $this->membership->getGroupID(); @@ -208,7 +230,7 @@ class user_BootisoController extends Zend_Controller_Action $this->bootisoMapper->find($bootisoID, $bootiso); if($this->membership->getGroupID() != $bootiso->getGroupID()) - $this->_redirect('/user/bootiso/index/modifyresult/forbidden'); + $this->_redirect('/user/bootiso/index/page/'.$page.'/modifyresult/forbidden'); $bootisoForm = new user_Form_Bootiso(array('action' => 'editbootiso','prebootlist' => $prebootlist, 'groupdepth' => $childgroups, 'rights' => 'meta')); $bootisoForm->populate($bootiso->toArray()); @@ -234,7 +256,7 @@ class user_BootisoController extends Zend_Controller_Action $bootiso->getSerialnumber() != $bootisoold->getSerialnumber()){ //TODO ACL Is he allowed to edit other than Metadata? if(false) - $this->_redirect('/user/bootiso/index/modifyresult/forbidden'); + $this->_redirect('/user/bootiso/index/page/'.$page.'/modifyresult/forbidden'); } @@ -253,11 +275,11 @@ class user_BootisoController extends Zend_Controller_Action { echo "Caught exception: " . get_class($e) . "
"; echo "Message: " . $e->getMessage() . "
"; - $this->_redirect('/user/bootiso/index/modifyresult/error'); + $this->_redirect('/user/bootiso/index/page/'.$page.'/modifyresult/error'); //TODO Redo Serial in Files... } - $this->_redirect('/user/bootiso/index/modifyresult/ok'); + $this->_redirect('/user/bootiso/index/page/'.$page.'/modifyresult/ok'); } } @@ -267,30 +289,32 @@ class user_BootisoController extends Zend_Controller_Action public function deletebootisoAction() { + $page = $this->_request->getParam('page'); + //TODO ACL Darf er BootISOs löschen? if(false) - $this->_redirect('/user/bootiso/index/deleteresult/forbidden'); + $this->_redirect('/user/bootiso/index/page/'.$page.'/deleteresult/forbidden'); try{ $bootisoID = $this->_request->getParam('bootisoID'); if (!is_numeric($bootisoID)) - $this->_redirect('/user/bootiso/index/deleteresult/forbidden'); + $this->_redirect('/user/bootiso/index/page/'.$page.'/deleteresult/forbidden'); $bootiso = new Application_Model_BootIso(); $this->bootisoMapper->find($bootisoID,$bootiso); if($this->membership->getGroupID() != $bootiso->getGroupID()) - $this->_redirect('/user/bootiso/index/deleteresult/forbidden'); + $this->_redirect('/user/bootiso/index/page/'.$page.'/deleteresult/forbidden'); $this->bootisoMapper->delete($bootiso); }catch(Zend_Exception $e){ echo "Caught exception: " . get_class($e) . "
"; echo "Message: " . $e->getMessage() . "
"; - $this->_redirect('/user/bootiso/index/deleteresult/error'); + $this->_redirect('/user/bootiso/index/page/'.$page.'/deleteresult/error'); } - $this->_redirect('/user/bootiso/index/deleteresult/ok'); + $this->_redirect('/user/bootiso/index/page/'.$page.'/deleteresult/ok'); } } diff --git a/application/modules/user/forms/Bootiso.php b/application/modules/user/forms/Bootiso.php index 7c472c0..f20179f 100644 --- a/application/modules/user/forms/Bootiso.php +++ b/application/modules/user/forms/Bootiso.php @@ -7,6 +7,7 @@ class user_Form_Bootiso extends Zend_Form private $groupdepth; private $action; private $rights; + private $page; public function setRights($rights){ $this->rights = $rights; @@ -20,6 +21,9 @@ class user_Form_Bootiso extends Zend_Form public function setGroupdepth($groupdepth){ $this->groupdepth = $groupdepth; } + public function setPage($page){ + $this->page = $page; + } public function init() @@ -111,6 +115,9 @@ class user_Form_Bootiso extends Zend_Form 'onclick' => 'self.location="/user/bootiso"' )); + $this->addElement('hidden','page', array( + 'value' => $this->page + )); ?>