function ProcessRequest() { $msg = Messenger::Instance()->Receive(__FILE__); $Obj = new Mahasiswa(); $filter_data = !empty($msg[0][0]) ? $msg[0][0] : NULL; $message['content'] = !empty($msg[0][1]) ? $msg[0][1] : NULL; $message['style'] = !empty($msg[0][2]) ? $msg[0][2] : NULL; $view_per_page = Configuration::Instance()->GetValue('application', 'paging_limit'); $view_per_page = 10; if (!isset($_GET['display']) || empty($filter_data)) { $page = 1; $start = 0; $display = $view_per_page; $filter = compact('page', 'display', 'start'); } elseif ($_GET['display']->Raw() != '') { $page = (int) $_GET['page']->SqlString()->Raw(); $display = (int) $_GET['display']->SqlString()->Raw(); if ($page < 1) { $page = 1; } if ($display < 1) { $display = $view_per_page; } $start = ($page - 1) * $display; $filter = compact('page', 'display', 'start'); $filter += $filter_data; } else { $filter = $filter_data; $page = $filter['page']; $display = $filter['display']; $start = $filter['start']; } $post_data = $_POST->AsArray(); if (!empty($post_data)) { foreach ($post_data as $key => $value) { $filter[$key] = $value; } } Messenger::Instance()->Send(Dispatcher::Instance()->mModule, Dispatcher::Instance()->mSubModule, Dispatcher::Instance()->mAction, Dispatcher::Instance()->mType, array($filter), Messenger::UntilFetched); $data = $Obj->getData($filter); $total = $Obj->countData(); $url = Dispatcher::Instance()->GetUrl(Dispatcher::Instance()->mModule, Dispatcher::Instance()->mSubModule, Dispatcher::Instance()->mAction, Dispatcher::Instance()->mType) . '&display=' . $view_per_page; Messenger::Instance()->SendToComponent('paging', 'Paging', 'view', 'html', 'paging_top', array($display, $total, $url, $page), Messenger::CurrentRequest); return compact('data', 'filter', 'message'); }