/** * IS: Terdeklarasinya filter dan param di session, dan page_row * FS: Mengirimkan ke viewer: cleanUrl, message, filter_alert, page_row, * dan paginator * Desc: Mengatur aksi yang dilakukan untuk halaman index highlight */ public function indexAction() { //variable initiation and instance creation $this->view->cleanurl = $this->_cleanUrl; $table_highlight = new Model_DbTable_Highlight(); $message = $this->_flash->getMessages(); if (!empty($message)) { $this->view->message = $message; } $filter = null; $new_search = FALSE; if ($this->getRequest()->isPost()) { $post = $this->getRequest()->getPost(); $action = $post['action']; switch ($action) { case 'delete': if (isset($post['highlights'])) { $highlights = $post['highlights']; foreach ($highlights as $id) { $table_highlight->find($id)->current()->delete(); } $this->_helper->flashMessenger->addMessage('Highlight berhasil dihapus.'); } break; case 'filter': $this->filter->highlight = $post['filter']; break; case 'reset': $this->filter->unsetAll(); break; default: break; } $this->_helper->redirector('index'); } $filter = $this->_paginator_sess->filter; $param = $this->_paginator_sess->param; $select = $table_highlight->getQueryAllByLang($this->filter->highlight); $data = $table_highlight->fetchAll($select); $paginator = Zend_Paginator::factory($data); $pageNumber = $this->_getParam('page'); $paginator->setCurrentPageNumber($pageNumber); $paginator->setItemCountPerPage(5); if (isset($this->filter->highlight['row'])) { $paginator->setItemCountPerPage($this->filter->highlight['row']); } //get pagerow setting and send to the paginator control $this->view->paginator = $paginator; $this->view->filter = $this->filter->highlight; }