Esempio n. 1
0
 public function schedulegrid()
 {
     $page = $this->get->page;
     // get the requested page
     $limit = $this->get->rows;
     // get how many rows we want to have into the grid
     $sidx = $this->get->sidx;
     // get index row - i.e. user click to sort
     $sord = $this->get->sord;
     // get the direction
     if (!$sidx) {
         $sidx = 1;
     }
     # http://dev.phpvms.net/admin/action.php/operations/
     # ?_search=true&nd=1270940867171&rows=20&page=1&sidx=flightnum&sord=asc&searchField=code&searchString=TAY&searchOper=eq
     /* Do the search using jqGrid */
     $where = array();
     if ($this->get->_search == 'true') {
         $searchstr = jqgrid::strip($this->get->filters);
         $where_string = jqgrid::constructWhere($searchstr);
         # Append to our search, add 1=1 since it comes with AND
         #	from above
         $where[] = "1=1 {$where_string}";
     }
     Config::Set('SCHEDULES_ORDER_BY', "{$sidx} {$sord}");
     # Do a search without the limits so we can find how many records
     $count = SchedulesData::countSchedules($where);
     if ($count > 0) {
         $total_pages = ceil($count / $limit);
     } else {
         $total_pages = 0;
     }
     if ($page > $total_pages) {
         $page = $total_pages;
     }
     $start = $limit * $page - $limit;
     // do not put $limit*($page - 1)
     if ($start < 0) {
         $start = 0;
     }
     # And finally do a search with the limits
     $schedules = SchedulesData::findSchedules($where, $limit, $start);
     if (!$schedules) {
         $schedules = array();
     }
     # Form the json header
     $json = array('page' => $page, 'total' => $total_pages, 'records' => $count, 'rows' => array());
     # Add each row to the above array
     foreach ($schedules as $row) {
         if ($row->route != '') {
             $route = '<a href="#" onclick="showroute(\'' . $row->id . '\'); return false;">View</a>';
         } else {
             $route = '-';
         }
         $edit = '<a href="' . adminurl('/operations/editschedule?id=' . $row->id) . '">Edit</a>';
         $delete = '<a href="#" onclick="deleteschedule(' . $row->id . '); return false;">Delete</a>';
         $tmp = array('id' => $row->id, 'cell' => array($row->code, $row->flightnum, $row->depicao, $row->arricao, $row->aircraft, $row->registration, $route, Util::GetDaysCompact($row->daysofweek), $row->distance, $row->timesflown, $edit, $delete));
         $json['rows'][] = $tmp;
     }
     header("Content-type: text/x-json");
     echo json_encode($json);
 }