function ProcessRequest()
 {
     $msg = Messenger::Instance()->Receive(__FILE__);
     $userObj = new AppUser();
     $filter_data = !empty($msg[0][0]) ? $msg[0][0] : NULL;
     $message['content'] = !empty($msg[1][1]) ? $msg[1][1] : NULL;
     $message['style'] = !empty($msg[1][2]) ? $msg[1][2] : NULL;
     $view_per_page = Configuration::Instance()->GetValue('application', 'paging_limit');
     $view_per_page = 5;
     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 = $userObj->getData($filter);
     $total = $userObj->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');
 }