Exemplo n.º 1
0
 public static function zipAddDir($dir, $zip, $internalDir = '')
 {
     $dirname = basename($dir);
     $zip->addEmptyDir($internalDir . $dirname);
     $internalDir .= $dirname .= '/';
     $files = OC_Files::getdirectorycontent($dir);
     foreach ($files as $file) {
         $filename = $file['name'];
         $file = $dir . '/' . $filename;
         if (OC_Filesystem::is_file($file)) {
             $tmpFile = OC_Filesystem::toTmpFile($file);
             OC_Files::$tmpFiles[] = $tmpFile;
             $zip->addFile($tmpFile, $internalDir . $filename);
         } elseif (OC_Filesystem::is_dir($file)) {
             self::zipAddDir($file, $zip, $internalDir);
         }
     }
 }
 OC_Util::setupFS($user);
 $source = substr($source, strlen("/" . $user . "/files"));
 $subPath = isset($_GET['path']) ? $_GET['path'] : '';
 $root = $source;
 $source .= $subPath;
 if (!OC_Filesystem::file_exists($source)) {
     header("HTTP/1.0 404 Not Found");
     $tmpl = new OC_Template("", "404", "guest");
     $tmpl->assign("file", $subPath);
     $tmpl->printPage();
     exit;
 }
 if (OC_Filesystem::is_dir($source)) {
     $files = array();
     $rootLength = strlen($root);
     foreach (OC_Files::getdirectorycontent($source) as $i) {
         $i['date'] = OC_Util::formatDate($i['mtime']);
         if ($i['type'] == 'file') {
             $fileinfo = pathinfo($i['name']);
             $i['basename'] = $fileinfo['filename'];
             $i['extention'] = isset($fileinfo['extension']) ? '.' . $fileinfo['extension'] : '';
         }
         $i['directory'] = substr($i['directory'], $rootLength);
         if ($i['directory'] == "/") {
             $i['directory'] = "";
         }
         $files[] = $i;
     }
     // Make breadcrumb
     $breadcrumb = array();
     $pathtohere = "";
Exemplo n.º 3
0
$RUNTIME_APPTYPES = array('filesystem');
// Init owncloud
OCP\JSON::checkLoggedIn();
// Load the files
$dir = isset($_GET['dir']) ? $_GET['dir'] : '';
$doBreadcrumb = isset($_GET['breadcrumb']) ? true : false;
$data = array();
// Make breadcrumb
if ($doBreadcrumb) {
    $breadcrumb = array();
    $pathtohere = "/";
    foreach (explode("/", $dir) as $i) {
        if ($i != "") {
            $pathtohere .= "{$i}/";
            $breadcrumb[] = array("dir" => $pathtohere, "name" => $i);
        }
    }
    $breadcrumbNav = new OCP\Template("files", "part.breadcrumb", "");
    $breadcrumbNav->assign("breadcrumb", $breadcrumb);
    $data['breadcrumb'] = $breadcrumbNav->fetchPage();
}
// make filelist
$files = array();
foreach (OC_Files::getdirectorycontent($dir) as $i) {
    $i["date"] = OCP\Util::formatDate($i["mtime"]);
    $files[] = $i;
}
$list = new OCP\Template("files", "part.list", "");
$list->assign("files", $files, false);
$data = array('files' => $list->fetchPage());
OCP\JSON::success(array('data' => $data));
Exemplo n.º 4
0
<?php

// only need filesystem apps
$RUNTIME_APPTYPES = array('filesystem');
// Init owncloud
require_once 'lib/template.php';
OCP\JSON::checkLoggedIn();
// Load the files
$dir = isset($_GET['dir']) ? $_GET['dir'] : '';
$mimetype = isset($_GET['mimetype']) ? $_GET['mimetype'] : '';
// make filelist
$files = array();
foreach (OC_Files::getdirectorycontent($dir, $mimetype) as $i) {
    $i["date"] = OCP\Util::formatDate($i["mtime"]);
    $i['mimetype_icon'] = $i['type'] == 'dir' ? \mimetype_icon('dir') : \mimetype_icon($i['mimetype']);
    $files[] = $i;
}
OCP\JSON::success(array('data' => $files));