Пример #1
0
<?php

// only need filesystem apps
$RUNTIME_APPTYPES = array('filesystem');
OCP\JSON::checkLoggedIn();
// send back json
OCP\JSON::success(array('data' => \OCA\files\lib\Helper::buildFileStorageStatistics('/')));
Пример #2
0
$error = '';
$maxUploadFileSize = $storageStats['uploadMaxFilesize'];
$maxHumanFileSize = OCP\Util::humanFileSize($maxUploadFileSize);
$totalSize = 0;
foreach ($files['size'] as $size) {
    $totalSize += $size;
}
if ($maxUploadFileSize >= 0 and $totalSize > $maxUploadFileSize) {
    OCP\JSON::error(array('data' => array('message' => $l->t('Not enough storage available'), 'uploadMaxFilesize' => $maxUploadFileSize, 'maxHumanFilesize' => $maxHumanFileSize)));
    exit;
}
$result = array();
if (strpos($dir, '..') === false) {
    $fileCount = count($files['name']);
    for ($i = 0; $i < $fileCount; $i++) {
        $target = OCP\Files::buildNotExistingFileName(stripslashes($dir), $files['name'][$i]);
        // $path needs to be normalized - this failed within drag'n'drop upload to a sub-folder
        $target = \OC\Files\Filesystem::normalizePath($target);
        if (is_uploaded_file($files['tmp_name'][$i]) and \OC\Files\Filesystem::fromTmpFile($files['tmp_name'][$i], $target)) {
            $meta = \OC\Files\Filesystem::getFileInfo($target);
            // updated max file size after upload
            $storageStats = \OCA\files\lib\Helper::buildFileStorageStatistics($dir);
            $result[] = array('status' => 'success', 'mime' => $meta['mimetype'], 'size' => $meta['size'], 'id' => $meta['fileid'], 'name' => basename($target), 'originalname' => $files['name'][$i], 'uploadMaxFilesize' => $maxUploadFileSize, 'maxHumanFilesize' => $maxHumanFileSize);
        }
    }
    OCP\JSON::encodedPrint($result);
    exit;
} else {
    $error = $l->t('Invalid directory.');
}
OCP\JSON::error(array('data' => array_merge(array('message' => $error), $storageStats)));