/** * 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 image */ public function indexAction() { //variable initiation and instance creation $this->view->cleanurl = $this->_cleanUrl; $table_gallery = new Model_DbTable_Image(); $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->imagefilter = $filter; $new_search = TRUE; switch ($filter) { case 0: $param = null; break; case 1: $param = $_POST['filterTitle']; break; case 2: $param = $_POST['filterPoi']; break; } $this->_paginator_sess->param = $param; } $filter = $this->_paginator_sess->imagefilter; $param = $this->_paginator_sess->param; /** Return alert to view on filter selected */ switch ($filter) { case 0: $filter_alert = "Show all images"; break; case 1: $filter_alert = "Images which name with keyword '" . $param . "'"; break; case 2: $filter_alert = "Images that related to '" . $param . "'"; break; } $this->view->alert = $filter_alert; $select = $table_gallery->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 ($new_search) { $paginator->setCurrentPageNumber(1); } $this->view->paginator = $paginator; }