Merge pull request #103 from sourcefabric/saas-paginagte-rest-media-index-action

Saas paginagte rest media index action
This commit is contained in:
Denise Rigato 2015-03-06 14:31:06 -05:00
commit 0d790213e3
1 changed files with 21 additions and 4 deletions

View File

@ -14,15 +14,32 @@ class Rest_MediaController extends Zend_Rest_Controller
public function indexAction() public function indexAction()
{ {
$totalFileCount = CcFilesQuery::create()->count();
// Check if offset and limit were sent with request.
// Default limit to zero and offset to $totalFileCount
$offset = $this->_getParam('offset', 0);
$limit = $this->_getParam('limit', $totalFileCount);
$query = CcFilesQuery::create()
->filterByDbHidden(false)
->filterByDbFileExists(true)
->filterByDbImportStatus(0)
->setLimit($limit)
->setOffset($offset);
$queryCount = $query->count();
$queryResult = $query->find();
$files_array = array(); $files_array = array();
foreach (CcFilesQuery::create()->find() as $file) foreach ($queryResult as $file)
{ {
array_push($files_array, CcFiles::sanitizeResponse($file)); array_push($files_array, CcFiles::sanitizeResponse($file));
} }
$this->getResponse() $this->getResponse()
->setHttpResponseCode(200) ->setHttpResponseCode(200)
->appendBody(json_encode($files_array)); ->setHeader('X-TOTAL-COUNT', $queryCount)
->appendBody(json_encode($files_array));
/** TODO: Use this simpler code instead after we upgrade to Propel 1.7 (Airtime 2.6.x branch): /** TODO: Use this simpler code instead after we upgrade to Propel 1.7 (Airtime 2.6.x branch):
$this->getResponse() $this->getResponse()