Ejemplo n.º 1
0
 {
     parent::disableView();
     echo 'OK';
 }
 /*     *
  * Fungsi API untuk menggenerate data event untuk mobil indonesia.travel
  * @param : (int)page number
  * @param : (string)sortby (name)
  * @param : (string)sortorder (asc / desc)
  * Full url : http://id.indonesia.travel/en/api/event/intvtime/month/intvvalue/3/rule/3/sortby/start/sortorder/desc
  * return Json Object
  * */
 public function eventAction()
 {
     parent::disableView();
     //set paramter page
     $page = $this->_getParam('page');
     if ($this->_request->isPost() or !isset($page)) {
         $page = 1;
     }
     //set parameter sorting available (start/name)
     $sortby = $this->_getParam('sortby');
     if ($this->_request->isPost() or !isset($sortby)) {
         $sortby = 'start';
     }
     //set parameter index sorting ASC/DESC
     $sortOrder = $this->_getParam('sortorder');
     if ($this->_request->isPost() or !isset($sortOrder)) {
         $sortOrder = 'ASC';
     }
     //set parameter pagination
     $limit = $this->_limit;
     $offset = ($page - 1) * $limit;
     //set parameter interval available (day / week / month / year)
     $intervalTime = $this->_getParam('intvtime');
     if (!isset($intervalTime)) {
         $intervalTime = 'month';
         //default month
     }
     //set parameter interval available (day / week / month / year)
     $intervalValue = $this->_getParam('intvvalue');
     if (!isset($intervalValue)) {
         $intervalValue = 6;
         //default 6
     }
     //set parameter rule (1 = before & after / 2 = just before / 3 = just after )
     //e.x : 1 = berarti generate data antara 6 bulan kebelakang dan 6 bulan kedepan dari sekarang
     $rule = $this->_getParam('rule');
     if (!isset($rule)) {
         $rule = 1;
         //default before & after
     }
     //all parameter
     $param = array('limit' => $limit, 'offset' => $offset, 'paging' => false, 'sortby' => $sortby, 'sortorder' => $sortOrder, 'languageId' => $this->_languageId, 'intervalType' => $intervalTime, 'intervalValue' => $intervalValue, 'rule' => $rule);
     $model = new Model_DbTable_Event();
     $query = $model->api_getAllWithoutDesc($param);
     $jsonData = array();
     $feedparam = array();
     $feedparam['page'] = $page;
     $feedparam['sortby'] = $sortby;
     $feedparam['sortOrder'] = $sortOrder;
     if (sizeof($query)) {
         foreach ($query as $key => $value) {
             $jsonData[$key]['self']['event_id'] = $value['event_id'];
             $jsonData[$key]['self']['time_created'] = $value['time_created'];
             $jsonData[$key]['self']['date_start'] = $value['date_start'];