예제 #1
0
 public function get_more($data)
 {
     // Create instance of picture database with 10 items per page and our data as source
     $pictureDatabase = new picture($data, 10);
     $result = array('success' => TRUE, 'message' => 'Retrieved pictures', 'data' => array());
     $callback = isset($_REQUEST['callback']) ? $_REQUEST['callback'] : false;
     // Get requested page number from request and return error message if parameter is not a number
     $page = 1;
     try {
         $page = intval($_REQUEST['page']);
     } catch (Exception $e) {
         $result['success'] = FALSE;
         $result['message'] = 'Parameter page is not a number';
     }
     // Get data from database
     $result['data'] = $pictureDatabase->getPage($page);
     if (count($result['data']) == 0 || $page >= $pictureDatabase->getNumberOfPages()) {
         $result['success'] = TRUE;
         $result['message'] = 'No more pictures';
     }
     // Encode data as json or jsonp and return it
     if ($callback) {
         header('Content-Type: application/javascript');
         $result_data = $callback . '(' . json_encode($result) . ')';
     } else {
         header('Content-Type: application/json');
         $result_data = json_encode($result);
     }
     return $result_data;
 }