public function ajaxgetFileList($extension, $groupId, $limitstart = 0, $limit = 8, $type) { $fileLib = new CFilesLibrary(); $model = CFactory::getModel('files'); $field = $type . 'id'; switch ($extension) { case 'mostdownload': $data = $model->getTopDownload($groupId, $limitstart, $limit, $field); foreach ($data as $key => $_data) { $data[$key] = $fileLib->convertToMb($_data); $data[$key] = $fileLib->getParentType($_data); $data[$key] = $fileLib->getParentName($_data); $data[$key]->deleteable = $fileLib->checkDeleteable($type, $_data, CFactory::getUser()); $data[$key]->user = CFactory::getUser($_data->creator); } $tmpl = new CTemplate(); $tmpl->set('data', $data); $html = $tmpl->fetch('files.listing'); break; default: $defaultextension = array('document', 'archive', 'images', 'multimedia', 'miscellaneous'); $data = $model->getFileList($type, $groupId, $limitstart, $limit, $extension); foreach ($data as $key => $_data) { $data[$key] = $fileLib->convertToMb($_data); $data[$key] = $fileLib->getParentType($_data); $data[$key] = $fileLib->getParentName($_data); $data[$key]->user = CFactory::getUser($_data->creator); $data[$key]->deleteable = $fileLib->checkDeleteable($type, $_data, CFactory::getUser()); if ($_data->type !== $extension && in_array($extension, $defaultextension, true)) { unset($data[$key]); } } $tmpl = new CTemplate(); $tmpl->set('data', $data); $html = $tmpl->fetch('files.listing'); break; } $json = array(); $json['html'] = $html; //calculate pending files list $loadedFiles = $limitstart + count($data); $totalFiles = $model->getGroupFileCount($groupId, $extension, $field); if ($totalFiles > $loadedFiles) { //update limitstart $limitstart = $limitstart + count($data); $moreCount = $totalFiles - $loadedFiles; //load more option $json['next'] = $limitstart; $json['count'] = $moreCount; } die(json_encode($json)); }