/** * 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; }
/** * 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()) { $filter = $_POST['filterPage']; $this->_paginator_sess->filter = $filter; $new_search = TRUE; switch ($filter) { case 0: $param = null; case 1: $param = $_POST['filterType']; break; case 2: $param = $_POST['filterName']; break; } $this->_paginator_sess->param = $param; } $filter = $this->_paginator_sess->filter; $param = $this->_paginator_sess->param; /** Return alert to view on filter selected */ switch ($filter) { case 0: $filter_alert = "Show all highlights"; break; case 1: switch ($param) { case 3: $tipe = "Header"; break; case 2: $tipe = "Cluster"; break; case 1: $tipe = "Medium"; break; case 4: $tipe = "Small"; break; case 5: $tipe = "Gallery Header"; break; case 6: $tipe = "User Review"; break; } $filter_alert = $tipe . " highlights"; break; case 2: $filter_alert = "Highlights which name with keyword '" . $param . "'"; break; } $this->view->alert = $filter_alert; $select = $table_highlight->getQueryAllByLang($filter, $param, 2); //get pagerow setting and send to the paginator control $page_row = $this->_getParam('filterPageRow'); $this->view->row = $page_row; if ($page_row != null) { $paginator = parent::setPaginator($select, $page_row); } else { $paginator = parent::setPaginator($select); } if ($new_search) { $paginator->setCurrentPageNumber(1); } $this->view->paginator = $paginator; }