/** * @param Request $request * @return JsonResponse */ protected function respondFolderGetTableData(Request $request) { /* Get list of uploads in this folder */ list($result, $iTotalDisplayRecords, $iTotalRecords) = $this->getListOfUploadsOfFolder($request); $uri = Traceback_uri() . "?mod=license"; /* Browse-Pfile menu */ $menuPfile = menu_find("Browse-Pfile", $menuDepth); /* Browse-Pfile menu without the compare menu item */ $menuPfileNoCompare = menu_remove($menuPfile, "Compare"); $users = $this->userDao->getUserChoices(); $statusTypesAvailable = $this->uploadDao->getStatusTypeMap(); if (!$this->userPerm) { unset($statusTypesAvailable[4]); } $output = array(); $rowCounter = 0; while ($row = $this->dbManager->fetchArray($result)) { if (empty($row['upload_pk']) || !$this->uploadDao->isAccessible($row['upload_pk'], Auth::getGroupId())) { continue; } $rowCounter++; $output[] = $this->showRow($row, $request, $uri, $menuPfile, $menuPfileNoCompare, $statusTypesAvailable, $users, $rowCounter); } $this->dbManager->freeResult($result); return new JsonResponse(array('sEcho' => intval($request->get('sEcho')), 'aaData' => $output, 'iTotalRecords' => $iTotalRecords, 'iTotalDisplayRecords' => $iTotalDisplayRecords)); }