/**
  * 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;
 }