/** * IS: Terdeklarasinya filter dan param di session, dan page_row * FS: Mengirimkan ke viewer: cleanUrl, message, filter_alert, page_row, * panel_data, dan paginator * Desc: Mengatur aksi yang dilakukan untuk halaman index region */ public function indexAction() { //variable initiation and instance creation $this->view->cleanurl = $this->_cleanUrl; $language_id = 1; $table_area = new Model_DbTable_Area(); $parent_data = $table_area->getAllIslandAndProvince(); $filter_data = array('area' => $parent_data); //get messages from CRUD process $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['regions'])) { $regions = $post['regions']; foreach ($regions as $id) { $table_area->find($id)->current()->delete(); } $this->_helper->flashMessenger->addMessage('Area berhasil dihapus.'); } break; case 'filter': $this->filter->region = $post['filter']; break; case 'reset': $this->filter->unsetAll(); break; default: break; } $this->_helper->redirector('index'); } // if ($this->getRequest()->isPost()) // { // $filter = $_POST['filterPage']; // $new_search = TRUE; // switch ($filter) // { // case 0 : $param = null; // break; // case 1 : $param = $_POST['filterTitle']; // break; // case 2 : $param = $_POST['filterParent']; // break; // } // $this->_paginator_sess->filter = $filter; // $this->_paginator_sess->param = $param; // } // // //get the params from session and create paginator // $filter = $this->_paginator_sess->filter; // $param = $this->_paginator_sess->param; // // /** Return alert to view on filter selected */ // switch ($filter) // { // case 0 : $filter_alert = "Tampilkan Semua Region"; // break; // case 1 : $filter_alert = "Region Dengan Nama '" // . $param . "'"; // break; // case 2 : foreach ($filter_data['area'] as $area) // { // $parent[$area['area_id']] = $area['name']; // } // $filter_alert = "Region Yang Berada Pada Area '" // . $parent[$param] . "' "; // break; // }$this->filter->region // $this->view->alert = $filter_alert; $select = $table_area->getQueryAllByLanguage($this->filter->region, null, $language_id); $data = $table_area->fetchAll($select); $paginator = Zend_Paginator::factory($data); $pageNumber = $this->_getParam('page'); $paginator->setCurrentPageNumber($pageNumber); $paginator->setItemCountPerPage(5); if (isset($this->filter->region['row'])) { $paginator->setItemCountPerPage($this->filter->region['row']); } // // //get pagerow setting and send to the paginator control // $page_row = $this->_getParam($this->filter->region['row']); // $this->view->row = $page_row; // // if ($page_row != null) // { // $paginator = parent::setPaginator($select, $page_row); // } else // { // $paginator = parent::setPaginator($select); // } // // //if this is a new search then return the page number back to the 1st page // if ($new_search) // { // $paginator->setCurrentPageNumber(1); // } //send data to the view $this->view->panel_data = $filter_data; $this->view->paginator = $paginator; $this->view->filter = $this->filter->region; }