/** * get the content of a directory * @param dir $directory */ public static function getDirectoryContent($directory) { if (strpos($directory, OC::$CONFIG_DATADIRECTORY) === 0) { $directory = substr($directory, strlen(OC::$CONFIG_DATADIRECTORY)); } $filesfound = true; $content = array(); $dirs = array(); $file = array(); $files = array(); if (OC_Filesystem::is_dir($directory)) { if ($dh = OC_Filesystem::opendir($directory)) { while (($filename = readdir($dh)) !== false) { if ($filename != '.' and $filename != '..' and substr($filename, 0, 1) != '.') { $file = array(); $filesfound = true; $file['name'] = $filename; $file['directory'] = $directory; $stat = OC_Filesystem::stat($directory . '/' . $filename); $file = array_merge($file, $stat); $file['size'] = OC_Filesystem::filesize($directory . '/' . $filename); $file['mime'] = OC_Files::getMimeType($directory . '/' . $filename); $file['readable'] = OC_Filesystem::is_readable($directory . '/' . $filename); $file['writeable'] = OC_Filesystem::is_writeable($directory . '/' . $filename); $file['type'] = OC_Filesystem::filetype($directory . '/' . $filename); if ($file['type'] == 'dir') { $dirs[$file['name']] = $file; } else { $files[$file['name']] = $file; } } } closedir($dh); } } uksort($dirs, "strnatcasecmp"); uksort($files, "strnatcasecmp"); $content = array_merge($dirs, $files); if ($filesfound) { return $content; } else { return false; } }
// load required style sheets: OC_Util::addStyle('files_svgedit', 'ocsvg'); // load required javascripts: OC_Util::addScript('files_svgedit', 'svg-edit/embedapi'); OC_Util::addScript('files_svgedit', 'ocsvgEditor'); OC_Util::addScript('files_svgedit', 'canvg/canvg'); OC_Util::addScript('files_svgedit', 'canvg/rgbcolor'); OC_Util::addScript('files_svgedit', 'base64'); //OC_Util::addScript('files_svgedit', 'jsPDF/libs/sprintf'); //OC_Util::addScript('files_svgedit', 'jsPDF/jspdf'); OC_Util::addScript('files_svgedit', 'jsPDF/jspdf.min'); OC_Util::addScript('files_svgedit', 'svgToPdf'); OC_App::setActiveNavigationEntry('files_index'); $path = $_GET['file']; if (method_exists('OC_Filesystem', 'is_writable')) { $writable = OC_Filesystem::is_writable($path); } else { $writable = OC_Filesystem::is_writeable($path); } if (isset($_GET['file']) and $writable) { $filecontents = OC_Filesystem::file_get_contents($path); $filemtime = OC_Filesystem::filemtime($path); } else { $filecontents = ""; $filemtime = 0; } $tmpl = new OC_TEMPLATE("files_svgedit", "editor", "user"); $tmpl->assign('fileContents', json_encode($filecontents)); $tmpl->assign('filemTime', $filemtime); $tmpl->assign('filePath', json_encode($path)); $tmpl->printPage();