Beispiel #1
0
 $fileCount = count($files['name']);
 for ($i = 0; $i < $fileCount; $i++) {
     if (isset($_POST['resolution'])) {
         $resolution = $_POST['resolution'];
     } else {
         $resolution = null;
     }
     // target directory for when uploading folders
     $relativePath = '';
     if (!empty($_POST['file_directory'])) {
         $relativePath = '/' . $_POST['file_directory'];
     }
     // $path needs to be normalized - this failed within drag'n'drop upload to a sub-folder
     if ($resolution === 'autorename') {
         // append a number in brackets like 'filename (2).ext'
         $target = OCP\Files::buildNotExistingFileName($dir . $relativePath, $files['name'][$i]);
     } else {
         $target = \OC\Files\Filesystem::normalizePath($dir . $relativePath . '/' . $files['name'][$i]);
     }
     // relative dir to return to the client
     if (isset($publicDirectory)) {
         // path relative to the public root
         $returnedDir = $publicDirectory . $relativePath;
     } else {
         // full path
         $returnedDir = $dir . $relativePath;
     }
     $returnedDir = \OC\Files\Filesystem::normalizePath($returnedDir);
     $exists = \OC\Files\Filesystem::file_exists($target);
     if ($exists) {
         $updatable = \OC\Files\Filesystem::isUpdatable($target);
Beispiel #2
0
    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 directory for when uploading folders
        $relativePath = '';
        if (!empty($_POST['file_directory'])) {
            $relativePath = '/' . $_POST['file_directory'];
        }
        // $path needs to be normalized - this failed within drag'n'drop upload to a sub-folder
        if (isset($_POST['resolution']) && $_POST['resolution'] === 'autorename') {
            // append a number in brackets like 'filename (2).ext'
            $target = OCP\Files::buildNotExistingFileName(stripslashes($dir . $relativePath), $files['name'][$i]);
        } else {
            $target = \OC\Files\Filesystem::normalizePath(stripslashes($dir . $relativePath) . '/' . $files['name'][$i]);
        }
        // relative dir to return to the client
        if (isset($publicDirectory)) {
            // path relative to the public root
            $returnedDir = $publicDirectory . $relativePath;
        } else {
            // full path
            $returnedDir = $dir . $relativePath;
        }
        $returnedDir = \OC\Files\Filesystem::normalizePath($returnedDir);
        if (!\OC\Files\Filesystem::file_exists($target) || isset($_POST['resolution']) && $_POST['resolution'] === 'replace') {
            // upload and overwrite file
            try {
Beispiel #3
0
if (OCA\Files_Sharing\Helper::isIncomingServer2serverShareEnabled() === false) {
    \OCP\JSON::error(array('data' => array('message' => $l->t('Server to server sharing is not enabled on this server'))));
    exit;
}
$token = $_POST['token'];
$remote = $_POST['remote'];
$owner = $_POST['owner'];
$name = $_POST['name'];
$password = $_POST['password'];
// Check for invalid name
if (!\OCP\Util::isValidFileName($name)) {
    \OCP\JSON::error(array('data' => array('message' => $l->t('The mountpoint name contains invalid characters.'))));
    exit;
}
$externalManager = new \OCA\Files_Sharing\External\Manager(\OC::$server->getDatabaseConnection(), \OC\Files\Filesystem::getMountManager(), \OC\Files\Filesystem::getLoader(), \OC::$server->getUserSession());
$name = OCP\Files::buildNotExistingFileName('/', $name);
// check for ssl cert
if (substr($remote, 0, 5) === 'https' and !OC_Util::getUrlContent($remote)) {
    \OCP\JSON::error(array('data' => array('message' => $l->t("Invalid or untrusted SSL certificate"))));
    exit;
} else {
    $mount = $externalManager->addShare($remote, $token, $password, $name, $owner);
    /**
     * @var \OCA\Files_Sharing\External\Storage $storage
     */
    $storage = $mount->getStorage();
    $result = $storage->file_exists('');
    if ($result) {
        $storage->getScanner()->scanAll();
        \OCP\JSON::success();
    } else {