예제 #1
0
 public function searchAction()
 {
     $form = new PAP_Form_SearchForm();
     $this->view->form = $form;
     if ($this->getRequest()->isPost()) {
         $this->_helper->viewRenderer->setNoRender();
         $this->_helper->getHelper('layout')->disableLayout();
         $page = $_POST['page'];
         // get the requested page
         $limit = $_POST['rows'];
         // get how many rows we want to have into the grid
         $sidx = $_POST['sidx'];
         // get index row - i.e. user click to sort
         $sord = $_POST['sord'];
         $city_id = $this->getParam('city');
         $categories = '' . $this->getParam('categories');
     } else {
         $page = 0;
         // get the requested page
         $limit = 10;
         // get how many rows we want to have into the grid
         $sidx = 0;
         // get index row - i.e. user click to sort
         $sord = 'starts';
         $city_id = 150;
         return;
     }
     if (!$sidx) {
         $sidx = 1;
     }
     $promo = new PAP_Model_Promotion();
     $promotions = $promo->getPromotionsByCity($city_id, $categories);
     $count = count($promotions);
     if ($count > 0) {
         $total_pages = ceil($count / $limit);
     } else {
         $total_pages = 0;
     }
     if ($page > $total_pages) {
         $page = $total_pages;
     }
     $start = $limit * $page - $limit;
     if ($start < 0) {
         $start = 0;
     }
     //$row = $promoMapper->getByUserId($user->getId(), $sidx, $sord, $start, $limit);
     $response['page'] = $page;
     $response['total'] = $total_pages;
     $response['records'] = $count;
     $i = 0;
     foreach ($promotions as $r) {
         $response['rows'][$i]['id'] = $r['promotion_id'];
         //id
         $r['path'] = 'images' . $r['path'];
         $response['rows'][$i]['cell'] = array($r['path'], $r['name'], $r['displayed_text'], $r['street'] . ' ' . $r['number'] . ', ' . $r['city'], $r['promo_value'], isset($r['distance']) ? (string) $r['distance'] : 'N/D');
         $i++;
     }
     echo $this->_helper->json($response);
 }