Gentics Portal.Node PHP API
 All Classes Namespaces Functions Variables Pages
ApiController.php
1 <?php
2 
3 
4 /**
5  * Public API for retrieving information about remembered pages
6  **/
7 class ApiController extends CController
8 {
9  /**
10  * Return RememberedPages in JSON format
11  *
12  * All parameters added as GET parameter to query string
13  *
14  * Filtering:
15  * RememberedPage[FIELD]=VALUE
16  * Set of filters can be specified
17  * Example: RememberedPage[collection_id]=1&RememberedPage[url]=goog
18  *
19  * Sorting:
20  * Set RememberedPage_sort=FIELD_NAME[.SORT_DIRECTION]
21  * Only one sorting attribute can be specified
22  * Example: RememberedPage_sort=created OR RememberedPage_sort=created.desc
23  *
24  * Pagination:
25  * Every response contains pagination data
26  * "pagination": {
27  * "itemCount": "21",
28  * "pageSize": 10,
29  * "pageCount": 3,
30  * "currentPage": 2
31  * }
32  * It reflects current page number, current page size, total items, total pages.
33  * By Default first page is loaded. Page numeration starts from 1.
34  * For specifying some page add "page" parametr to query string
35  * Example: page=3
36  *
37  */
38  public function actionPages()
39  {
40  $rememberedPage = new RememberedPage('search');
41  if(isset($_GET['RememberedPage'])){
42  $rememberedPage->attributes = $_GET['RememberedPage'];
43  }
44  $dataProvider = $rememberedPage->search();
45  $pagination = $dataProvider->getPagination();
46 
47  header('Content-type: application/json');
48  $response = array(
49  'data' => $dataProvider->getData(),
50  'pagination' => array(
51  'itemCount' => $pagination->getItemCount(),
52  'pageSize' => $pagination->getPageSize(),
53  'pageCount' => $pagination->getPageCount(),
54  'currentPage' => $pagination->getCurrentPage() + 1,
55  )
56  );
57  echo CJSON::encode($response);
58  die;
59  }
60 
61 }