From cb9f96ecd4e249a0b80eea07a4038cfa4a1b314e Mon Sep 17 00:00:00 2001 From: Simon Date: Mon, 4 Apr 2011 15:33:56 +0200 Subject: Pagination in den Controllern Korrigiert --- .../modules/user/controllers/ClientController.php | 32 +++++++++++++--------- 1 file changed, 19 insertions(+), 13 deletions(-) (limited to 'application/modules/user/controllers/ClientController.php') diff --git a/application/modules/user/controllers/ClientController.php b/application/modules/user/controllers/ClientController.php index 5827d03..2a57cf0 100644 --- a/application/modules/user/controllers/ClientController.php +++ b/application/modules/user/controllers/ClientController.php @@ -49,23 +49,29 @@ class User_ClientController extends Zend_Controller_Action $clientMapper = new Application_Model_ClientMapper(); $clientsInGroup = $clientMapper->findBy('groupID',$this->membership->getGroupID()); + $search = $this->_request->getParam('search'); + if($search != ''){ + $this->view->search = $search; + $mySearch = new Pbs_Search(); + $clientsInGroup = $mySearch->search($clientsInGroup,$search); + } - $perpage = 10; - $req_page = $this->_request->getParam('page'); - $all = count($clientsInGroup); - $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 $pagination = new Pbs_Pagination(); - $this->view->pagination = $pagination->pagination('/user/client/index',$req_page,$numpages); - $this->view->page = $req_page; - $this->view->clients = array_slice($clientsInGroup,$startitem,$perpage); + $pagination->setPerPage(10); + $pagination->setElement($clientsInGroup); + $pagination->setRequestPage($this->_request->getParam('page')); + $pagination->setPageUrl('/user/client/index'.((isset($this->view->search))?'/search/'.$this->view->search:'')); + $clientsInGroup = $pagination->getElements(); + + $this->view->pagination = $pagination->pagination($pageurl); + $this->view->page = $pagination->getRequestPage(); + $this->view->clients = $clientsInGroup; } + public function searchAction(){ + $this->_redirect('/user/client/index/search/'.$_GET['search']); + } public function addclientAction() { -- cgit v1.2.3-55-g7522