. */ class OC_Share_Backend_Folder extends OC_Share_Backend_File { public function formatItems($items, $format, $parameters = null) { if ($format == self::FORMAT_SHARED_STORAGE) { // Only 1 item should come through for this format call return array('path' => $items[key($items)]['file_source'], 'permissions' => $items[key($items)]['permissions']); } else if ($format == self::FORMAT_FILE_APP && isset($parameters['folder'])) { // Only 1 item should come through for this format call $folder = $items[key($items)]; if (isset($parameters['mimetype_filter'])) { $mimetype_filter = $parameters['mimetype_filter']; } else { $mimetype_filter = ''; } $path = $folder['file_source'].substr($parameters['folder'], 7 + strlen($folder['file_target'])); $files = OC_FileCache::getFolderContent($path, '', $mimetype_filter); foreach ($files as &$file) { $file['directory'] = $parameters['folder']; $file['type'] = ($file['mimetype'] == 'httpd/unix-directory') ? 'dir' : 'file'; $file['permissions'] = $folder['permissions']; if ($file['type'] == 'file') { // Remove Create permission if type is file $file['permissions'] &= ~OCP\Share::PERMISSION_CREATE; } } return $files; } return array(); } public function getChildren($itemSource) { $files = OC_FileCache::getFolderContent($itemSource); $sources = array(); foreach ($files as $file) { $sources[] = $file['path']; } return $sources; } }