/**
  * 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;
 }
 /**
  * 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 = 2;
     $table_area = new Model_DbTable_Area();
     $parent_data = $table_area->getAllIslandAndProvince($language_id);
     $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()) {
         $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 = "Show all regions";
             break;
         case 1:
             $filter_alert = "Regions which name with keyword '" . $param . "'";
             break;
         case 2:
             foreach ($filter_data['area'] as $area) {
                 $parent[$area['area_id']] = $area['name'];
             }
             $filter_alert = "Regions that located in '" . $parent[$param] . "' area";
             break;
     }
     $this->view->alert = $filter_alert;
     $select = $table_area->getQueryAllByLanguage($filter, $param, $language_id);
     //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);
     }
     //send data to the view
     $this->view->panel_data = $filter_data;
     $this->view->paginator = $paginator;
 }