/**
  * 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;
     }
 }
Ejemplo n.º 2
0
// 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();