/** * IS: Terdeklarasinya page_row * FS: Mengirimkan ke viewer: cleanUrl, message, page_row, paginator, * classification_list, island_list * Desc: Mengatur aksi yang dilakukan untuk halaman index tourism operator */ public function indexAction() { //send this page url to the view $this->view->cleanurl = $this->_cleanUrl; //get messages from CRUD process $message = $this->_flash->getMessages(); if (!empty($message)) { $this->view->message = $message; } //create table instance $table_tourismoperator = new Model_DbTable_TourismOperator(); $table_classification = new Model_DbTable_Classification(); $table_area = new Model_DbTable_Area(); //set the variable initial value $filter = null; $new_search = FALSE; //get the filter params if ($this->getRequest()->isPost()) { $filter = $_POST['filterPage']; $new_search = TRUE; $this->_paginator_sess->tpfilter = $filter; switch ($filter) { case 1: $param = $_POST['filtertitle']; break; case 2: $param = $_POST['filterclass']; break; case 3: $param = $_POST['filterarea']; break; } $this->_paginator_sess->param = $param; } //get the params from session and create paginator $filter = $this->_paginator_sess->tpfilter; $param = $this->_paginator_sess->param; $select = $table_tourismoperator->getQueryAllByLang($filter, $param); //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 this is a new search then return the page number back to the 1st page if ($new_search) { $paginator->setCurrentPageNumber(1); } //Processing data for view element $classification_list = $table_classification->getAllClassification(); $column = array('id' => 'area_id'); $island_list = $table_area->getAllParentArea($column); //send data to the view $this->view->classification_list = $classification_list; $this->view->island_list = $island_list; $this->view->paginator = $paginator; /** Return alert to view on filter selected */ switch ($filter) { case 0: $filter_alert = "Show all tourism operators"; break; case 1: $filter_alert = "Tourism operator which name with keyword '" . $param . "'"; break; case 2: foreach ($classification_list as $class) { $parent[$class['id']] = $class['name']; } $filter_alert = "Tourism operators with '" . $parent[$param] . "' classification"; break; case 3: $filter_alert = "Tourism operator located in '" . $this->view->areaName($param) . "'"; } $this->view->alert = $filter_alert; }