Exemplo n.º 1
0
 /**
  * Prepares a data provider
  *
  * @param DataProviderInterface|ActiveDataProvider $dataProvider the data provider to prepare
  *
  * @return array the prepared response
  */
 public function prepareActiveDataProvider(DataProviderInterface $dataProvider)
 {
     $data = array_map(array($this, 'prepare'), $dataProvider->getData());
     $pagination = $dataProvider->getPagination();
     $model = $dataProvider->model;
     if ($model instanceof ModelInterface) {
         $containerName = $model->controllerID();
     } else {
         $containerName = lcfirst(get_class($model));
     }
     $prepared = array('total' => (int) $dataProvider->getTotalItemCount(), 'limit' => $pagination ? $pagination->getPageSize() : null, 'currentPage' => $pagination ? $pagination->getCurrentPage() + 1 : null, 'params' => $dataProvider->getParams(), '_embedded' => array($containerName => $data), '_links' => array());
     $prepared['_links'] = $dataProvider->getLinks();
     return $prepared;
 }