Merge branch 'master' into from_live_to_on

Conflicts:
	apps/files_external/js/google.js
This commit is contained in:
Thomas Mueller 2013-01-31 23:34:12 +01:00
commit b1da1db0eb
589 changed files with 17595 additions and 9562 deletions

View file

@ -12,10 +12,12 @@ $files = isset($_POST["file"]) ? stripslashes($_POST["file"]) : stripslashes($_P
$files = json_decode($files);
$filesWithError = '';
$success = true;
//Now delete
foreach ($files as $file) {
if (!OC_Files::delete($dir, $file)) {
if (($dir === '' && $file === 'Shared') || !\OC\Files\Filesystem::unlink($dir . '/' . $file)) {
$filesWithError .= $file . "\n";
$success = false;
}

View file

@ -32,7 +32,7 @@ if($doBreadcrumb) {
// make filelist
$files = array();
foreach( OC_Files::getdirectorycontent( $dir ) as $i ) {
foreach( \OC\Files\Filesystem::getDirectoryContent( $dir ) as $i ) {
$i["date"] = OCP\Util::formatDate($i["mtime"] );
$files[] = $i;
}

View file

@ -7,19 +7,23 @@ OCP\JSON::checkLoggedIn();
OCP\JSON::callCheck();
// Get data
$dir = stripslashes($_GET["dir"]);
$file = stripslashes($_GET["file"]);
$target = stripslashes(rawurldecode($_GET["target"]));
$dir = stripslashes($_POST["dir"]);
$file = stripslashes($_POST["file"]);
$target = stripslashes(rawurldecode($_POST["target"]));
$l=OC_L10N::get('files');
if(OC_Filesystem::file_exists($target . '/' . $file)) {
OCP\JSON::error(array("data" => array( "message" => $l->t("Could not move %s - File with this name already exists", array($file)) )));
if(\OC\Files\Filesystem::file_exists($target . '/' . $file)) {
OCP\JSON::error(array("data" => array( "message" => "Could not move $file - File with this name already exists" )));
exit;
}
if(OC_Files::move($dir, $file, $target, $file)) {
OCP\JSON::success(array("data" => array( "dir" => $dir, "files" => $file )));
} else {
OCP\JSON::error(array("data" => array( "message" => $l->t("Could not move %s", array($file)) )));
if ($dir != '' || $file != 'Shared') {
$targetFile = \OC\Files\Filesystem::normalizePath($target . '/' . $file);
$sourceFile = \OC\Files\Filesystem::normalizePath($dir . '/' . $file);
if(\OC\Files\Filesystem::rename($sourceFile, $targetFile)) {
OCP\JSON::success(array("data" => array( "dir" => $dir, "files" => $file )));
} else {
OCP\JSON::error(array("data" => array( "message" => "Could not move $file" )));
}
}else{
OCP\JSON::error(array("data" => array( "message" => "Could not move $file" )));
}

View file

@ -63,13 +63,12 @@ if($source) {
$ctx = stream_context_create(null, array('notification' =>'progress'));
$sourceStream=fopen($source, 'rb', false, $ctx);
$target=$dir.'/'.$filename;
$result=OC_Filesystem::file_put_contents($target, $sourceStream);
$result=\OC\Files\Filesystem::file_put_contents($target, $sourceStream);
if($result) {
$target = OC_Filesystem::normalizePath($target);
$meta = OC_FileCache::get($target);
$meta = \OC\Files\Filesystem::getFileInfo($target);
$mime=$meta['mimetype'];
$id = OC_FileCache::getId($target);
$eventSource->send('success', array('mime'=>$mime, 'size'=>OC_Filesystem::filesize($target), 'id' => $id));
$id = $meta['fileid'];
$eventSource->send('success', array('mime'=>$mime, 'size'=>\OC\Files\Filesystem::filesize($target), 'id' => $id));
} else {
$eventSource->send('error', "Error while downloading ".$source. ' to '.$target);
}
@ -77,15 +76,15 @@ if($source) {
exit();
} else {
if($content) {
if(OC_Filesystem::file_put_contents($dir.'/'.$filename, $content)) {
$meta = OC_FileCache::get($dir.'/'.$filename);
$id = OC_FileCache::getId($dir.'/'.$filename);
if(\OC\Files\Filesystem::file_put_contents($dir.'/'.$filename, $content)) {
$meta = \OC\Files\Filesystem::getFileInfo($dir.'/'.$filename);
$id = $meta['fileid'];
OCP\JSON::success(array("data" => array('content'=>$content, 'id' => $id)));
exit();
}
}elseif(OC_Files::newFile($dir, $filename, 'file')) {
$meta = OC_FileCache::get($dir.'/'.$filename);
$id = OC_FileCache::getId($dir.'/'.$filename);
}elseif(\OC\Files\Filesystem::touch($dir . '/' . $filename)) {
$meta = \OC\Files\Filesystem::getFileInfo($dir.'/'.$filename);
$id = $meta['fileid'];
OCP\JSON::success(array("data" => array('content'=>$content, 'id' => $id)));
exit();
}

View file

@ -19,13 +19,14 @@ if(strpos($foldername, '/')!==false) {
exit();
}
if(OC_Files::newFile($dir, stripslashes($foldername), 'dir')) {
if(\OC\Files\Filesystem::mkdir($dir . '/' . stripslashes($foldername))) {
if ( $dir != '/') {
$path = $dir.'/'.$foldername;
} else {
$path = '/'.$foldername;
}
$id = OC_FileCache::getId($path);
$meta = \OC\Files\Filesystem::getFileInfo($path);
$id = $meta['fileid'];
OCP\JSON::success(array("data" => array('id'=>$id)));
exit();
}

View file

@ -15,7 +15,7 @@ $mimetype = isset($_GET['mimetype']) ? $_GET['mimetype'] : '';
// make filelist
$files = array();
foreach( OC_Files::getdirectorycontent( $dir, $mimetype ) as $i ) {
foreach( \OC\Files\Filesystem::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;

View file

@ -11,10 +11,14 @@ $dir = stripslashes($_GET["dir"]);
$file = stripslashes($_GET["file"]);
$newname = stripslashes($_GET["newname"]);
// Delete
if( $newname !== '.' and OC_Files::move( $dir, $file, $dir, $newname )) {
OCP\JSON::success(array("data" => array( "dir" => $dir, "file" => $file, "newname" => $newname )));
} else {
$l=OC_L10N::get('files');
OCP\JSON::error(array("data" => array( "message" => $l->t("Unable to rename file") )));
if ( $newname !== '.' and ($dir != '' || $file != 'Shared') and $newname !== '.') {
$targetFile = \OC\Files\Filesystem::normalizePath($dir . '/' . $newname);
$sourceFile = \OC\Files\Filesystem::normalizePath($dir . '/' . $file);
if(\OC\Files\Filesystem::rename($sourceFile, $targetFile)) {
OCP\JSON::success(array("data" => array( "dir" => $dir, "file" => $file, "newname" => $newname )));
} else {
OCP\JSON::error(array("data" => array( "message" => "Unable to rename file" )));
}
}else{
OCP\JSON::error(array("data" => array( "message" => "Unable to rename file" )));
}

View file

@ -1,44 +1,71 @@
<?php
set_time_limit(0);//scanning can take ages
$force=isset($_GET['force']) and $_GET['force']=='true';
$dir=isset($_GET['dir'])?$_GET['dir']:'';
$checkOnly=isset($_GET['checkonly']) and $_GET['checkonly']=='true';
$eventSource=false;
if(!$checkOnly) {
$eventSource=new OC_EventSource();
}
set_time_limit(0); //scanning can take ages
session_write_close();
//create the file cache if necessary
if($force or !OC_FileCache::inCache('')) {
if(!$checkOnly) {
OCP\DB::beginTransaction();
$force = (isset($_GET['force']) and ($_GET['force'] === 'true'));
$dir = isset($_GET['dir']) ? $_GET['dir'] : '';
if(OC_Cache::isFast()) {
OC_Cache::clear('fileid/'); //make sure the old fileid's don't mess things up
$eventSource = new OC_EventSource();
ScanListener::$eventSource = $eventSource;
ScanListener::$view = \OC\Files\Filesystem::getView();
OC_Hook::connect('\OC\Files\Cache\Scanner', 'scan_folder', 'ScanListener', 'folder');
OC_Hook::connect('\OC\Files\Cache\Scanner', 'scan_file', 'ScanListener', 'file');
$absolutePath = \OC\Files\Filesystem::getView()->getAbsolutePath($dir);
$mountPoints = \OC\Files\Filesystem::getMountPoints($absolutePath);
$mountPoints[] = \OC\Files\Filesystem::getMountPoint($absolutePath);
$mountPoints = array_reverse($mountPoints); //start with the mount point of $dir
foreach ($mountPoints as $mountPoint) {
$storage = \OC\Files\Filesystem::getStorage($mountPoint);
if ($storage) {
ScanListener::$mountPoints[$storage->getId()] = $mountPoint;
$scanner = $storage->getScanner();
if ($force) {
$scanner->scan('');
} else {
$scanner->backgroundScan();
}
OC_FileCache::scan($dir, $eventSource);
OC_FileCache::clean();
OCP\DB::commit();
$eventSource->send('success', true);
} else {
OCP\JSON::success(array('data'=>array('done'=>true)));
exit;
}
} else {
if($checkOnly) {
OCP\JSON::success(array('data'=>array('done'=>false)));
exit;
}
if(isset($eventSource)) {
$eventSource->send('success', false);
} else {
exit;
}
}
$eventSource->send('done', ScanListener::$fileCount);
$eventSource->close();
class ScanListener {
static public $fileCount = 0;
static public $lastCount = 0;
/**
* @var \OC\Files\View $view
*/
static public $view;
/**
* @var array $mountPoints map storage ids to mountpoints
*/
static public $mountPoints = array();
/**
* @var \OC_EventSource event source to pass events to
*/
static public $eventSource;
static function folder($params) {
$internalPath = $params['path'];
$mountPoint = self::$mountPoints[$params['storage']];
$path = self::$view->getRelativePath($mountPoint . $internalPath);
self::$eventSource->send('folder', $path);
}
static function file() {
self::$fileCount++;
if (self::$fileCount > self::$lastCount + 20) { //send a count update every 20 files
self::$lastCount = self::$fileCount;
self::$eventSource->send('count', self::$fileCount);
}
}
}

View file

@ -0,0 +1,44 @@
<?php
set_time_limit(0); //scanning can take ages
session_write_close();
$user = OC_User::getUser();
$eventSource = new OC_EventSource();
$listener = new UpgradeListener($eventSource);
$legacy = new \OC\Files\Cache\Legacy($user);
if ($legacy->hasItems()) {
OC_Hook::connect('\OC\Files\Cache\Upgrade', 'migrate_path', $listener, 'upgradePath');
OC_DB::beginTransaction();
$upgrade = new \OC\Files\Cache\Upgrade($legacy);
$count = $legacy->getCount();
$eventSource->send('total', $count);
$upgrade->upgradePath('/' . $user . '/files');
OC_DB::commit();
}
\OC\Files\Cache\Upgrade::upgradeDone($user);
$eventSource->send('done', true);
$eventSource->close();
class UpgradeListener {
/**
* @var OC_EventSource $eventSource
*/
private $eventSource;
private $count = 0;
private $lastSend = 0;
public function __construct($eventSource) {
$this->eventSource = $eventSource;
}
public function upgradePath($path) {
$this->count++;
if ($this->count > ($this->lastSend + 5)) {
$this->lastSend = $this->count;
$this->eventSource->send('count', $this->count);
}
}
}

View file

@ -21,13 +21,13 @@ if (!isset($_FILES['files'])) {
foreach ($_FILES['files']['error'] as $error) {
if ($error != 0) {
$errors = array(
UPLOAD_ERR_OK => $l->t('There is no error, the file uploaded with success'),
UPLOAD_ERR_INI_SIZE => $l->t('The uploaded file exceeds the upload_max_filesize directive in php.ini: ')
UPLOAD_ERR_OK => $l->t('There is no error, the file uploaded with success'),
UPLOAD_ERR_INI_SIZE => $l->t('The uploaded file exceeds the upload_max_filesize directive in php.ini: ')
. ini_get('upload_max_filesize'),
UPLOAD_ERR_FORM_SIZE => $l->t('The uploaded file exceeds the MAX_FILE_SIZE directive that was specified'
UPLOAD_ERR_FORM_SIZE => $l->t('The uploaded file exceeds the MAX_FILE_SIZE directive that was specified'
. ' in the HTML form'),
UPLOAD_ERR_PARTIAL => $l->t('The uploaded file was only partially uploaded'),
UPLOAD_ERR_NO_FILE => $l->t('No file was uploaded'),
UPLOAD_ERR_PARTIAL => $l->t('The uploaded file was only partially uploaded'),
UPLOAD_ERR_NO_FILE => $l->t('No file was uploaded'),
UPLOAD_ERR_NO_TMP_DIR => $l->t('Missing a temporary folder'),
UPLOAD_ERR_CANT_WRITE => $l->t('Failed to write to disk'),
);
@ -40,12 +40,17 @@ $files = $_FILES['files'];
$dir = $_POST['dir'];
$error = '';
$maxUploadFilesize = OCP\Util::maxUploadFilesize($dir);
$maxHumanFilesize = OCP\Util::humanFileSize($maxUploadFilesize);
$totalSize = 0;
foreach ($files['size'] as $size) {
$totalSize += $size;
}
if ($totalSize > OC_Filesystem::free_space($dir)) {
OCP\JSON::error(array('data' => array_merge(array('message' => $l->t('Not enough storage available')), $storageStats)));
if ($totalSize > \OC\Files\Filesystem::free_space($dir)) {
OCP\JSON::error(array('data' => array('message' => $l->t('Not enough space available'),
'uploadMaxFilesize' => $maxUploadFilesize,
'maxHumanFilesize' => $maxHumanFilesize)));
exit();
}
@ -55,19 +60,19 @@ if (strpos($dir, '..') === false) {
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_Filesystem::normalizePath($target);
if (is_uploaded_file($files['tmp_name'][$i]) and OC_Filesystem::fromTmpFile($files['tmp_name'][$i], $target)) {
$meta = OC_FileCache::get($target);
$id = OC_FileCache::getId($target);
$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_merge(array('status' => 'success',
'mime' => $meta['mimetype'],
'size' => $meta['size'],
'id' => $id,
'name' => basename($target)), $storageStats
$result[] = array('status' => 'success',
'mime' => $meta['mimetype'],
'size' => $meta['size'],
'id' => $meta['fileid'],
'name' => basename($target),
'uploadMaxFilesize' => $maxUploadFilesize,
'maxHumanFilesize' => $maxHumanFilesize
);
}
}

View file

@ -1,5 +1,5 @@
<?php
$l=OC_L10N::get('files');
$l = OC_L10N::get('files');
OCP\App::registerAdmin('files', 'admin');

View file

@ -43,7 +43,7 @@ if ($type != 'oc_chunked') {
die;
}
if (!OC_Filesystem::is_file($file)) {
if (!\OC\Files\Filesystem::is_file($file)) {
OC_Response::setStatus(OC_Response::STATUS_NOT_FOUND);
die;
}
@ -51,7 +51,7 @@ if (!OC_Filesystem::is_file($file)) {
switch($_SERVER['REQUEST_METHOD']) {
case 'PUT':
$input = fopen("php://input", "r");
$org_file = OC_Filesystem::fopen($file, 'rb');
$org_file = \OC\Files\Filesystem::fopen($file, 'rb');
$info = array(
'name' => basename($file),
);

View file

@ -5,7 +5,7 @@
<description>File Management</description>
<licence>AGPL</licence>
<author>Robin Appelman</author>
<require>4.9</require>
<require>4.91</require>
<shipped>true</shipped>
<standalone/>
<default_enable/>

View file

@ -32,12 +32,14 @@ OC_Util::obEnd();
// Backends
$authBackend = new OC_Connector_Sabre_Auth();
$lockBackend = new OC_Connector_Sabre_Locks();
$requestBackend = new OC_Connector_Sabre_Request();
// Create ownCloud Dir
$publicDir = new OC_Connector_Sabre_Directory('');
// Fire up server
$server = new Sabre_DAV_Server($publicDir);
$server->httpRequest = $requestBackend;
$server->setBaseUri($baseuri);
// Load plugins

View file

@ -1 +1 @@
1.1.6
1.1.7

View file

@ -23,7 +23,9 @@
#new>ul>li>p { cursor:pointer; }
#new>ul>li>form>input { padding:0.3em; margin:-0.3em; }
#upload {
#trash { height:17px; margin:0 0 0 1em; z-index:1010; position:absolute; right:13.5em; }
#upload {
height:27px; padding:0; margin-left:0.2em; overflow:hidden;
}
#upload a {
@ -109,6 +111,7 @@ table td.filename form { font-size:.85em; margin-left:3em; margin-right:3em; }
}
#fileList .fileactions a.action img { position:relative; top:.2em; }
#fileList a.action { display:inline; margin:-.5em 0; padding:1em .5em 1em .5em !important; }
#fileList img.move2trash { display:inline; margin:-.5em 0; padding:1em .5em 1em .5em !important; float:right; }
a.action.delete { float:right; }
a.action>img { max-height:16px; max-width:16px; vertical-align:text-bottom; }
.selectedActions { display:none; float:right; }
@ -122,3 +125,22 @@ a.action>img { max-height:16px; max-width:16px; vertical-align:text-bottom; }
#scanning-message{ top:40%; left:40%; position:absolute; display:none; }
div.crumb a{ padding:0.9em 0 0.7em 0; }
table.dragshadow {
width:auto;
}
table.dragshadow td.filename {
padding-left:36px;
padding-right:16px;
}
table.dragshadow td.size {
padding-right:8px;
}
#upgrade {
width: 400px;
position: absolute;
top: 200px;
left: 50%;
text-align: center;
margin-left: -200px;
}

View file

@ -26,7 +26,7 @@ OCP\User::checkLoggedIn();
$filename = $_GET["file"];
if(!OC_Filesystem::file_exists($filename)) {
if(!\OC\Files\Filesystem::file_exists($filename)) {
header("HTTP/1.0 404 Not Found");
$tmpl = new OCP\Template( '', '404', 'guest' );
$tmpl->assign('file', $filename);
@ -34,7 +34,7 @@ if(!OC_Filesystem::file_exists($filename)) {
exit;
}
$ftype=OC_Filesystem::getMimeType( $filename );
$ftype=\OC\Files\Filesystem::getMimeType( $filename );
header('Content-Type:'.$ftype);
if ( preg_match( "/MSIE/", $_SERVER["HTTP_USER_AGENT"] ) ) {
@ -44,7 +44,7 @@ if ( preg_match( "/MSIE/", $_SERVER["HTTP_USER_AGENT"] ) ) {
. '; filename="' . rawurlencode( basename($filename) ) . '"' );
}
OCP\Response::disableCaching();
header('Content-Length: '.OC_Filesystem::filesize($filename));
header('Content-Length: '.\OC\Files\Filesystem::filesize($filename));
OC_Util::obEnd();
OC_Filesystem::readfile( $filename );
\OC\Files\Filesystem::readfile( $filename );

View file

@ -29,22 +29,39 @@ OCP\Util::addStyle('files', 'files');
OCP\Util::addscript('files', 'jquery.iframe-transport');
OCP\Util::addscript('files', 'jquery.fileupload');
OCP\Util::addscript('files', 'jquery-visibility');
OCP\Util::addscript('files', 'files');
OCP\Util::addscript('files', 'filelist');
OCP\Util::addscript('files', 'fileactions');
OCP\Util::addscript('files', 'keyboardshortcuts');
OCP\App::setActiveNavigationEntry('files_index');
// Load the files
$dir = isset($_GET['dir']) ? stripslashes($_GET['dir']) : '';
// Redirect if directory does not exist
if (!OC_Filesystem::is_dir($dir . '/')) {
header('Location: ' . $_SERVER['SCRIPT_NAME'] . '');
if (!\OC\Files\Filesystem::is_dir($dir . '/')) {
header('Location: ' . OCP\Util::getScriptName() . '');
exit();
}
function fileCmp($a, $b) {
if ($a['type'] == 'dir' and $b['type'] != 'dir') {
return -1;
} elseif ($a['type'] != 'dir' and $b['type'] == 'dir') {
return 1;
} else {
return strnatcasecmp($a['name'], $b['name']);
}
}
$files = array();
foreach (OC_Files::getdirectorycontent($dir) as $i) {
$user = OC_User::getUser();
if (\OC\Files\Cache\Upgrade::needUpgrade($user)) { //dont load anything if we need to upgrade the cache
$content = array();
$needUpgrade = true;
$freeSpace = 0;
} else {
$content = \OC\Files\Filesystem::getDirectoryContent($dir);
$freeSpace = \OC\Files\Filesystem::free_space($dir);
$needUpgrade = false;
}
foreach ($content as $i) {
$i['date'] = OCP\Util::formatDate($i['mtime']);
if ($i['type'] == 'file') {
$fileinfo = pathinfo($i['name']);
@ -55,12 +72,12 @@ foreach (OC_Files::getdirectorycontent($dir) as $i) {
$i['extension'] = '';
}
}
if ($i['directory'] == '/') {
$i['directory'] = '';
}
$i['directory'] = $dir;
$files[] = $i;
}
usort($files, "fileCmp");
// Make breadcrumb
$breadcrumb = array();
$pathtohere = '';
@ -81,34 +98,43 @@ $breadcrumbNav = new OCP\Template('files', 'part.breadcrumb', '');
$breadcrumbNav->assign('breadcrumb', $breadcrumb, false);
$breadcrumbNav->assign('baseURL', OCP\Util::linkTo('files', 'index.php') . '?dir=', false);
$maxUploadFilesize=OCP\Util::maxUploadFilesize($dir);
$permissions = OCP\PERMISSION_READ;
if (OC_Filesystem::isCreatable($dir . '/')) {
if (\OC\Files\Filesystem::isCreatable($dir . '/')) {
$permissions |= OCP\PERMISSION_CREATE;
}
if (OC_Filesystem::isUpdatable($dir . '/')) {
if (\OC\Files\Filesystem::isUpdatable($dir . '/')) {
$permissions |= OCP\PERMISSION_UPDATE;
}
if (OC_Filesystem::isDeletable($dir . '/')) {
if (\OC\Files\Filesystem::isDeletable($dir . '/')) {
$permissions |= OCP\PERMISSION_DELETE;
}
if (OC_Filesystem::isSharable($dir . '/')) {
if (\OC\Files\Filesystem::isSharable($dir . '/')) {
$permissions |= OCP\PERMISSION_SHARE;
}
// information about storage capacities
$storageInfo=OC_Helper::getStorageInfo();
if ($needUpgrade) {
OCP\Util::addscript('files', 'upgrade');
$tmpl = new OCP\Template('files', 'upgrade', 'user');
$tmpl->printPage();
} else {
// information about storage capacities
$storageInfo=OC_Helper::getStorageInfo();
$maxUploadFilesize=OCP\Util::maxUploadFilesize($dir);
$tmpl = new OCP\Template('files', 'index', 'user');
$tmpl->assign('fileList', $list->fetchPage(), false);
$tmpl->assign('breadcrumb', $breadcrumbNav->fetchPage(), false);
$tmpl->assign('dir', OC_Filesystem::normalizePath($dir));
$tmpl->assign('isCreatable', OC_Filesystem::isCreatable($dir . '/'));
$tmpl->assign('permissions', $permissions);
$tmpl->assign('files', $files);
$tmpl->assign('uploadMaxFilesize', $maxUploadFilesize);
$tmpl->assign('uploadMaxHumanFilesize', OCP\Util::humanFileSize($maxUploadFilesize));
$tmpl->assign('allowZipDownload', intval(OCP\Config::getSystemValue('allowZipDownload', true)));
$tmpl->assign('usedSpacePercent', (int)$storageInfo['relative']);
$tmpl->printPage();
OCP\Util::addscript('files', 'fileactions');
OCP\Util::addscript('files', 'files');
OCP\Util::addscript('files', 'keyboardshortcuts');
$tmpl = new OCP\Template('files', 'index', 'user');
$tmpl->assign('fileList', $list->fetchPage(), false);
$tmpl->assign('breadcrumb', $breadcrumbNav->fetchPage(), false);
$tmpl->assign('dir', \OC\Files\Filesystem::normalizePath($dir));
$tmpl->assign('isCreatable', \OC\Files\Filesystem::isCreatable($dir . '/'));
$tmpl->assign('permissions', $permissions);
$tmpl->assign('files', $files);
$tmpl->assign('trash', \OCP\App::isEnabled('files_trashbin'));
$tmpl->assign('uploadMaxFilesize', $maxUploadFilesize);
$tmpl->assign('uploadMaxHumanFilesize', OCP\Util::humanFileSize($maxUploadFilesize));
$tmpl->assign('allowZipDownload', intval(OCP\Config::getSystemValue('allowZipDownload', true)));
$tmpl->assign('usedSpacePercent', (int)$storageInfo['relative']);
$tmpl->printPage();
}

View file

@ -147,15 +147,19 @@ $(document).ready(function () {
} else {
var downloadScope = 'file';
}
FileActions.register(downloadScope, 'Download', OC.PERMISSION_READ, function () {
return OC.imagePath('core', 'actions/download');
}, function (filename) {
window.location = OC.filePath('files', 'ajax', 'download.php') + '?files=' + encodeURIComponent(filename) + '&dir=' + encodeURIComponent($('#dir').val());
});
if (typeof disableDownloadActions == 'undefined' || !disableDownloadActions) {
FileActions.register(downloadScope, 'Download', OC.PERMISSION_READ, function () {
return OC.imagePath('core', 'actions/download');
}, function (filename) {
window.location = OC.filePath('files', 'ajax', 'download.php') + '?files=' + encodeURIComponent(filename) + '&dir=' + encodeURIComponent($('#dir').val());
});
}
$('#fileList tr').each(function(){
FileActions.display($(this).children('td.filename'));
});
});
FileActions.register('all', 'Delete', OC.PERMISSION_DELETE, function () {
@ -185,6 +189,7 @@ FileActions.register('all', 'Rename', OC.PERMISSION_UPDATE, function () {
FileList.rename(filename);
});
FileActions.register('dir', 'Open', OC.PERMISSION_READ, '', function (filename) {
window.location = OC.linkTo('files', 'index.php') + '?dir=' + encodeURIComponent($('#dir').val()).replace(/%2F/g, '/') + '/' + encodeURIComponent(filename);
});

View file

@ -271,65 +271,39 @@ var FileList={
}
},
do_delete:function(files){
if(files.substr){
files=[files];
}
for (var i in files) {
var deleteAction = $('tr').filterAttr('data-file',files[i]).children("td.date").children(".action.delete");
var oldHTML = deleteAction[0].outerHTML;
var newHTML = '<img class="move2trash" data-action="Delete" title="'+t('files', 'perform delete operation')+'" src="'+ OC.imagePath('core', 'loading.gif') +'"></a>';
deleteAction[0].outerHTML = newHTML;
}
// Finish any existing actions
if (FileList.lastAction) {
FileList.lastAction();
}
FileList.prepareDeletion(files);
if (!FileList.useUndo) {
FileList.lastAction();
} else {
// NOTE: Temporary fix to change the text to unshared for files in root of Shared folder
if ($('#dir').val() == '/Shared') {
OC.Notification.showHtml(t('files', 'unshared {files}', {'files': escapeHTML(files)})+'<span class="undo">'+t('files', 'undo')+'</span>');
} else {
OC.Notification.showHtml(t('files', 'deleted {files}', {'files': escapeHTML(files)})+'<span class="undo">'+t('files', 'undo')+'</span>');
}
}
},
finishDelete:function(ready,sync){
if(!FileList.deleteCanceled && FileList.deleteFiles){
var fileNames=JSON.stringify(FileList.deleteFiles);
$.ajax({
url: OC.filePath('files', 'ajax', 'delete.php'),
async:!sync,
type:'post',
data: {dir:$('#dir').val(),files:fileNames},
complete: function(data){
boolOperationFinished(data, function(){
OC.Notification.hide();
$.each(FileList.deleteFiles,function(index,file){
FileList.remove(file);
var fileNames = JSON.stringify(files);
$.post(OC.filePath('files', 'ajax', 'delete.php'),
{dir:$('#dir').val(),files:fileNames},
function(result){
if (result.status == 'success') {
$.each(files,function(index,file){
var files = $('tr').filterAttr('data-file',file);
files.hide();
files.find('input[type="checkbox"]').removeAttr('checked');
files.removeClass('selected');
});
FileList.deleteCanceled=true;
FileList.deleteFiles=null;
FileList.lastAction = null;
if(ready){
ready();
}
});
}
});
}
},
prepareDeletion:function(files){
if(files.substr){
files=[files];
}
$.each(files,function(index,file){
var files = $('tr').filterAttr('data-file',file);
files.hide();
files.find('input[type="checkbox"]').removeAttr('checked');
files.removeClass('selected');
});
procesSelection();
FileList.deleteCanceled=false;
FileList.deleteFiles=files;
FileList.lastAction = function() {
FileList.finishDelete(null, true);
};
procesSelection();
} else {
$.each(files,function(index,file) {
var deleteAction = $('tr').filterAttr('data-file',file).children("td.date").children(".move2trash");
deleteAction[0].outerHTML = oldHTML;
});
}
});
}
};

View file

@ -114,6 +114,11 @@ $(document).ready(function() {
$(this).parent().children('#file_upload_start').trigger('click');
return false;
});
// Show trash bin
$('#trash a').live('click', function() {
window.location=OC.filePath('files_trashbin', '', 'index.php');
});
var lastChecked;
@ -670,12 +675,8 @@ $(document).ready(function() {
});
});
//check if we need to scan the filesystem
$.get(OC.filePath('files','ajax','scan.php'),{checkonly:'true'}, function(response) {
if(response.data.done){
scanFiles();
}
}, "json");
//do a background scan if needed
scanFiles();
var lastWidth = 0;
var breadcrumbs = [];
@ -774,27 +775,23 @@ $(document).ready(function() {
}
});
function scanFiles(force,dir){
function scanFiles(force, dir){
if(!dir){
dir='';
dir = '';
}
force=!!force; //cast to bool
scanFiles.scanning=true;
$('#scanning-message').show();
$('#fileList').remove();
var scannerEventSource=new OC.EventSource(OC.filePath('files','ajax','scan.php'),{force:force,dir:dir});
scanFiles.cancel=scannerEventSource.close.bind(scannerEventSource);
scannerEventSource.listen('scanning',function(data){
$('#scan-count').text(t('files', '{count} files scanned', {count: data.count}));
$('#scan-current').text(data.file+'/');
force = !!force; //cast to bool
scanFiles.scanning = true;
var scannerEventSource = new OC.EventSource(OC.filePath('files','ajax','scan.php'),{force:force,dir:dir});
scanFiles.cancel = scannerEventSource.close.bind(scannerEventSource);
scannerEventSource.listen('count',function(count){
console.log(count + 'files scanned')
});
scannerEventSource.listen('success',function(success){
scannerEventSource.listen('folder',function(path){
console.log('now scanning ' + path)
});
scannerEventSource.listen('done',function(count){
scanFiles.scanning=false;
if(success){
window.location.reload();
}else{
alert(t('files', 'error while scanning'));
}
console.log('done after ' + count + 'files');
});
}
scanFiles.scanning=false;
@ -813,32 +810,101 @@ function updateBreadcrumb(breadcrumbHtml) {
$('p.nav').empty().html(breadcrumbHtml);
}
//options for file drag/dropp
var createDragShadow = function(event){
//select dragged file
var isDragSelected = $(event.target).parents('tr').find('td input:first').prop('checked');
if (!isDragSelected) {
//select dragged file
$(event.target).parents('tr').find('td input:first').prop('checked',true);
}
var selectedFiles = getSelectedFiles();
if (!isDragSelected && selectedFiles.length == 1) {
//revert the selection
$(event.target).parents('tr').find('td input:first').prop('checked',false);
}
//also update class when we dragged more than one file
if (selectedFiles.length > 1) {
$(event.target).parents('tr').addClass('selected');
}
// build dragshadow
var dragshadow = $('<table class="dragshadow"></table>');
var tbody = $('<tbody></tbody>');
dragshadow.append(tbody);
var dir=$('#dir').val();
$(selectedFiles).each(function(i,elem){
var newtr = $('<tr data-dir="'+dir+'" data-filename="'+elem.name+'">'
+'<td class="filename">'+elem.name+'</td><td class="size">'+humanFileSize(elem.size)+'</td>'
+'</tr>');
tbody.append(newtr);
if (elem.type === 'dir') {
newtr.find('td.filename').attr('style','background-image:url('+OC.imagePath('core', 'filetypes/folder.png')+')');
} else {
getMimeIcon(elem.mime,function(path){
newtr.find('td.filename').attr('style','background-image:url('+path+')');
});
}
});
return dragshadow;
}
//options for file drag/drop
var dragOptions={
distance: 20, revert: 'invalid', opacity: 0.7, helper: 'clone',
revert: 'invalid', revertDuration: 300,
opacity: 0.7, zIndex: 100, appendTo: 'body', cursorAt: { left: -5, top: -5 },
helper: createDragShadow, cursor: 'move',
stop: function(event, ui) {
$('#fileList tr td.filename').addClass('ui-draggable');
}
};
}
var folderDropOptions={
drop: function( event, ui ) {
var file=ui.draggable.parent().data('file');
var target=$(this).find('.nametext').text().trim();
var dir=$('#dir').val();
$.ajax({
url: OC.filePath('files', 'ajax', 'move.php'),
data: "dir="+encodeURIComponent(dir)+"&file="+encodeURIComponent(file)+'&target='+encodeURIComponent(dir)+'/'+encodeURIComponent(target),
complete: function(data){boolOperationFinished(data, function(){
var el = $('#fileList tr').filterAttr('data-file',file).find('td.filename');
el.draggable('destroy');
FileList.remove(file);
});}
//don't allow moving a file into a selected folder
if ($(event.target).parents('tr').find('td input:first').prop('checked') === true) {
return false;
}
var target=$.trim($(this).find('.nametext').text());
var files = ui.helper.find('tr');
$(files).each(function(i,row){
var dir = $(row).data('dir');
var file = $(row).data('filename');
$.post(OC.filePath('files', 'ajax', 'move.php'), { dir: dir, file: file, target: dir+'/'+target }, function(result) {
if (result) {
if (result.status === 'success') {
//recalculate folder size
var oldSize = $('#fileList tr').filterAttr('data-file',target).data('size');
var newSize = oldSize + $('#fileList tr').filterAttr('data-file',file).data('size');
$('#fileList tr').filterAttr('data-file',target).data('size', newSize);
$('#fileList tr').filterAttr('data-file',target).find('td.filesize').text(humanFileSize(newSize));
FileList.remove(file);
procesSelection();
$('#notification').hide();
} else {
$('#notification').hide();
$('#notification').text(result.data.message);
$('#notification').fadeIn();
}
} else {
OC.dialogs.alert(t('Error moving file'));
}
});
});
}
},
tolerance: 'pointer'
}
var crumbDropOptions={
drop: function( event, ui ) {
var file=ui.draggable.parent().data('file');
var target=$(this).data('dir');
var dir=$('#dir').val();
while(dir.substr(0,1)=='/'){//remove extra leading /'s
@ -851,12 +917,25 @@ var crumbDropOptions={
if(target==dir || target+'/'==dir){
return;
}
$.ajax({
url: OC.filePath('files', 'ajax', 'move.php'),
data: "dir="+encodeURIComponent(dir)+"&file="+encodeURIComponent(file)+'&target='+encodeURIComponent(target),
complete: function(data){boolOperationFinished(data, function(){
FileList.remove(file);
});}
var files = ui.helper.find('tr');
$(files).each(function(i,row){
var dir = $(row).data('dir');
var file = $(row).data('filename');
$.post(OC.filePath('files', 'ajax', 'move.php'), { dir: dir, file: file, target: target }, function(result) {
if (result) {
if (result.status === 'success') {
FileList.remove(file);
procesSelection();
$('#notification').hide();
} else {
$('#notification').hide();
$('#notification').text(result.data.message);
$('#notification').fadeIn();
}
} else {
OC.dialogs.alert(t('Error moving file'));
}
});
});
},
tolerance: 'pointer'
@ -963,7 +1042,7 @@ function getUniqueName(name){
num=parseInt(numMatch[numMatch.length-1])+1;
base=base.split('(')
base.pop();
base=base.join('(').trim();
base=$.trim(base.join('('));
}
name=base+' ('+num+')';
if (extension) {

17
apps/files/js/upgrade.js Normal file
View file

@ -0,0 +1,17 @@
$(document).ready(function () {
var eventSource, total, bar = $('#progressbar');
console.log('start');
bar.progressbar({value: 0});
eventSource = new OC.EventSource(OC.filePath('files', 'ajax', 'upgrade.php'));
eventSource.listen('total', function (count) {
total = count;
console.log(count + ' files needed to be migrated');
});
eventSource.listen('count', function (count) {
bar.progressbar({value: (count / total) * 100});
console.log(count);
});
eventSource.listen('done', function () {
document.location.reload();
});
});

8
apps/files/js/upload.js Normal file
View file

@ -0,0 +1,8 @@
function Upload(fileSelector) {
if ($.support.xhrFileUpload) {
return new XHRUpload(fileSelector.target.files);
} else {
return new FormUpload(fileSelector);
}
}
Upload.target = OC.filePath('files', 'ajax', 'upload.php');

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "%s কে স্থানান্তর করা সম্ভব হলো না - এই নামের ফাইল বিদ্যমান",
"Could not move %s" => "%s কে স্থানান্তর করা সম্ভব হলো না",
"Unable to rename file" => "ফাইলের নাম পরিবর্তন করা সম্ভব হলো না",
"No file was uploaded. Unknown error" => "কোন ফাইল আপলোড করা হয় নি। সমস্যা অজ্ঞাত।",
"There is no error, the file uploaded with success" => "কোন সমস্যা নেই, ফাইল আপলোড সুসম্পন্ন হয়েছে",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "আপলোড করা ফাইলটি php.ini তে বর্ণিত upload_max_filesize নির্দেশিত আয়তন অতিক্রম করছেঃ",
@ -10,6 +7,7 @@
"No file was uploaded" => "কোন ফাইল আপলোড করা হয় নি",
"Missing a temporary folder" => "অস্থায়ী ফোল্ডার খোয়া গিয়েছে",
"Failed to write to disk" => "ডিস্কে লিখতে ব্যর্থ",
"Not enough space available" => "যথেষ্ঠ পরিমাণ স্থান নেই",
"Invalid directory." => "ভুল ডিরেক্টরি",
"Files" => "ফাইল",
"Unshare" => "ভাগাভাগি বাতিল ",
@ -22,8 +20,6 @@
"replaced {new_name}" => "{new_name} প্রতিস্থাপন করা হয়েছে",
"undo" => "ক্রিয়া প্রত্যাহার",
"replaced {new_name} with {old_name}" => "{new_name} কে {old_name} নামে প্রতিস্থাপন করা হয়েছে",
"unshared {files}" => "{files} ভাগাভাগি বাতিল কর",
"deleted {files}" => "{files} মুছে ফেলা হয়েছে",
"'.' is an invalid file name." => "টি একটি অননুমোদিত নাম।",
"File name cannot be empty." => "ফাইলের নামটি ফাঁকা রাখা যাবে না।",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "নামটি সঠিক নয়, '\\', '/', '<', '>', ':', '\"', '|', '?' এবং '*' অনুমোদিত নয়।",
@ -37,8 +33,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "ফাইল আপলোড চলমান। এই পৃষ্ঠা পরিত্যাগ করলে আপলোড বাতিল করা হবে।",
"URL cannot be empty." => "URL ফাঁকা রাখা যাবে না।",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "ফোল্ডারের নামটি সঠিক নয়। 'ভাগাভাগি করা' শুধুমাত্র Owncloud এর জন্য সংরক্ষিত।",
"{count} files scanned" => "{count} টি ফাইল স্ক্যান করা হয়েছে",
"error while scanning" => "স্ক্যান করার সময় সমস্যা দেখা দিয়েছে",
"Name" => "নাম",
"Size" => "আকার",
"Modified" => "পরিবর্তিত",

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "No s'ha pogut moure %s - Ja hi ha un fitxer amb aquest nom",
"Could not move %s" => " No s'ha pogut moure %s",
"Unable to rename file" => "No es pot canviar el nom del fitxer",
"No file was uploaded. Unknown error" => "No s'ha carregat cap fitxer. Error desconegut",
"There is no error, the file uploaded with success" => "El fitxer s'ha pujat correctament",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Larxiu que voleu carregar supera el màxim definit en la directiva upload_max_filesize del php.ini:",
@ -10,7 +7,7 @@
"No file was uploaded" => "El fitxer no s'ha pujat",
"Missing a temporary folder" => "S'ha perdut un fitxer temporal",
"Failed to write to disk" => "Ha fallat en escriure al disc",
"Not enough storage available" => "No hi ha prou espai disponible",
"Not enough space available" => "No hi ha prou espai disponible",
"Invalid directory." => "Directori no vàlid.",
"Files" => "Fitxers",
"Unshare" => "Deixa de compartir",
@ -23,8 +20,6 @@
"replaced {new_name}" => "s'ha substituït {new_name}",
"undo" => "desfés",
"replaced {new_name} with {old_name}" => "s'ha substituït {old_name} per {new_name}",
"unshared {files}" => "no compartits {files}",
"deleted {files}" => "eliminats {files}",
"'.' is an invalid file name." => "'.' és un nom no vàlid per un fitxer.",
"File name cannot be empty." => "El nom del fitxer no pot ser buit.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "El nóm no és vàlid, '\\', '/', '<', '>', ':', '\"', '|', '?' i '*' no estan permesos.",
@ -41,8 +36,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Hi ha una pujada en curs. Si abandoneu la pàgina la pujada es cancel·larà.",
"URL cannot be empty." => "La URL no pot ser buida",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nom de carpeta no vàlid. L'ús de 'Shared' està reservat per Owncloud",
"{count} files scanned" => "{count} fitxers escannejats",
"error while scanning" => "error durant l'escaneig",
"Name" => "Nom",
"Size" => "Mida",
"Modified" => "Modificat",
@ -69,5 +62,6 @@
"Upload too large" => "La pujada és massa gran",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Els fitxers que esteu intentant pujar excedeixen la mida màxima de pujada del servidor",
"Files are being scanned, please wait." => "S'estan escanejant els fitxers, espereu",
"Current scanning" => "Actualment escanejant"
"Current scanning" => "Actualment escanejant",
"Upgrading filesystem cache..." => "Actualitzant la memòria de cau del sistema de fitxers..."
);

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "Nelze přesunout %s - existuje soubor se stejným názvem",
"Could not move %s" => "Nelze přesunout %s",
"Unable to rename file" => "Nelze přejmenovat soubor",
"No file was uploaded. Unknown error" => "Soubor nebyl odeslán. Neznámá chyba",
"There is no error, the file uploaded with success" => "Soubor byl odeslán úspěšně",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Odesílaný soubor přesahuje velikost upload_max_filesize povolenou v php.ini:",
@ -10,7 +7,7 @@
"No file was uploaded" => "Žádný soubor nebyl odeslán",
"Missing a temporary folder" => "Chybí adresář pro dočasné soubory",
"Failed to write to disk" => "Zápis na disk selhal",
"Not enough storage available" => "Nedostatek dostupného úložného prostoru",
"Not enough space available" => "Nedostatek dostupného místa",
"Invalid directory." => "Neplatný adresář",
"Files" => "Soubory",
"Unshare" => "Zrušit sdílení",
@ -23,8 +20,6 @@
"replaced {new_name}" => "nahrazeno {new_name}",
"undo" => "zpět",
"replaced {new_name} with {old_name}" => "nahrazeno {new_name} s {old_name}",
"unshared {files}" => "sdílení zrušeno pro {files}",
"deleted {files}" => "smazáno {files}",
"'.' is an invalid file name." => "'.' je neplatným názvem souboru.",
"File name cannot be empty." => "Název souboru nemůže být prázdný řetězec.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Neplatný název, znaky '\\', '/', '<', '>', ':', '\"', '|', '?' a '*' nejsou povoleny.",
@ -41,8 +36,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Probíhá odesílání souboru. Opuštění stránky vyústí ve zrušení nahrávání.",
"URL cannot be empty." => "URL nemůže být prázdná",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Neplatný název složky. Použití 'Shared' je rezervováno pro vnitřní potřeby Owncloud",
"{count} files scanned" => "prozkoumáno {count} souborů",
"error while scanning" => "chyba při prohledávání",
"Name" => "Název",
"Size" => "Velikost",
"Modified" => "Změněno",
@ -69,5 +62,6 @@
"Upload too large" => "Odeslaný soubor je příliš velký",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Soubory, které se snažíte odeslat, překračují limit velikosti odesílání na tomto serveru.",
"Files are being scanned, please wait." => "Soubory se prohledávají, prosím čekejte.",
"Current scanning" => "Aktuální prohledávání"
"Current scanning" => "Aktuální prohledávání",
"Upgrading filesystem cache..." => "Aktualizuji mezipaměť souborového systému..."
);

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "Kunne ikke flytte %s - der findes allerede en fil med dette navn",
"Could not move %s" => "Kunne ikke flytte %s",
"Unable to rename file" => "Kunne ikke omdøbe fil",
"No file was uploaded. Unknown error" => "Ingen fil blev uploadet. Ukendt fejl.",
"There is no error, the file uploaded with success" => "Der er ingen fejl, filen blev uploadet med success",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Den uploadede fil overstiger upload_max_filesize direktivet i php.ini",
@ -10,7 +7,6 @@
"No file was uploaded" => "Ingen fil blev uploadet",
"Missing a temporary folder" => "Mangler en midlertidig mappe",
"Failed to write to disk" => "Fejl ved skrivning til disk.",
"Not enough storage available" => "Der er ikke nok plads til rådlighed",
"Invalid directory." => "Ugyldig mappe.",
"Files" => "Filer",
"Unshare" => "Fjern deling",
@ -23,8 +19,6 @@
"replaced {new_name}" => "erstattede {new_name}",
"undo" => "fortryd",
"replaced {new_name} with {old_name}" => "erstattede {new_name} med {old_name}",
"unshared {files}" => "ikke delte {files}",
"deleted {files}" => "slettede {files}",
"'.' is an invalid file name." => "'.' er et ugyldigt filnavn.",
"File name cannot be empty." => "Filnavnet kan ikke stå tomt.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ugyldigt navn, '\\', '/', '<', '>', ':' | '?', '\"', '', og '*' er ikke tilladt.",
@ -41,8 +35,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Fil upload kører. Hvis du forlader siden nu, vil uploadet blive annuleret.",
"URL cannot be empty." => "URLen kan ikke være tom.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Ugyldigt mappenavn. Brug af \"Shared\" er forbeholdt Owncloud",
"{count} files scanned" => "{count} filer skannet",
"error while scanning" => "fejl under scanning",
"Name" => "Navn",
"Size" => "Størrelse",
"Modified" => "Ændret",

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "Konnte %s nicht verschieben - Datei mit diesem Namen existiert bereits.",
"Could not move %s" => "Konnte %s nicht verschieben",
"Unable to rename file" => "Konnte Datei nicht umbenennen",
"No file was uploaded. Unknown error" => "Keine Datei hochgeladen. Unbekannter Fehler",
"There is no error, the file uploaded with success" => "Datei fehlerfrei hochgeladen.",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Die hochgeladene Datei überschreitet die upload_max_filesize Vorgabe in php.ini",
@ -10,7 +7,7 @@
"No file was uploaded" => "Es wurde keine Datei hochgeladen.",
"Missing a temporary folder" => "Temporärer Ordner fehlt.",
"Failed to write to disk" => "Fehler beim Schreiben auf die Festplatte",
"Not enough storage available" => "Nicht genug Speicherplatz verfügbar",
"Not enough space available" => "Nicht genug Speicherplatz verfügbar",
"Invalid directory." => "Ungültiges Verzeichnis",
"Files" => "Dateien",
"Unshare" => "Nicht mehr freigeben",
@ -23,8 +20,6 @@
"replaced {new_name}" => "{new_name} wurde ersetzt",
"undo" => "rückgängig machen",
"replaced {new_name} with {old_name}" => "{old_name} ersetzt durch {new_name}",
"unshared {files}" => "Freigabe von {files} aufgehoben",
"deleted {files}" => "{files} gelöscht",
"'.' is an invalid file name." => "'.' ist kein gültiger Dateiname",
"File name cannot be empty." => "Der Dateiname darf nicht leer sein",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ungültiger Name, '\\', '/', '<', '>', ':', '\"', '|', '?' und '*' sind nicht zulässig.",
@ -41,8 +36,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Dateiupload läuft. Wenn Du die Seite jetzt verlässt, wird der Upload abgebrochen.",
"URL cannot be empty." => "Die URL darf nicht leer sein",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Ungültiger Verzeichnisname. Die Nutzung von \"Shared\" ist ownCloud vorbehalten.",
"{count} files scanned" => "{count} Dateien wurden gescannt",
"error while scanning" => "Fehler beim Scannen",
"Name" => "Name",
"Size" => "Größe",
"Modified" => "Bearbeitet",

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "Konnte %s nicht verschieben - Datei mit diesem Namen existiert bereits",
"Could not move %s" => "Konnte %s nicht verschieben",
"Unable to rename file" => "Konnte Datei nicht umbenennen",
"No file was uploaded. Unknown error" => "Keine Datei hochgeladen. Unbekannter Fehler",
"There is no error, the file uploaded with success" => "Es sind keine Fehler aufgetreten. Die Datei wurde erfolgreich hochgeladen.",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Die hochgeladene Datei überschreitet die upload_max_filesize Vorgabe in php.ini",
@ -10,7 +7,7 @@
"No file was uploaded" => "Es wurde keine Datei hochgeladen.",
"Missing a temporary folder" => "Der temporäre Ordner fehlt.",
"Failed to write to disk" => "Fehler beim Schreiben auf die Festplatte",
"Not enough storage available" => "Nicht genug Speicher vorhanden.",
"Not enough space available" => "Nicht genügend Speicherplatz verfügbar",
"Invalid directory." => "Ungültiges Verzeichnis.",
"Files" => "Dateien",
"Unshare" => "Nicht mehr freigeben",
@ -23,8 +20,6 @@
"replaced {new_name}" => "{new_name} wurde ersetzt",
"undo" => "rückgängig machen",
"replaced {new_name} with {old_name}" => "{old_name} wurde ersetzt durch {new_name}",
"unshared {files}" => "Freigabe für {files} beendet",
"deleted {files}" => "{files} gelöscht",
"'.' is an invalid file name." => "'.' ist kein gültiger Dateiname.",
"File name cannot be empty." => "Der Dateiname darf nicht leer sein.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ungültiger Name, '\\', '/', '<', '>', ':', '\"', '|', '?' und '*' sind nicht zulässig.",
@ -41,8 +36,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Der Dateiupload läuft. Wenn Sie die Seite jetzt verlassen, wird der Upload abgebrochen.",
"URL cannot be empty." => "Die URL darf nicht leer sein.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Ungültiger Verzeichnisname. Die Nutzung von \"Shared\" ist ownCloud vorbehalten",
"{count} files scanned" => "{count} Dateien wurden gescannt",
"error while scanning" => "Fehler beim Scannen",
"Name" => "Name",
"Size" => "Größe",
"Modified" => "Bearbeitet",

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "Αδυναμία μετακίνησης του %s - υπάρχει ήδη αρχείο με αυτό το όνομα",
"Could not move %s" => "Αδυναμία μετακίνησης του %s",
"Unable to rename file" => "Αδυναμία μετονομασίας αρχείου",
"No file was uploaded. Unknown error" => "Δεν ανέβηκε κάποιο αρχείο. Άγνωστο σφάλμα",
"There is no error, the file uploaded with success" => "Δεν υπάρχει σφάλμα, το αρχείο εστάλει επιτυχώς",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Το απεσταλμένο αρχείο ξεπερνά την οδηγία upload_max_filesize στο php.ini:",
@ -10,7 +7,7 @@
"No file was uploaded" => "Κανένα αρχείο δεν στάλθηκε",
"Missing a temporary folder" => "Λείπει ο προσωρινός φάκελος",
"Failed to write to disk" => "Αποτυχία εγγραφής στο δίσκο",
"Not enough storage available" => "Μη επαρκής διαθέσιμος αποθηκευτικός χώρος",
"Not enough space available" => "Δεν υπάρχει αρκετός διαθέσιμος χώρος",
"Invalid directory." => "Μη έγκυρος φάκελος.",
"Files" => "Αρχεία",
"Unshare" => "Διακοπή κοινής χρήσης",
@ -23,8 +20,6 @@
"replaced {new_name}" => "{new_name} αντικαταστάθηκε",
"undo" => "αναίρεση",
"replaced {new_name} with {old_name}" => "αντικαταστάθηκε το {new_name} με {old_name}",
"unshared {files}" => "μη διαμοιρασμένα {files}",
"deleted {files}" => "διαγραμμένα {files}",
"'.' is an invalid file name." => "'.' είναι μη έγκυρο όνομα αρχείου.",
"File name cannot be empty." => "Το όνομα αρχείου δεν πρέπει να είναι κενό.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Μη έγκυρο όνομα, '\\', '/', '<', '>', ':', '\"', '|', '?' και '*' δεν επιτρέπονται.",
@ -41,8 +36,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Η αποστολή του αρχείου βρίσκεται σε εξέλιξη. Το κλείσιμο της σελίδας θα ακυρώσει την αποστολή.",
"URL cannot be empty." => "Η URL δεν πρέπει να είναι κενή.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Μη έγκυρο όνομα φακέλου. Η χρήση του 'Κοινόχρηστος' χρησιμοποιείται από ο Owncloud",
"{count} files scanned" => "{count} αρχεία ανιχνεύτηκαν",
"error while scanning" => "σφάλμα κατά την ανίχνευση",
"Name" => "Όνομα",
"Size" => "Μέγεθος",
"Modified" => "Τροποποιήθηκε",

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "Ne eblis movi %s: dosiero kun ĉi tiu nomo jam ekzistas",
"Could not move %s" => "Ne eblis movi %s",
"Unable to rename file" => "Ne eblis alinomigi dosieron",
"No file was uploaded. Unknown error" => "Neniu dosiero alŝutiĝis. Nekonata eraro.",
"There is no error, the file uploaded with success" => "Ne estas eraro, la dosiero alŝutiĝis sukcese",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "La dosiero alŝutita superas la regulon upload_max_filesize el php.ini: ",
@ -10,6 +7,7 @@
"No file was uploaded" => "Neniu dosiero estas alŝutita",
"Missing a temporary folder" => "Mankas tempa dosierujo",
"Failed to write to disk" => "Malsukcesis skribo al disko",
"Not enough space available" => "Ne haveblas sufiĉa spaco",
"Invalid directory." => "Nevalida dosierujo.",
"Files" => "Dosieroj",
"Unshare" => "Malkunhavigi",
@ -22,8 +20,6 @@
"replaced {new_name}" => "anstataŭiĝis {new_name}",
"undo" => "malfari",
"replaced {new_name} with {old_name}" => "anstataŭiĝis {new_name} per {old_name}",
"unshared {files}" => "malkunhaviĝis {files}",
"deleted {files}" => "foriĝis {files}",
"'.' is an invalid file name." => "'.' ne estas valida dosiernomo.",
"File name cannot be empty." => "Dosiernomo devas ne malpleni.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nevalida nomo: “\\”, “/”, “<”, “>”, “:”, “\"”, “|”, “?” kaj “*” ne permesatas.",
@ -38,8 +34,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Dosieralŝuto plenumiĝas. Lasi la paĝon nun nuligus la alŝuton.",
"URL cannot be empty." => "URL ne povas esti malplena.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nevalida dosierujnomo. Uzo de “Shared” rezervatas de Owncloud.",
"{count} files scanned" => "{count} dosieroj skaniĝis",
"error while scanning" => "eraro dum skano",
"Name" => "Nomo",
"Size" => "Grando",
"Modified" => "Modifita",

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "No se puede mover %s - Ya existe un archivo con ese nombre",
"Could not move %s" => "No se puede mover %s",
"Unable to rename file" => "No se puede renombrar el archivo",
"No file was uploaded. Unknown error" => "Fallo no se subió el fichero",
"There is no error, the file uploaded with success" => "No se ha producido ningún error, el archivo se ha subido con éxito",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "El archivo que intentas subir sobrepasa el tamaño definido por la variable upload_max_filesize en php.ini",
@ -10,6 +7,7 @@
"No file was uploaded" => "No se ha subido ningún archivo",
"Missing a temporary folder" => "Falta un directorio temporal",
"Failed to write to disk" => "La escritura en disco ha fallado",
"Not enough space available" => "No hay suficiente espacio disponible",
"Invalid directory." => "Directorio invalido.",
"Files" => "Archivos",
"Unshare" => "Dejar de compartir",
@ -22,8 +20,6 @@
"replaced {new_name}" => "reemplazado {new_name}",
"undo" => "deshacer",
"replaced {new_name} with {old_name}" => "reemplazado {new_name} con {old_name}",
"unshared {files}" => "{files} descompartidos",
"deleted {files}" => "{files} eliminados",
"'.' is an invalid file name." => "'.' es un nombre de archivo inválido.",
"File name cannot be empty." => "El nombre de archivo no puede estar vacío.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nombre Invalido, \"\\\", \"/\", \"<\", \">\", \":\", \"\", \"|\" \"?\" y \"*\" no están permitidos ",
@ -38,8 +34,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "La subida del archivo está en proceso. Salir de la página ahora cancelará la subida.",
"URL cannot be empty." => "La URL no puede estar vacía.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nombre de carpeta invalido. El uso de \"Shared\" esta reservado para Owncloud",
"{count} files scanned" => "{count} archivos escaneados",
"error while scanning" => "error escaneando",
"Name" => "Nombre",
"Size" => "Tamaño",
"Modified" => "Modificado",

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "No se pudo mover %s - Un archivo con este nombre ya existe",
"Could not move %s" => "No se pudo mover %s ",
"Unable to rename file" => "No fue posible cambiar el nombre al archivo",
"No file was uploaded. Unknown error" => "El archivo no fue subido. Error desconocido",
"There is no error, the file uploaded with success" => "No se han producido errores, el archivo se ha subido con éxito",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "El archivo que intentás subir excede el tamaño definido por upload_max_filesize en el php.ini:",
@ -10,6 +7,7 @@
"No file was uploaded" => "El archivo no fue subido",
"Missing a temporary folder" => "Falta un directorio temporal",
"Failed to write to disk" => "Error al escribir en el disco",
"Not enough space available" => "No hay suficiente espacio disponible",
"Invalid directory." => "Directorio invalido.",
"Files" => "Archivos",
"Unshare" => "Dejar de compartir",
@ -22,11 +20,11 @@
"replaced {new_name}" => "reemplazado {new_name}",
"undo" => "deshacer",
"replaced {new_name} with {old_name}" => "reemplazado {new_name} con {old_name}",
"unshared {files}" => "{files} se dejaron de compartir",
"deleted {files}" => "{files} borrados",
"'.' is an invalid file name." => "'.' es un nombre de archivo inválido.",
"File name cannot be empty." => "El nombre del archivo no puede quedar vacío.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nombre invalido, '\\', '/', '<', '>', ':', '\"', '|', '?' y '*' no están permitidos.",
"Your storage is full, files can not be updated or synced anymore!" => "El almacenamiento está lleno, los archivos no se pueden seguir actualizando ni sincronizando",
"Your storage is almost full ({usedSpacePercent}%)" => "El almacenamiento está casi lleno ({usedSpacePercent}%)",
"Your download is being prepared. This might take some time if the files are big." => "Tu descarga esta siendo preparada. Esto puede tardar algun tiempo si los archivos son muy grandes.",
"Unable to upload your file as it is a directory or has 0 bytes" => "No fue posible subir el archivo porque es un directorio o porque su tamaño es 0 bytes",
"Upload Error" => "Error al subir el archivo",
@ -38,8 +36,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "La subida del archivo está en proceso. Si salís de la página ahora, la subida se cancelará.",
"URL cannot be empty." => "La URL no puede estar vacía",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nombre de carpeta inválido. El uso de 'Shared' está reservado por ownCloud",
"{count} files scanned" => "{count} archivos escaneados",
"error while scanning" => "error mientras se escaneaba",
"Name" => "Nombre",
"Size" => "Tamaño",
"Modified" => "Modificado",

View file

@ -17,8 +17,6 @@
"replaced {new_name}" => "asendatud nimega {new_name}",
"undo" => "tagasi",
"replaced {new_name} with {old_name}" => "asendas nime {old_name} nimega {new_name}",
"unshared {files}" => "jagamata {files}",
"deleted {files}" => "kustutatud {files}",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Vigane nimi, '\\', '/', '<', '>', ':', '\"', '|', '?' ja '*' pole lubatud.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Sinu faili üleslaadimine ebaõnnestus, kuna see on kaust või selle suurus on 0 baiti",
"Upload Error" => "Üleslaadimise viga",
@ -29,8 +27,6 @@
"Upload cancelled." => "Üleslaadimine tühistati.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Faili üleslaadimine on töös. Lehelt lahkumine katkestab selle üleslaadimise.",
"URL cannot be empty." => "URL ei saa olla tühi.",
"{count} files scanned" => "{count} faili skännitud",
"error while scanning" => "viga skännimisel",
"Name" => "Nimi",
"Size" => "Suurus",
"Modified" => "Muudetud",

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "Ezin da %s mugitu - Izen hau duen fitxategia dagoeneko existitzen da",
"Could not move %s" => "Ezin dira fitxategiak mugitu %s",
"Unable to rename file" => "Ezin izan da fitxategia berrizendatu",
"No file was uploaded. Unknown error" => "Ez da fitxategirik igo. Errore ezezaguna",
"There is no error, the file uploaded with success" => "Ez da arazorik izan, fitxategia ongi igo da",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Igotako fitxategiak php.ini fitxategian ezarritako upload_max_filesize muga gainditu du:",
@ -10,7 +7,7 @@
"No file was uploaded" => "Ez da fitxategirik igo",
"Missing a temporary folder" => "Aldi baterako karpeta falta da",
"Failed to write to disk" => "Errore bat izan da diskoan idazterakoan",
"Not enough storage available" => "Ez dago behar aina leku erabilgarri,",
"Not enough space available" => "Ez dago leku nahikorik.",
"Invalid directory." => "Baliogabeko karpeta.",
"Files" => "Fitxategiak",
"Unshare" => "Ez elkarbanatu",
@ -23,8 +20,6 @@
"replaced {new_name}" => "ordezkatua {new_name}",
"undo" => "desegin",
"replaced {new_name} with {old_name}" => " {new_name}-k {old_name} ordezkatu du",
"unshared {files}" => "elkarbanaketa utzita {files}",
"deleted {files}" => "ezabatuta {files}",
"'.' is an invalid file name." => "'.' ez da fitxategi izen baliogarria.",
"File name cannot be empty." => "Fitxategi izena ezin da hutsa izan.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "IZen aliogabea, '\\', '/', '<', '>', ':', '\"', '|', '?' eta '*' ez daude baimenduta.",
@ -41,8 +36,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Fitxategien igoera martxan da. Orria orain uzteak igoera ezeztatutko du.",
"URL cannot be empty." => "URLa ezin da hutsik egon.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Baliogabeako karpeta izena. 'Shared' izena Owncloudek erreserbatzen du",
"{count} files scanned" => "{count} fitxategi eskaneatuta",
"error while scanning" => "errore bat egon da eskaneatzen zen bitartean",
"Name" => "Izena",
"Size" => "Tamaina",
"Modified" => "Aldatuta",

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "%s نمی تواند حرکت کند - در حال حاضر پرونده با این نام وجود دارد. ",
"Could not move %s" => "%s نمی تواند حرکت کند ",
"Unable to rename file" => "قادر به تغییر نام پرونده نیست.",
"No file was uploaded. Unknown error" => "هیچ فایلی آپلود نشد.خطای ناشناس",
"There is no error, the file uploaded with success" => "هیچ خطایی وجود ندارد فایل با موفقیت بار گذاری شد",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "پرونده آپلود شده بیش ازدستور ماکزیمم_حجم فایل_برای آپلود در php.ini استفاده کرده است.",
@ -10,6 +7,7 @@
"No file was uploaded" => "هیچ فایلی بارگذاری نشده",
"Missing a temporary folder" => "یک پوشه موقت گم شده است",
"Failed to write to disk" => "نوشتن بر روی دیسک سخت ناموفق بود",
"Not enough space available" => "فضای کافی در دسترس نیست",
"Invalid directory." => "فهرست راهنما نامعتبر می باشد.",
"Files" => "فایل ها",
"Unshare" => "لغو اشتراک",
@ -22,8 +20,6 @@
"replaced {new_name}" => "{نام _جدید} جایگزین شد ",
"undo" => "بازگشت",
"replaced {new_name} with {old_name}" => "{نام_جدید} با { نام_قدیمی} جایگزین شد.",
"unshared {files}" => "{ فایل های } قسمت نشده",
"deleted {files}" => "{ فایل های } پاک شده",
"'.' is an invalid file name." => "'.' یک نام پرونده نامعتبر است.",
"File name cannot be empty." => "نام پرونده نمی تواند خالی باشد.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "نام نامعتبر ، '\\', '/', '<', '>', ':', '\"', '|', '?' و '*' مجاز نمی باشند.",
@ -38,8 +34,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "آپلودکردن پرونده در حال پیشرفت است. در صورت خروج از صفحه آپلود لغو میگردد. ",
"URL cannot be empty." => "URL نمی تواند خالی باشد.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "نام پوشه نامعتبر است. استفاده از \" به اشتراک گذاشته شده \" متعلق به سایت Owncloud است.",
"{count} files scanned" => "{ شمار } فایل های اسکن شده",
"error while scanning" => "خطا در حال انجام اسکن ",
"Name" => "نام",
"Size" => "اندازه",
"Modified" => "تغییر یافته",

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "Kohteen %s siirto ei onnistunut - Tiedosto samalla nimellä on jo olemassa",
"Could not move %s" => "Kohteen %s siirto ei onnistunut",
"Unable to rename file" => "Tiedoston nimeäminen uudelleen ei onnistunut",
"No file was uploaded. Unknown error" => "Tiedostoa ei lähetetty. Tuntematon virhe",
"There is no error, the file uploaded with success" => "Ei virheitä, tiedosto lähetettiin onnistuneesti",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Lähetetty tiedosto ylittää HTML-lomakkeessa määritetyn MAX_FILE_SIZE-arvon ylärajan",
@ -9,7 +6,7 @@
"No file was uploaded" => "Yhtäkään tiedostoa ei lähetetty",
"Missing a temporary folder" => "Väliaikaiskansiota ei ole olemassa",
"Failed to write to disk" => "Levylle kirjoitus epäonnistui",
"Not enough storage available" => "Tallennustilaa ei ole riittävästi käytettävissä",
"Not enough space available" => "Tilaa ei ole riittävästi",
"Invalid directory." => "Virheellinen kansio.",
"Files" => "Tiedostot",
"Unshare" => "Peru jakaminen",

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "Impossible de déplacer %s - Un fichier possédant ce nom existe déjà",
"Could not move %s" => "Impossible de déplacer %s",
"Unable to rename file" => "Impossible de renommer le fichier",
"No file was uploaded. Unknown error" => "Aucun fichier n'a été chargé. Erreur inconnue",
"There is no error, the file uploaded with success" => "Aucune erreur, le fichier a été téléversé avec succès",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Le fichier envoyé dépasse la valeur upload_max_filesize située dans le fichier php.ini:",
@ -10,7 +7,7 @@
"No file was uploaded" => "Aucun fichier n'a été téléversé",
"Missing a temporary folder" => "Il manque un répertoire temporaire",
"Failed to write to disk" => "Erreur d'écriture sur le disque",
"Not enough storage available" => "Plus assez d'espace de stockage disponible",
"Not enough space available" => "Espace disponible insuffisant",
"Invalid directory." => "Dossier invalide.",
"Files" => "Fichiers",
"Unshare" => "Ne plus partager",
@ -23,8 +20,6 @@
"replaced {new_name}" => "{new_name} a été remplacé",
"undo" => "annuler",
"replaced {new_name} with {old_name}" => "{new_name} a été remplacé par {old_name}",
"unshared {files}" => "Fichiers non partagés : {files}",
"deleted {files}" => "Fichiers supprimés : {files}",
"'.' is an invalid file name." => "'.' n'est pas un nom de fichier valide.",
"File name cannot be empty." => "Le nom de fichier ne peut être vide.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nom invalide, les caractères '\\', '/', '<', '>', ':', '\"', '|', '?' et '*' ne sont pas autorisés.",
@ -41,8 +36,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "L'envoi du fichier est en cours. Quitter cette page maintenant annulera l'envoi du fichier.",
"URL cannot be empty." => "L'URL ne peut-être vide",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nom de dossier invalide. L'utilisation du mot 'Shared' est réservée à Owncloud",
"{count} files scanned" => "{count} fichiers indexés",
"error while scanning" => "erreur lors de l'indexation",
"Name" => "Nom",
"Size" => "Taille",
"Modified" => "Modifié",

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "Non se moveu %s - Xa existe un ficheiro con ese nome.",
"Could not move %s" => "Non se puido mover %s",
"Unable to rename file" => "Non se pode renomear o ficheiro",
"No file was uploaded. Unknown error" => "Non se subiu ningún ficheiro. Erro descoñecido.",
"There is no error, the file uploaded with success" => "Non hai erros. O ficheiro enviouse correctamente",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "O ficheiro subido excede a directiva indicada polo tamaño_máximo_de_subida de php.ini",
@ -10,6 +7,7 @@
"No file was uploaded" => "Non se enviou ningún ficheiro",
"Missing a temporary folder" => "Falta un cartafol temporal",
"Failed to write to disk" => "Erro ao escribir no disco",
"Not enough space available" => "O espazo dispoñíbel é insuficiente",
"Invalid directory." => "O directorio é incorrecto.",
"Files" => "Ficheiros",
"Unshare" => "Deixar de compartir",
@ -22,8 +20,6 @@
"replaced {new_name}" => "substituír {new_name}",
"undo" => "desfacer",
"replaced {new_name} with {old_name}" => "substituír {new_name} polo {old_name}",
"unshared {files}" => "{files} sen compartir",
"deleted {files}" => "{files} eliminados",
"'.' is an invalid file name." => "'.' é un nonme de ficheiro non válido",
"File name cannot be empty." => "O nome de ficheiro non pode estar baldeiro",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome non válido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' non se permiten.",
@ -37,8 +33,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "A subida do ficheiro está en curso. Saír agora da páxina cancelará a subida.",
"URL cannot be empty." => "URL non pode quedar baleiro.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nome de cartafol non válido. O uso de 'Shared' está reservado por Owncloud",
"{count} files scanned" => "{count} ficheiros escaneados",
"error while scanning" => "erro mentres analizaba",
"Name" => "Nome",
"Size" => "Tamaño",
"Modified" => "Modificado",

View file

@ -18,8 +18,6 @@
"replaced {new_name}" => "{new_name} הוחלף",
"undo" => "ביטול",
"replaced {new_name} with {old_name}" => "{new_name} הוחלף ב־{old_name}",
"unshared {files}" => "בוטל שיתופם של {files}",
"deleted {files}" => "{files} נמחקו",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "השם שגוי, אסור להשתמש בתווים '\\', '/', '<', '>', ':', '\"', '|', '?' ו־'*'.",
"Unable to upload your file as it is a directory or has 0 bytes" => "לא יכול להעלות את הקובץ מכיוון שזו תקיה או שמשקל הקובץ 0 בתים",
"Upload Error" => "שגיאת העלאה",
@ -30,8 +28,6 @@
"Upload cancelled." => "ההעלאה בוטלה.",
"File upload is in progress. Leaving the page now will cancel the upload." => "מתבצעת כעת העלאת קבצים. עזיבה של העמוד תבטל את ההעלאה.",
"URL cannot be empty." => "קישור אינו יכול להיות ריק.",
"{count} files scanned" => "{count} קבצים נסרקו",
"error while scanning" => "אירעה שגיאה במהלך הסריקה",
"Name" => "שם",
"Size" => "גודל",
"Modified" => "זמן שינוי",

View file

@ -20,7 +20,6 @@
"1 file uploading" => "1 datoteka se učitava",
"Upload cancelled." => "Slanje poništeno.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Učitavanje datoteke. Napuštanjem stranice će prekinuti učitavanje.",
"error while scanning" => "grečka prilikom skeniranja",
"Name" => "Naziv",
"Size" => "Veličina",
"Modified" => "Zadnja promjena",

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "%s áthelyezése nem sikerült - már létezik másik fájl ezzel a névvel",
"Could not move %s" => "Nem sikerült %s áthelyezése",
"Unable to rename file" => "Nem lehet átnevezni a fájlt",
"No file was uploaded. Unknown error" => "Nem történt feltöltés. Ismeretlen hiba",
"There is no error, the file uploaded with success" => "A fájlt sikerült feltölteni",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "A feltöltött fájl mérete meghaladja a php.ini állományban megadott upload_max_filesize paraméter értékét.",
@ -10,7 +7,7 @@
"No file was uploaded" => "Nem töltődött fel semmi",
"Missing a temporary folder" => "Hiányzik egy ideiglenes mappa",
"Failed to write to disk" => "Nem sikerült a lemezre történő írás",
"Not enough storage available" => "Nincs elég szabad hely.",
"Not enough space available" => "Nincs elég szabad hely",
"Invalid directory." => "Érvénytelen mappa.",
"Files" => "Fájlok",
"Unshare" => "Megosztás visszavonása",
@ -23,8 +20,6 @@
"replaced {new_name}" => "a(z) {new_name} állományt kicseréltük",
"undo" => "visszavonás",
"replaced {new_name} with {old_name}" => "{new_name} fájlt kicseréltük ezzel: {old_name}",
"unshared {files}" => "{files} fájl megosztása visszavonva",
"deleted {files}" => "{files} fájl törölve",
"'.' is an invalid file name." => "'.' fájlnév érvénytelen.",
"File name cannot be empty." => "A fájlnév nem lehet semmi.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Érvénytelen elnevezés. Ezek a karakterek nem használhatók: '\\', '/', '<', '>', ':', '\"', '|', '?' és '*'",
@ -41,8 +36,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Fájlfeltöltés van folyamatban. Az oldal elhagyása megszakítja a feltöltést.",
"URL cannot be empty." => "Az URL nem lehet semmi.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Érvénytelen mappanév. A név használata csak a Owncloud számára lehetséges.",
"{count} files scanned" => "{count} fájlt találtunk",
"error while scanning" => "Hiba a fájllista-ellenőrzés során",
"Name" => "Név",
"Size" => "Méret",
"Modified" => "Módosítva",

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "Gat ekki fært %s - Skrá með þessu nafni er þegar til",
"Could not move %s" => "Gat ekki fært %s",
"Unable to rename file" => "Gat ekki endurskýrt skrá",
"No file was uploaded. Unknown error" => "Engin skrá var send inn. Óþekkt villa.",
"There is no error, the file uploaded with success" => "Engin villa, innsending heppnaðist",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Innsend skrá er stærri en upload_max stillingin í php.ini:",
@ -10,6 +7,7 @@
"No file was uploaded" => "Engin skrá skilaði sér",
"Missing a temporary folder" => "Vantar bráðabirgðamöppu",
"Failed to write to disk" => "Tókst ekki að skrifa á disk",
"Not enough space available" => "Ekki nægt pláss tiltækt",
"Invalid directory." => "Ógild mappa.",
"Files" => "Skrár",
"Unshare" => "Hætta deilingu",
@ -22,8 +20,6 @@
"replaced {new_name}" => "endurskýrði {new_name}",
"undo" => "afturkalla",
"replaced {new_name} with {old_name}" => "yfirskrifaði {new_name} með {old_name}",
"unshared {files}" => "Hætti við deilingu á {files}",
"deleted {files}" => "eyddi {files}",
"'.' is an invalid file name." => "'.' er ekki leyfilegt nafn.",
"File name cannot be empty." => "Nafn skráar má ekki vera tómt",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ógilt nafn, táknin '\\', '/', '<', '>', ':', '\"', '|', '?' og '*' eru ekki leyfð.",
@ -37,8 +33,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Innsending í gangi. Ef þú ferð af þessari síðu mun innsending misheppnast.",
"URL cannot be empty." => "Vefslóð má ekki vera tóm.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Óleyfilegt nafn á möppu. Nafnið 'Shared' er frátekið fyrir Owncloud",
"{count} files scanned" => "{count} skrár skimaðar",
"error while scanning" => "villa við skimun",
"Name" => "Nafn",
"Size" => "Stærð",
"Modified" => "Breytt",

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "Impossibile spostare %s - un file con questo nome esiste già",
"Could not move %s" => "Impossibile spostare %s",
"Unable to rename file" => "Impossibile rinominare il file",
"No file was uploaded. Unknown error" => "Nessun file è stato inviato. Errore sconosciuto",
"There is no error, the file uploaded with success" => "Non ci sono errori, file caricato con successo",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Il file caricato supera la direttiva upload_max_filesize in php.ini:",
@ -10,7 +7,7 @@
"No file was uploaded" => "Nessun file è stato caricato",
"Missing a temporary folder" => "Cartella temporanea mancante",
"Failed to write to disk" => "Scrittura su disco non riuscita",
"Not enough storage available" => "Spazio di archiviazione insufficiente",
"Not enough space available" => "Spazio disponibile insufficiente",
"Invalid directory." => "Cartella non valida.",
"Files" => "File",
"Unshare" => "Rimuovi condivisione",
@ -23,8 +20,6 @@
"replaced {new_name}" => "sostituito {new_name}",
"undo" => "annulla",
"replaced {new_name} with {old_name}" => "sostituito {new_name} con {old_name}",
"unshared {files}" => "non condivisi {files}",
"deleted {files}" => "eliminati {files}",
"'.' is an invalid file name." => "'.' non è un nome file valido.",
"File name cannot be empty." => "Il nome del file non può essere vuoto.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome non valido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' non sono consentiti.",
@ -41,8 +36,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Caricamento del file in corso. La chiusura della pagina annullerà il caricamento.",
"URL cannot be empty." => "L'URL non può essere vuoto.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nome della cartella non valido. L'uso di 'Shared' è riservato da ownCloud",
"{count} files scanned" => "{count} file analizzati",
"error while scanning" => "errore durante la scansione",
"Name" => "Nome",
"Size" => "Dimensione",
"Modified" => "Modificato",
@ -69,5 +62,6 @@
"Upload too large" => "Il file caricato è troppo grande",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "I file che stai provando a caricare superano la dimensione massima consentita su questo server.",
"Files are being scanned, please wait." => "Scansione dei file in corso, attendi",
"Current scanning" => "Scansione corrente"
"Current scanning" => "Scansione corrente",
"Upgrading filesystem cache..." => "Aggiornamento della cache del filesystem in corso..."
);

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "%s を移動できませんでした ― この名前のファイルはすでに存在します",
"Could not move %s" => "%s を移動できませんでした",
"Unable to rename file" => "ファイル名の変更ができません",
"No file was uploaded. Unknown error" => "ファイルは何もアップロードされていません。不明なエラー",
"There is no error, the file uploaded with success" => "エラーはありません。ファイルのアップロードは成功しました",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "アップロードされたファイルはphp.ini の upload_max_filesize に設定されたサイズを超えています:",
@ -10,7 +7,7 @@
"No file was uploaded" => "ファイルはアップロードされませんでした",
"Missing a temporary folder" => "テンポラリフォルダが見つかりません",
"Failed to write to disk" => "ディスクへの書き込みに失敗しました",
"Not enough storage available" => "ストレージに十分な空き容量がありません",
"Not enough space available" => "利用可能なスペースが十分にありません",
"Invalid directory." => "無効なディレクトリです。",
"Files" => "ファイル",
"Unshare" => "共有しない",
@ -23,8 +20,6 @@
"replaced {new_name}" => "{new_name} を置換",
"undo" => "元に戻す",
"replaced {new_name} with {old_name}" => "{old_name} を {new_name} に置換",
"unshared {files}" => "未共有 {files}",
"deleted {files}" => "削除 {files}",
"'.' is an invalid file name." => "'.' は無効なファイル名です。",
"File name cannot be empty." => "ファイル名を空にすることはできません。",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "無効な名前、'\\', '/', '<', '>', ':', '\"', '|', '?', '*' は使用できません。",
@ -41,8 +36,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "ファイル転送を実行中です。今このページから移動するとアップロードが中止されます。",
"URL cannot be empty." => "URLは空にできません。",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "無効なフォルダ名です。'Shared' の利用は ownCloud が予約済みです。",
"{count} files scanned" => "{count} ファイルをスキャン",
"error while scanning" => "スキャン中のエラー",
"Name" => "名前",
"Size" => "サイズ",
"Modified" => "更新日時",

View file

@ -16,8 +16,6 @@
"replaced {new_name}" => "{new_name} შეცვლილია",
"undo" => "დაბრუნება",
"replaced {new_name} with {old_name}" => "{new_name} შეცვლილია {old_name}–ით",
"unshared {files}" => "გაზიარება მოხსნილი {files}",
"deleted {files}" => "წაშლილი {files}",
"Unable to upload your file as it is a directory or has 0 bytes" => "თქვენი ფაილის ატვირთვა ვერ მოხერხდა. ის არის საქაღალდე და შეიცავს 0 ბაიტს",
"Upload Error" => "შეცდომა ატვირთვისას",
"Close" => "დახურვა",
@ -26,8 +24,6 @@
"{count} files uploading" => "{count} ფაილი იტვირთება",
"Upload cancelled." => "ატვირთვა შეჩერებულ იქნა.",
"File upload is in progress. Leaving the page now will cancel the upload." => "მიმდინარეობს ფაილის ატვირთვა. სხვა გვერდზე გადასვლა გამოიწვევს ატვირთვის შეჩერებას",
"{count} files scanned" => "{count} ფაილი სკანირებულია",
"error while scanning" => "შეცდომა სკანირებისას",
"Name" => "სახელი",
"Size" => "ზომა",
"Modified" => "შეცვლილია",

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "%s 항목을 이동시키지 못하였음 - 파일 이름이 이미 존재함",
"Could not move %s" => "%s 항목을 이딩시키지 못하였음",
"Unable to rename file" => "파일 이름바꾸기 할 수 없음",
"No file was uploaded. Unknown error" => "파일이 업로드되지 않았습니다. 알 수 없는 오류입니다",
"There is no error, the file uploaded with success" => "업로드에 성공하였습니다.",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "업로드한 파일이 php.ini의 upload_max_filesize보다 큽니다:",
@ -10,7 +7,8 @@
"No file was uploaded" => "업로드된 파일 없음",
"Missing a temporary folder" => "임시 폴더가 사라짐",
"Failed to write to disk" => "디스크에 쓰지 못했습니다",
"Invalid directory." => "올바르지 않은 디렉토리입니다.",
"Not enough space available" => "여유 공간이 부족합니다",
"Invalid directory." => "올바르지 않은 디렉터리입니다.",
"Files" => "파일",
"Unshare" => "공유 해제",
"Delete" => "삭제",
@ -22,11 +20,12 @@
"replaced {new_name}" => "{new_name}을(를) 대체함",
"undo" => "실행 취소",
"replaced {new_name} with {old_name}" => "{old_name}이(가) {new_name}(으)로 대체됨",
"unshared {files}" => "{files} 공유 해제됨",
"deleted {files}" => "{files} 삭제됨",
"'.' is an invalid file name." => "'.' 는 올바르지 않은 파일 이름 입니다.",
"File name cannot be empty." => "파일이름은 공란이 될 수 없습니다.",
"File name cannot be empty." => "파일 이름이 비어 있을 수 없습니다.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "폴더 이름이 올바르지 않습니다. 이름에 문자 '\\', '/', '<', '>', ':', '\"', '|', '? ', '*'는 사용할 수 없습니다.",
"Your storage is full, files can not be updated or synced anymore!" => "저장 공간이 가득 찼습니다. 파일을 업데이트하거나 동기화할 수 없습니다!",
"Your storage is almost full ({usedSpacePercent}%)" => "저장 공간이 거의 가득 찼습니다 ({usedSpacePercent}%)",
"Your download is being prepared. This might take some time if the files are big." => "다운로드가 준비 중입니다. 파일 크기가 크다면 시간이 오래 걸릴 수도 있습니다.",
"Unable to upload your file as it is a directory or has 0 bytes" => "이 파일은 디렉터리이거나 비어 있기 때문에 업로드할 수 없습니다",
"Upload Error" => "업로드 오류",
"Close" => "닫기",
@ -37,8 +36,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "파일 업로드가 진행 중입니다. 이 페이지를 벗어나면 업로드가 취소됩니다.",
"URL cannot be empty." => "URL을 입력해야 합니다.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "폴더 이름이 유효하지 않습니다. ",
"{count} files scanned" => "파일 {count}개 검색됨",
"error while scanning" => "검색 중 오류 발생",
"Name" => "이름",
"Size" => "크기",
"Modified" => "수정됨",
@ -65,5 +62,6 @@
"Upload too large" => "업로드 용량 초과",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "이 파일이 서버에서 허용하는 최대 업로드 가능 용량보다 큽니다.",
"Files are being scanned, please wait." => "파일을 검색하고 있습니다. 기다려 주십시오.",
"Current scanning" => "현재 검색"
"Current scanning" => "현재 검색",
"Upgrading filesystem cache..." => "파일 시스템 캐시 업그레이드 중..."
);

View file

@ -16,8 +16,6 @@
"replaced {new_name}" => "pakeiskite {new_name}",
"undo" => "anuliuoti",
"replaced {new_name} with {old_name}" => "pakeiskite {new_name} į {old_name}",
"unshared {files}" => "nebesidalinti {files}",
"deleted {files}" => "ištrinti {files}",
"Unable to upload your file as it is a directory or has 0 bytes" => "Neįmanoma įkelti failo - jo dydis gali būti 0 bitų arba tai katalogas",
"Upload Error" => "Įkėlimo klaida",
"Close" => "Užverti",
@ -26,8 +24,6 @@
"{count} files uploading" => "{count} įkeliami failai",
"Upload cancelled." => "Įkėlimas atšauktas.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Failo įkėlimas pradėtas. Jei paliksite šį puslapį, įkėlimas nutrūks.",
"{count} files scanned" => "{count} praskanuoti failai",
"error while scanning" => "klaida skanuojant",
"Name" => "Pavadinimas",
"Size" => "Dydis",
"Modified" => "Pakeista",

View file

@ -18,8 +18,6 @@
"replaced {new_name}" => "земенета {new_name}",
"undo" => "врати",
"replaced {new_name} with {old_name}" => "заменета {new_name} со {old_name}",
"unshared {files}" => "без споделување {files}",
"deleted {files}" => "избришани {files}",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Неправилно име. , '\\', '/', '<', '>', ':', '\"', '|', '?' и '*' не се дозволени.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Не може да се преземе вашата датотека бидејќи фолдерот во кој се наоѓа фајлот има големина од 0 бајти",
"Upload Error" => "Грешка при преземање",
@ -30,8 +28,6 @@
"Upload cancelled." => "Преземањето е прекинато.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Подигање на датотека е во тек. Напуштење на страницата ќе го прекине.",
"URL cannot be empty." => "Адресата неможе да биде празна.",
"{count} files scanned" => "{count} датотеки скенирани",
"error while scanning" => "грешка при скенирање",
"Name" => "Име",
"Size" => "Големина",
"Modified" => "Променето",

View file

@ -17,7 +17,6 @@
"replaced {new_name}" => "erstatt {new_name}",
"undo" => "angre",
"replaced {new_name} with {old_name}" => "erstatt {new_name} med {old_name}",
"deleted {files}" => "slettet {files}",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ugyldig navn, '\\', '/', '<', '>', ':', '\"', '|', '?' og '*' er ikke tillatt.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Kan ikke laste opp filen din siden det er en mappe eller den har 0 bytes",
"Upload Error" => "Opplasting feilet",
@ -28,8 +27,6 @@
"Upload cancelled." => "Opplasting avbrutt.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Filopplasting pågår. Forlater du siden nå avbrytes opplastingen.",
"URL cannot be empty." => "URL-en kan ikke være tom.",
"{count} files scanned" => "{count} filer lest inn",
"error while scanning" => "feil under skanning",
"Name" => "Navn",
"Size" => "Størrelse",
"Modified" => "Endret",

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "Kon %s niet verplaatsen - Er bestaat al een bestand met deze naam",
"Could not move %s" => "Kon %s niet verplaatsen",
"Unable to rename file" => "Kan bestand niet hernoemen",
"No file was uploaded. Unknown error" => "Er was geen bestand geladen. Onbekende fout",
"There is no error, the file uploaded with success" => "Geen fout opgetreden, bestand successvol geupload.",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Het geüploade bestand overscheidt de upload_max_filesize optie in php.ini:",
@ -10,6 +7,7 @@
"No file was uploaded" => "Geen bestand geüpload",
"Missing a temporary folder" => "Een tijdelijke map mist",
"Failed to write to disk" => "Schrijven naar schijf mislukt",
"Not enough space available" => "Niet genoeg ruimte beschikbaar",
"Invalid directory." => "Ongeldige directory.",
"Files" => "Bestanden",
"Unshare" => "Stop delen",
@ -22,8 +20,6 @@
"replaced {new_name}" => "verving {new_name}",
"undo" => "ongedaan maken",
"replaced {new_name} with {old_name}" => "verving {new_name} met {old_name}",
"unshared {files}" => "delen gestopt {files}",
"deleted {files}" => "verwijderde {files}",
"'.' is an invalid file name." => "'.' is een ongeldige bestandsnaam.",
"File name cannot be empty." => "Bestandsnaam kan niet leeg zijn.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Onjuiste naam; '\\', '/', '<', '>', ':', '\"', '|', '?' en '*' zijn niet toegestaan.",
@ -38,8 +34,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Bestandsupload is bezig. Wanneer de pagina nu verlaten wordt, stopt de upload.",
"URL cannot be empty." => "URL kan niet leeg zijn.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Ongeldige mapnaam. Gebruik van'Gedeeld' is voorbehouden aan Owncloud",
"{count} files scanned" => "{count} bestanden gescanned",
"error while scanning" => "Fout tijdens het scannen",
"Name" => "Naam",
"Size" => "Bestandsgrootte",
"Modified" => "Laatst aangepast",

View file

@ -19,7 +19,6 @@
"1 file uploading" => "1 fichièr al amontcargar",
"Upload cancelled." => "Amontcargar anullat.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Un amontcargar es a se far. Daissar aquesta pagina ara tamparà lo cargament. ",
"error while scanning" => "error pendant l'exploracion",
"Name" => "Nom",
"Size" => "Talha",
"Modified" => "Modificat",

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "Nie można było przenieść %s - Plik o takiej nazwie już istnieje",
"Could not move %s" => "Nie można było przenieść %s",
"Unable to rename file" => "Nie można zmienić nazwy pliku",
"No file was uploaded. Unknown error" => "Plik nie został załadowany. Nieznany błąd",
"There is no error, the file uploaded with success" => "Przesłano plik",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Wgrany plik przekracza wartość upload_max_filesize zdefiniowaną w php.ini: ",
@ -10,6 +7,7 @@
"No file was uploaded" => "Nie przesłano żadnego pliku",
"Missing a temporary folder" => "Brak katalogu tymczasowego",
"Failed to write to disk" => "Błąd zapisu na dysk",
"Not enough space available" => "Za mało miejsca",
"Invalid directory." => "Zła ścieżka.",
"Files" => "Pliki",
"Unshare" => "Nie udostępniaj",
@ -22,8 +20,6 @@
"replaced {new_name}" => "zastąpiony {new_name}",
"undo" => "wróć",
"replaced {new_name} with {old_name}" => "zastąpiony {new_name} z {old_name}",
"unshared {files}" => "Udostępniane wstrzymane {files}",
"deleted {files}" => "usunięto {files}",
"'.' is an invalid file name." => "'.' jest nieprawidłową nazwą pliku.",
"File name cannot be empty." => "Nazwa pliku nie może być pusta.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Niepoprawna nazwa, Znaki '\\', '/', '<', '>', ':', '\"', '|', '?' oraz '*'są niedozwolone.",
@ -37,8 +33,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Wysyłanie pliku jest w toku. Teraz opuszczając stronę wysyłanie zostanie anulowane.",
"URL cannot be empty." => "URL nie może być pusty.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nazwa folderu nieprawidłowa. Wykorzystanie \"Shared\" jest zarezerwowane przez Owncloud",
"{count} files scanned" => "{count} pliki skanowane",
"error while scanning" => "Wystąpił błąd podczas skanowania",
"Name" => "Nazwa",
"Size" => "Rozmiar",
"Modified" => "Czas modyfikacji",

View file

@ -7,6 +7,7 @@
"No file was uploaded" => "Nenhum arquivo foi transferido",
"Missing a temporary folder" => "Pasta temporária não encontrada",
"Failed to write to disk" => "Falha ao escrever no disco",
"Invalid directory." => "Diretório inválido.",
"Files" => "Arquivos",
"Unshare" => "Descompartilhar",
"Delete" => "Excluir",
@ -18,9 +19,10 @@
"replaced {new_name}" => "substituído {new_name}",
"undo" => "desfazer",
"replaced {new_name} with {old_name}" => "Substituído {old_name} por {new_name} ",
"unshared {files}" => "{files} não compartilhados",
"deleted {files}" => "{files} apagados",
"'.' is an invalid file name." => "'.' é um nome de arquivo inválido.",
"File name cannot be empty." => "O nome do arquivo não pode estar vazio.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome inválido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' não são permitidos.",
"Your download is being prepared. This might take some time if the files are big." => "Seu download está sendo preparado. Isto pode levar algum tempo se os arquivos forem grandes.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Impossível enviar seus arquivo como diretório ou ele tem 0 bytes.",
"Upload Error" => "Erro de envio",
"Close" => "Fechar",
@ -30,8 +32,7 @@
"Upload cancelled." => "Envio cancelado.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Upload em andamento. Sair da página agora resultará no cancelamento do envio.",
"URL cannot be empty." => "URL não pode ficar em branco",
"{count} files scanned" => "{count} arquivos scaneados",
"error while scanning" => "erro durante verificação",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nome de pasta inválido. O uso de 'Shared' é reservado para o Owncloud",
"Name" => "Nome",
"Size" => "Tamanho",
"Modified" => "Modificado",

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "Não foi possível mover o ficheiro %s - Já existe um ficheiro com esse nome",
"Could not move %s" => "Não foi possível move o ficheiro %s",
"Unable to rename file" => "Não foi possível renomear o ficheiro",
"No file was uploaded. Unknown error" => "Nenhum ficheiro foi carregado. Erro desconhecido",
"There is no error, the file uploaded with success" => "Sem erro, ficheiro enviado com sucesso",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "O ficheiro enviado excede o limite permitido na directiva do php.ini upload_max_filesize",
@ -10,7 +7,7 @@
"No file was uploaded" => "Não foi enviado nenhum ficheiro",
"Missing a temporary folder" => "Falta uma pasta temporária",
"Failed to write to disk" => "Falhou a escrita no disco",
"Not enough storage available" => "Não há espaço suficiente em disco",
"Not enough space available" => "Espaço em disco insuficiente!",
"Invalid directory." => "Directório Inválido",
"Files" => "Ficheiros",
"Unshare" => "Deixar de partilhar",
@ -23,8 +20,6 @@
"replaced {new_name}" => "{new_name} substituido",
"undo" => "desfazer",
"replaced {new_name} with {old_name}" => "substituido {new_name} por {old_name}",
"unshared {files}" => "{files} não partilhado(s)",
"deleted {files}" => "{files} eliminado(s)",
"'.' is an invalid file name." => "'.' não é um nome de ficheiro válido!",
"File name cannot be empty." => "O nome do ficheiro não pode estar vazio.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome Inválido, os caracteres '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' não são permitidos.",
@ -41,8 +36,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Envio de ficheiro em progresso. Irá cancelar o envio se sair da página agora.",
"URL cannot be empty." => "O URL não pode estar vazio.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nome de pasta inválido. O Uso de 'shared' é reservado para o ownCloud",
"{count} files scanned" => "{count} ficheiros analisados",
"error while scanning" => "erro ao analisar",
"Name" => "Nome",
"Size" => "Tamanho",
"Modified" => "Modificado",
@ -69,5 +62,6 @@
"Upload too large" => "Envio muito grande",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Os ficheiros que está a tentar enviar excedem o tamanho máximo de envio permitido neste servidor.",
"Files are being scanned, please wait." => "Os ficheiros estão a ser analisados, por favor aguarde.",
"Current scanning" => "Análise actual"
"Current scanning" => "Análise actual",
"Upgrading filesystem cache..." => "Atualizar cache do sistema de ficheiros..."
);

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "Nu se poate de mutat %s - Fișier cu acest nume deja există",
"Could not move %s" => "Nu s-a putut muta %s",
"Unable to rename file" => "Nu s-a putut redenumi fișierul",
"No file was uploaded. Unknown error" => "Nici un fișier nu a fost încărcat. Eroare necunoscută",
"There is no error, the file uploaded with success" => "Nicio eroare, fișierul a fost încărcat cu succes",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Fisierul incarcat depaseste upload_max_filesize permisi in php.ini: ",
@ -10,6 +7,7 @@
"No file was uploaded" => "Niciun fișier încărcat",
"Missing a temporary folder" => "Lipsește un dosar temporar",
"Failed to write to disk" => "Eroare la scriere pe disc",
"Not enough space available" => "Nu este suficient spațiu disponibil",
"Invalid directory." => "Director invalid.",
"Files" => "Fișiere",
"Unshare" => "Anulează partajarea",
@ -22,8 +20,6 @@
"replaced {new_name}" => "inlocuit {new_name}",
"undo" => "Anulează ultima acțiune",
"replaced {new_name} with {old_name}" => "{new_name} inlocuit cu {old_name}",
"unshared {files}" => "nedistribuit {files}",
"deleted {files}" => "Sterse {files}",
"'.' is an invalid file name." => "'.' este un nume invalid de fișier.",
"File name cannot be empty." => "Numele fișierului nu poate rămâne gol.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nume invalid, '\\', '/', '<', '>', ':', '\"', '|', '?' si '*' nu sunt permise.",
@ -38,8 +34,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Fișierul este în curs de încărcare. Părăsirea paginii va întrerupe încărcarea.",
"URL cannot be empty." => "Adresa URL nu poate fi goală.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Invalid folder name. Usage of 'Shared' is reserved by Ownclou",
"{count} files scanned" => "{count} fisiere scanate",
"error while scanning" => "eroare la scanarea",
"Name" => "Nume",
"Size" => "Dimensiune",
"Modified" => "Modificat",

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "Невозможно переместить %s - файл с таким именем уже существует",
"Could not move %s" => "Невозможно переместить %s",
"Unable to rename file" => "Невозможно переименовать файл",
"No file was uploaded. Unknown error" => "Файл не был загружен. Неизвестная ошибка",
"There is no error, the file uploaded with success" => "Файл успешно загружен",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Файл превышает размер установленный upload_max_filesize в php.ini:",
@ -10,6 +7,7 @@
"No file was uploaded" => "Файл не был загружен",
"Missing a temporary folder" => "Невозможно найти временную папку",
"Failed to write to disk" => "Ошибка записи на диск",
"Not enough space available" => "Недостаточно свободного места",
"Invalid directory." => "Неправильный каталог.",
"Files" => "Файлы",
"Unshare" => "Отменить публикацию",
@ -22,8 +20,6 @@
"replaced {new_name}" => "заменено {new_name}",
"undo" => "отмена",
"replaced {new_name} with {old_name}" => "заменено {new_name} на {old_name}",
"unshared {files}" => "не опубликованные {files}",
"deleted {files}" => "удаленные {files}",
"'.' is an invalid file name." => "'.' - неправильное имя файла.",
"File name cannot be empty." => "Имя файла не может быть пустым.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Неправильное имя, '\\', '/', '<', '>', ':', '\"', '|', '?' и '*' недопустимы.",
@ -37,8 +33,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Файл в процессе загрузки. Покинув страницу вы прервёте загрузку.",
"URL cannot be empty." => "Ссылка не может быть пустой.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Неправильное имя каталога. Имя 'Shared' зарезервировано.",
"{count} files scanned" => "{count} файлов просканировано",
"error while scanning" => "ошибка во время санирования",
"Name" => "Название",
"Size" => "Размер",
"Modified" => "Изменён",

View file

@ -7,6 +7,8 @@
"No file was uploaded" => "Файл не был загружен",
"Missing a temporary folder" => "Отсутствует временная папка",
"Failed to write to disk" => "Не удалось записать на диск",
"Not enough space available" => "Не достаточно свободного места",
"Invalid directory." => "Неверный каталог.",
"Files" => "Файлы",
"Unshare" => "Скрыть",
"Delete" => "Удалить",
@ -18,8 +20,8 @@
"replaced {new_name}" => "заменено {новое_имя}",
"undo" => "отменить действие",
"replaced {new_name} with {old_name}" => "заменено {новое_имя} с {старое_имя}",
"unshared {files}" => "Cовместное использование прекращено {файлы}",
"deleted {files}" => "удалено {файлы}",
"'.' is an invalid file name." => "'.' является неверным именем файла.",
"File name cannot be empty." => "Имя файла не может быть пустым.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Некорректное имя, '\\', '/', '<', '>', ':', '\"', '|', '?' и '*' не допустимы.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Невозможно загрузить файл,\n так как он имеет нулевой размер или является директорией",
"Upload Error" => "Ошибка загрузки",
@ -30,8 +32,7 @@
"Upload cancelled." => "Загрузка отменена",
"File upload is in progress. Leaving the page now will cancel the upload." => "Процесс загрузки файла. Если покинуть страницу сейчас, загрузка будет отменена.",
"URL cannot be empty." => "URL не должен быть пустым.",
"{count} files scanned" => "{количество} файлов отсканировано",
"error while scanning" => "ошибка при сканировании",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Неверное имя папки. Использование наименования 'Опубликовано' зарезервировано Owncloud",
"Name" => "Имя",
"Size" => "Размер",
"Modified" => "Изменен",
@ -58,5 +59,6 @@
"Upload too large" => "Загрузка слишком велика",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Размер файлов, которые Вы пытаетесь загрузить, превышает максимально допустимый размер для загрузки на данный сервер.",
"Files are being scanned, please wait." => "Файлы сканируются, пожалуйста, подождите.",
"Current scanning" => "Текущее сканирование"
"Current scanning" => "Текущее сканирование",
"Upgrading filesystem cache..." => "Обновление кэша файловой системы... "
);

View file

@ -20,7 +20,6 @@
"Upload cancelled." => "උඩුගත කිරීම අත් හරින්න ලදී",
"File upload is in progress. Leaving the page now will cancel the upload." => "උඩුගතකිරීමක් සිදුවේ. පිටුව හැර යාමෙන් එය නැවතෙනු ඇත",
"URL cannot be empty." => "යොමුව හිස් විය නොහැක",
"error while scanning" => "පරීක්ෂා කිරීමේදී දෝෂයක්",
"Name" => "නම",
"Size" => "ප්‍රමාණය",
"Modified" => "වෙනස් කළ",

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "Nie je možné presunúť %s - súbor s týmto menom už existuje",
"Could not move %s" => "Nie je možné presunúť %s",
"Unable to rename file" => "Nemožno premenovať súbor",
"No file was uploaded. Unknown error" => "Žiaden súbor nebol odoslaný. Neznáma chyba",
"There is no error, the file uploaded with success" => "Nenastala žiadna chyba, súbor bol úspešne nahraný",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Nahraný súbor predčil konfiguračnú direktívu upload_max_filesize v súbore php.ini:",
@ -10,6 +7,7 @@
"No file was uploaded" => "Žiaden súbor nebol nahraný",
"Missing a temporary folder" => "Chýbajúci dočasný priečinok",
"Failed to write to disk" => "Zápis na disk sa nepodaril",
"Not enough space available" => "Nie je k dispozícii dostatok miesta",
"Invalid directory." => "Neplatný adresár",
"Files" => "Súbory",
"Unshare" => "Nezdielať",
@ -22,11 +20,11 @@
"replaced {new_name}" => "prepísaný {new_name}",
"undo" => "vrátiť",
"replaced {new_name} with {old_name}" => "prepísaný {new_name} súborom {old_name}",
"unshared {files}" => "zdieľanie zrušené pre {files}",
"deleted {files}" => "zmazané {files}",
"'.' is an invalid file name." => "'.' je neplatné meno súboru.",
"File name cannot be empty." => "Meno súboru nemôže byť prázdne",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nesprávne meno, '\\', '/', '<', '>', ':', '\"', '|', '?' a '*' nie sú povolené hodnoty.",
"Your storage is full, files can not be updated or synced anymore!" => "Vaše úložisko je plné. Súbory nemožno aktualizovať ani synchronizovať!",
"Your storage is almost full ({usedSpacePercent}%)" => "Vaše úložisko je takmer plné ({usedSpacePercent}%)",
"Your download is being prepared. This might take some time if the files are big." => "Vaše sťahovanie sa pripravuje. Ak sú sťahované súbory veľké, môže to chvíľu trvať.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nemôžem nahrať súbor lebo je to priečinok alebo má 0 bajtov.",
"Upload Error" => "Chyba odosielania",
@ -38,8 +36,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Opustenie stránky zruší práve prebiehajúce odosielanie súboru.",
"URL cannot be empty." => "URL nemôže byť prázdne",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Neplatné meno adresára. Používanie mena 'Shared' je vyhradené len pre Owncloud",
"{count} files scanned" => "{count} súborov prehľadaných",
"error while scanning" => "chyba počas kontroly",
"Name" => "Meno",
"Size" => "Veľkosť",
"Modified" => "Upravené",

View file

@ -18,8 +18,6 @@
"replaced {new_name}" => "zamenjano je ime {new_name}",
"undo" => "razveljavi",
"replaced {new_name} with {old_name}" => "zamenjano ime {new_name} z imenom {old_name}",
"unshared {files}" => "odstranjeno iz souporabe {files}",
"deleted {files}" => "izbrisano {files}",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Neveljavno ime, znaki '\\', '/', '<', '>', ':', '\"', '|', '?' in '*' niso dovoljeni.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Pošiljanje ni mogoče, saj gre za mapo, ali pa je datoteka velikosti 0 bajtov.",
"Upload Error" => "Napaka med nalaganjem",
@ -30,8 +28,6 @@
"Upload cancelled." => "Pošiljanje je preklicano.",
"File upload is in progress. Leaving the page now will cancel the upload." => "V teku je pošiljanje datoteke. Če zapustite to stran zdaj, bo pošiljanje preklicano.",
"URL cannot be empty." => "Naslov URL ne sme biti prazen.",
"{count} files scanned" => "{count} files scanned",
"error while scanning" => "napaka med pregledovanjem datotek",
"Name" => "Ime",
"Size" => "Velikost",
"Modified" => "Spremenjeno",

View file

@ -17,8 +17,6 @@
"replaced {new_name}" => "замењено {new_name}",
"undo" => "опозови",
"replaced {new_name} with {old_name}" => "замењено {new_name} са {old_name}",
"unshared {files}" => "укинуто дељење {files}",
"deleted {files}" => "обрисано {files}",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Неисправан назив. Следећи знакови нису дозвољени: \\, /, <, >, :, \", |, ? и *.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Не могу да отпремим датотеку као фасциклу или она има 0 бајтова",
"Upload Error" => "Грешка при отпремању",
@ -28,8 +26,6 @@
"{count} files uploading" => "Отпремам {count} датотеке/а",
"Upload cancelled." => "Отпремање је прекинуто.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Отпремање датотеке је у току. Ако сада напустите страницу, прекинућете отпремање.",
"{count} files scanned" => "Скенирано датотека: {count}",
"error while scanning" => "грешка при скенирању",
"Name" => "Назив",
"Size" => "Величина",
"Modified" => "Измењено",

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "Kunde inte flytta %s - Det finns redan en fil med detta namn",
"Could not move %s" => "Kan inte flytta %s",
"Unable to rename file" => "Kan inte byta namn på filen",
"No file was uploaded. Unknown error" => "Ingen fil uppladdad. Okänt fel",
"There is no error, the file uploaded with success" => "Inga fel uppstod. Filen laddades upp utan problem",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Den uppladdade filen överskrider upload_max_filesize direktivet php.ini:",
@ -10,7 +7,7 @@
"No file was uploaded" => "Ingen fil blev uppladdad",
"Missing a temporary folder" => "Saknar en tillfällig mapp",
"Failed to write to disk" => "Misslyckades spara till disk",
"Not enough storage available" => "Inte tillräckligt med lagringsutrymme tillgängligt",
"Not enough space available" => "Inte tillräckligt med utrymme tillgängligt",
"Invalid directory." => "Felaktig mapp.",
"Files" => "Filer",
"Unshare" => "Sluta dela",
@ -23,8 +20,6 @@
"replaced {new_name}" => "ersatt {new_name}",
"undo" => "ångra",
"replaced {new_name} with {old_name}" => "ersatt {new_name} med {old_name}",
"unshared {files}" => "stoppad delning {files}",
"deleted {files}" => "raderade {files}",
"'.' is an invalid file name." => "'.' är ett ogiltigt filnamn.",
"File name cannot be empty." => "Filnamn kan inte vara tomt.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ogiltigt namn, '\\', '/', '<', '>', ':', '\"', '|', '?' och '*' är inte tillåtet.",
@ -41,8 +36,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Filuppladdning pågår. Lämnar du sidan så avbryts uppladdningen.",
"URL cannot be empty." => "URL kan inte vara tom.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Ogiltigt mappnamn. Användande av 'Shared' är reserverat av ownCloud",
"{count} files scanned" => "{count} filer skannade",
"error while scanning" => "fel vid skanning",
"Name" => "Namn",
"Size" => "Storlek",
"Modified" => "Ändrad",
@ -69,5 +62,6 @@
"Upload too large" => "För stor uppladdning",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Filerna du försöker ladda upp överstiger den maximala storleken för filöverföringar på servern.",
"Files are being scanned, please wait." => "Filer skannas, var god vänta",
"Current scanning" => "Aktuell skanning"
"Current scanning" => "Aktuell skanning",
"Upgrading filesystem cache..." => "Uppgraderar filsystemets cache..."
);

View file

@ -17,8 +17,6 @@
"replaced {new_name}" => "மாற்றப்பட்டது {new_name}",
"undo" => "முன் செயல் நீக்கம் ",
"replaced {new_name} with {old_name}" => "{new_name} ஆனது {old_name} இனால் மாற்றப்பட்டது",
"unshared {files}" => "பகிரப்படாதது {கோப்புகள்}",
"deleted {files}" => "நீக்கப்பட்டது {கோப்புகள்}",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "செல்லுபடியற்ற பெயர்,'\\', '/', '<', '>', ':', '\"', '|', '?' மற்றும் '*' ஆகியன அனுமதிக்கப்படமாட்டாது.",
"Unable to upload your file as it is a directory or has 0 bytes" => "அடைவு அல்லது 0 bytes ஐ கொண்டுள்ளதால் உங்களுடைய கோப்பை பதிவேற்ற முடியவில்லை",
"Upload Error" => "பதிவேற்றல் வழு",
@ -29,8 +27,6 @@
"Upload cancelled." => "பதிவேற்றல் இரத்து செய்யப்பட்டுள்ளது",
"File upload is in progress. Leaving the page now will cancel the upload." => "கோப்பு பதிவேற்றம் செயல்பாட்டில் உள்ளது. இந்தப் பக்கத்திலிருந்து வெறியேறுவதானது பதிவேற்றலை இரத்து செய்யும்.",
"URL cannot be empty." => "URL வெறுமையாக இருக்கமுடியாது.",
"{count} files scanned" => "{எண்ணிக்கை} கோப்புகள் வருடப்பட்டது",
"error while scanning" => "வருடும் போதான வழு",
"Name" => "பெயர்",
"Size" => "அளவு",
"Modified" => "மாற்றப்பட்டது",

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "ไม่สามารถย้าย %s ได้ - ไฟล์ที่ใช้ชื่อนี้มีอยู่แล้ว",
"Could not move %s" => "ไม่สามารถย้าย %s ได้",
"Unable to rename file" => "ไม่สามารถเปลี่ยนชื่อไฟล์ได้",
"No file was uploaded. Unknown error" => "ยังไม่มีไฟล์ใดที่ถูกอัพโหลด เกิดข้อผิดพลาดที่ไม่ทราบสาเหตุ",
"There is no error, the file uploaded with success" => "ไม่มีข้อผิดพลาดใดๆ ไฟล์ถูกอัพโหลดเรียบร้อยแล้ว",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "ขนาดไฟล์ที่อัพโหลดมีขนาดเกิน upload_max_filesize ที่ระบุไว้ใน php.ini",
@ -10,7 +7,7 @@
"No file was uploaded" => "ยังไม่มีไฟล์ที่ถูกอัพโหลด",
"Missing a temporary folder" => "แฟ้มเอกสารชั่วคราวเกิดการสูญหาย",
"Failed to write to disk" => "เขียนข้อมูลลงแผ่นดิสก์ล้มเหลว",
"Not enough storage available" => "เหลือพื้นที่ไม่เพียงสำหรับใช้งาน",
"Not enough space available" => "มีพื้นที่เหลือไม่เพียงพอ",
"Invalid directory." => "ไดเร็กทอรี่ไม่ถูกต้อง",
"Files" => "ไฟล์",
"Unshare" => "ยกเลิกการแชร์ข้อมูล",
@ -23,8 +20,6 @@
"replaced {new_name}" => "แทนที่ {new_name} แล้ว",
"undo" => "เลิกทำ",
"replaced {new_name} with {old_name}" => "แทนที่ {new_name} ด้วย {old_name} แล้ว",
"unshared {files}" => "ยกเลิกการแชร์แล้ว {files} ไฟล์",
"deleted {files}" => "ลบไฟล์แล้ว {files} ไฟล์",
"'.' is an invalid file name." => "'.' เป็นชื่อไฟล์ที่ไม่ถูกต้อง",
"File name cannot be empty." => "ชื่อไฟล์ไม่สามารถเว้นว่างได้",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "ชื่อที่ใช้ไม่ถูกต้อง, '\\', '/', '<', '>', ':', '\"', '|', '?' และ '*' ไม่ได้รับอนุญาตให้ใช้งานได้",
@ -41,8 +36,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "การอัพโหลดไฟล์กำลังอยู่ในระหว่างดำเนินการ การออกจากหน้าเว็บนี้จะทำให้การอัพโหลดถูกยกเลิก",
"URL cannot be empty." => "URL ไม่สามารถเว้นว่างได้",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "ชื่อโฟลเดอร์ไม่ถูกต้อง การใช้งาน 'แชร์' สงวนไว้สำหรับ Owncloud เท่านั้น",
"{count} files scanned" => "สแกนไฟล์แล้ว {count} ไฟล์",
"error while scanning" => "พบข้อผิดพลาดในระหว่างการสแกนไฟล์",
"Name" => "ชื่อ",
"Size" => "ขนาด",
"Modified" => "ปรับปรุงล่าสุด",

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "%s taşınamadı. Bu isimde dosya zaten var.",
"Could not move %s" => "%s taşınamadı",
"Unable to rename file" => "Dosya adı değiştirilemedi",
"No file was uploaded. Unknown error" => "Dosya yüklenmedi. Bilinmeyen hata",
"There is no error, the file uploaded with success" => "Bir hata yok, dosya başarıyla yüklendi",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "php.ini dosyasında upload_max_filesize ile belirtilen dosya yükleme sınırııldı.",
@ -10,6 +7,7 @@
"No file was uploaded" => "Hiç dosya yüklenmedi",
"Missing a temporary folder" => "Geçici bir klasör eksik",
"Failed to write to disk" => "Diske yazılamadı",
"Not enough space available" => "Yeterli disk alanı yok",
"Invalid directory." => "Geçersiz dizin.",
"Files" => "Dosyalar",
"Unshare" => "Paylaşılmayan",
@ -22,8 +20,6 @@
"replaced {new_name}" => "değiştirilen {new_name}",
"undo" => "geri al",
"replaced {new_name} with {old_name}" => "{new_name} ismi {old_name} ile değiştirildi",
"unshared {files}" => "paylaşılmamış {files}",
"deleted {files}" => "silinen {files}",
"'.' is an invalid file name." => "'.' geçersiz dosya adı.",
"File name cannot be empty." => "Dosya adı boş olamaz.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Geçersiz isim, '\\', '/', '<', '>', ':', '\"', '|', '?' ve '*' karakterlerine izin verilmemektedir.",
@ -38,8 +34,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Dosya yükleme işlemi sürüyor. Şimdi sayfadan ayrılırsanız işleminiz iptal olur.",
"URL cannot be empty." => "URL boş olamaz.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Geçersiz dizin adı. Shared isminin kullanımı Owncloud tarafından rezerver edilmiştir.",
"{count} files scanned" => "{count} dosya tarandı",
"error while scanning" => "tararamada hata oluşdu",
"Name" => "Ad",
"Size" => "Boyut",
"Modified" => "Değiştirilme",

View file

@ -18,8 +18,6 @@
"replaced {new_name}" => "замінено {new_name}",
"undo" => "відмінити",
"replaced {new_name} with {old_name}" => "замінено {new_name} на {old_name}",
"unshared {files}" => "неопубліковано {files}",
"deleted {files}" => "видалено {files}",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Невірне ім'я, '\\', '/', '<', '>', ':', '\"', '|', '?' та '*' не дозволені.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Неможливо завантажити ваш файл тому, що він тека або файл розміром 0 байт",
"Upload Error" => "Помилка завантаження",
@ -30,8 +28,6 @@
"Upload cancelled." => "Завантаження перервано.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Виконується завантаження файлу. Закриття цієї сторінки приведе до відміни завантаження.",
"URL cannot be empty." => "URL не може бути пустим.",
"{count} files scanned" => "{count} файлів проскановано",
"error while scanning" => "помилка при скануванні",
"Name" => "Ім'я",
"Size" => "Розмір",
"Modified" => "Змінено",

View file

@ -17,8 +17,6 @@
"replaced {new_name}" => "đã thay thế {new_name}",
"undo" => "lùi lại",
"replaced {new_name} with {old_name}" => "đã thay thế {new_name} bằng {old_name}",
"unshared {files}" => "hủy chia sẽ {files}",
"deleted {files}" => "đã xóa {files}",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Tên không hợp lệ, '\\', '/', '<', '>', ':', '\"', '|', '?' và '*' thì không được phép dùng.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Không thể tải lên tập tin này do nó là một thư mục hoặc kích thước tập tin bằng 0 byte",
"Upload Error" => "Tải lên lỗi",
@ -29,8 +27,6 @@
"Upload cancelled." => "Hủy tải lên",
"File upload is in progress. Leaving the page now will cancel the upload." => "Tập tin tải lên đang được xử lý. Nếu bạn rời khỏi trang bây giờ sẽ hủy quá trình này.",
"URL cannot be empty." => "URL không được để trống.",
"{count} files scanned" => "{count} tập tin đã được quét",
"error while scanning" => "lỗi trong khi quét",
"Name" => "Tên",
"Size" => "Kích cỡ",
"Modified" => "Thay đổi",

View file

@ -17,8 +17,6 @@
"replaced {new_name}" => "已替换 {new_name}",
"undo" => "撤销",
"replaced {new_name} with {old_name}" => "已用 {old_name} 替换 {new_name}",
"unshared {files}" => "未分享的 {files}",
"deleted {files}" => "已删除的 {files}",
"Unable to upload your file as it is a directory or has 0 bytes" => "不能上传你指定的文件,可能因为它是个文件夹或者大小为0",
"Upload Error" => "上传错误",
"Close" => "关闭",
@ -28,8 +26,6 @@
"Upload cancelled." => "上传取消了",
"File upload is in progress. Leaving the page now will cancel the upload." => "文件正在上传。关闭页面会取消上传。",
"URL cannot be empty." => "网址不能为空。",
"{count} files scanned" => "{count} 个文件已扫描",
"error while scanning" => "扫描出错",
"Name" => "名字",
"Size" => "大小",
"Modified" => "修改日期",

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "无法移动 %s - 同名文件已存在",
"Could not move %s" => "无法移动 %s",
"Unable to rename file" => "无法重命名文件",
"No file was uploaded. Unknown error" => "没有文件被上传。未知错误",
"There is no error, the file uploaded with success" => "没有发生错误,文件上传成功。",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "上传文件大小已超过php.ini中upload_max_filesize所规定的值",
@ -10,6 +7,7 @@
"No file was uploaded" => "文件没有上传",
"Missing a temporary folder" => "缺少临时目录",
"Failed to write to disk" => "写入磁盘失败",
"Not enough space available" => "没有足够可用空间",
"Invalid directory." => "无效文件夹。",
"Files" => "文件",
"Unshare" => "取消分享",
@ -22,8 +20,6 @@
"replaced {new_name}" => "替换 {new_name}",
"undo" => "撤销",
"replaced {new_name} with {old_name}" => "已将 {old_name}替换成 {new_name}",
"unshared {files}" => "取消了共享 {files}",
"deleted {files}" => "删除了 {files}",
"'.' is an invalid file name." => "'.' 是一个无效的文件名。",
"File name cannot be empty." => "文件名不能为空。",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "无效名称,'\\', '/', '<', '>', ':', '\"', '|', '?' 和 '*' 不被允许使用。",
@ -38,8 +34,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "文件正在上传中。现在离开此页会导致上传动作被取消。",
"URL cannot be empty." => "URL不能为空",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "无效文件夹名。'共享' 是 Owncloud 预留的文件夹名。",
"{count} files scanned" => "{count} 个文件已扫描。",
"error while scanning" => "扫描时出错",
"Name" => "名称",
"Size" => "大小",
"Modified" => "修改日期",

View file

@ -1,7 +1,4 @@
<?php $TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "無法移動 %s - 同名的檔案已經存在",
"Could not move %s" => "無法移動 %s",
"Unable to rename file" => "無法重新命名檔案",
"No file was uploaded. Unknown error" => "沒有檔案被上傳。未知的錯誤。",
"There is no error, the file uploaded with success" => "無錯誤,檔案上傳成功",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "上傳的檔案大小超過 php.ini 當中 upload_max_filesize 參數的設定:",
@ -10,6 +7,7 @@
"No file was uploaded" => "無已上傳檔案",
"Missing a temporary folder" => "遺失暫存資料夾",
"Failed to write to disk" => "寫入硬碟失敗",
"Not enough space available" => "沒有足夠的可用空間",
"Invalid directory." => "無效的資料夾。",
"Files" => "檔案",
"Unshare" => "取消共享",
@ -22,8 +20,6 @@
"replaced {new_name}" => "已取代 {new_name}",
"undo" => "復原",
"replaced {new_name} with {old_name}" => "使用 {new_name} 取代 {old_name}",
"unshared {files}" => "已取消分享 {files}",
"deleted {files}" => "已刪除 {files}",
"'.' is an invalid file name." => "'.' 是不合法的檔名。",
"File name cannot be empty." => "檔名不能為空。",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "檔名不合法,不允許 '\\', '/', '<', '>', ':', '\"', '|', '?' 和 '*' 。",
@ -38,8 +34,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "檔案上傳中。離開此頁面將會取消上傳。",
"URL cannot be empty." => "URL 不能為空白.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "無效的資料夾名稱,'Shared' 的使用被 Owncloud 保留",
"{count} files scanned" => "{count} 個檔案已掃描",
"error while scanning" => "掃描時發生錯誤",
"Name" => "名稱",
"Size" => "大小",
"Modified" => "修改",

View file

@ -32,7 +32,7 @@ OCP\Util::addscript( "files", "files" );
$dir = isset( $_GET['dir'] ) ? $_GET['dir'] : '';
$files = array();
foreach( OC_Files::getdirectorycontent( $dir ) as $i ) {
foreach( \OC\Files\Filesystem::getDirectoryContent( $dir ) as $i ) {
$i["date"] = date( $CONFIG_DATEFORMAT, $i["mtime"] );
$files[] = $i;
}

View file

@ -35,6 +35,11 @@
<a href="#" class="svg" onclick="return false;"></a>
</form>
</div>
<?php if ($_['trash'] ): ?>
<div id="trash" class="button">
<a><?php echo $l->t('Trash');?></a>
</div>
<?php endif; ?>
<div id="uploadprogresswrapper">
<div id="uploadprogressbar"></div>
<input type="button" class="stop" style="display:none"
@ -42,7 +47,6 @@
onclick="javascript:Files.cancelUploads();"
/>
</div>
</div>
<div id="file_action_panel"></div>
<?php else:?>

View file

@ -13,7 +13,7 @@
$name = str_replace('%2F', '/', $name);
$directory = str_replace('+', '%20', urlencode($file['directory']));
$directory = str_replace('%2F', '/', $directory); ?>
<tr data-id="<?php echo $file['id']; ?>"
<tr data-id="<?php echo $file['fileid']; ?>"
data-file="<?php echo $name;?>"
data-type="<?php echo ($file['type'] == 'dir')?'dir':'file'?>"
data-mime="<?php echo $file['mimetype']?>"
@ -28,7 +28,7 @@
>
<?php if(!isset($_['readonly']) || !$_['readonly']): ?><input type="checkbox" /><?php endif; ?>
<?php if($file['type'] == 'dir'): ?>
<a class="name" href="<?php $_['baseURL'].$directory.'/'.$name; ?>)" title="">
<a class="name" href="<?php echo $_['baseURL'].$directory.'/'.$name; ?>)" title="">
<?php else: ?>
<a class="name" href="<?php echo $_['downloadURL'].$directory.'/'.$name; ?>" title="">
<?php endif; ?>
@ -61,4 +61,4 @@
</span>
</td>
</tr>
<?php endforeach;
<?php endforeach;

View file

@ -0,0 +1,4 @@
<div id="upgrade">
<?php echo $l->t('Upgrading filesystem cache...');?>
<div id="progressbar" />
</div>

View file

@ -1,9 +1,15 @@
<?php $TRANSLATIONS = array(
"Please switch to your ownCloud client and change your encryption password to complete the conversion." => "Por favor, cambie su cliente de ownCloud y cambie su clave de cifrado para completar la conversión.",
"switched to client side encryption" => "Cambiar a encriptación en lado cliente",
"Change encryption password to login password" => "Cambie la clave de cifrado para ingresar su contraseña",
"switched to client side encryption" => "Cambiar a cifrado del lado del cliente",
"Change encryption password to login password" => "Cambie la clave de cifrado para su contraseña de inicio de sesión",
"Please check your passwords and try again." => "Por favor revise su contraseña e intentelo de nuevo.",
"Choose encryption mode:" => "Elegir el modo de encriptado:",
"Could not change your file encryption password to your login password" => "No se pudo cambiar la contraseña de cifrado de archivos de su contraseña de inicio de sesión",
"Choose encryption mode:" => "Elegir el modo de cifrado:",
"Client side encryption (most secure but makes it impossible to access your data from the web interface)" => "Cifrado del lado del Cliente ( es el más seguro, pero hace que sea imposible acceder a sus datos desde la interfaz web)",
"Server side encryption (allows you to access your files from the web interface and the desktop client)" => "Cifrado del lado del Servidor (le permite acceder a sus archivos desde la interfaz web y el cliente de escritorio)",
"None (no encryption at all)" => "Ninguno (ningún cifrado en absoluto)",
"Important: Once you selected an encryption mode there is no way to change it back" => "Importante: Una vez que haya seleccionado un modo de cifrado no existe forma de cambiarlo de nuevo",
"User specific (let the user decide)" => "Específico del usuario (dejar que el usuario decida)",
"Encryption" => "Cifrado",
"Exclude the following file types from encryption" => "Excluir del cifrado los siguientes tipos de archivo",
"None" => "Ninguno"

View file

@ -1,4 +1,15 @@
<?php $TRANSLATIONS = array(
"Please switch to your ownCloud client and change your encryption password to complete the conversion." => "Por favor, cambiá uu cliente de ownCloud y cambiá tu clave de encriptado para completar la conversión.",
"switched to client side encryption" => "Cambiado a encriptación por parte del cliente",
"Change encryption password to login password" => "Cambiá la clave de encriptado para tu contraseña de inicio de sesión",
"Please check your passwords and try again." => "Por favor, revisá tu contraseña e intentalo de nuevo.",
"Could not change your file encryption password to your login password" => "No se pudo cambiar la contraseña de encriptación de archivos de tu contraseña de inicio de sesión",
"Choose encryption mode:" => "Elegir el modo de encriptación:",
"Client side encryption (most secure but makes it impossible to access your data from the web interface)" => "Encriptación por parte del cliente (es el modo más seguro, pero hace que sea imposible acceder a tus datos desde la interfaz web)",
"Server side encryption (allows you to access your files from the web interface and the desktop client)" => "Encriptación por parte del servidor (te permite acceder a tus archivos desde la interfaz web y desde el cliente de escritorio)",
"None (no encryption at all)" => "Ninguno (ninguna encriptación en absoluto)",
"Important: Once you selected an encryption mode there is no way to change it back" => "Importante: Una vez que haya seleccionado un modo de encriptación, no existe forma de cambiarlo nuevamente",
"User specific (let the user decide)" => "Específico por usuario (deja que el usuario decida)",
"Encryption" => "Encriptación",
"Exclude the following file types from encryption" => "Exceptuar de la encriptación los siguientes tipos de archivo",
"None" => "Ninguno"

View file

@ -1,4 +1,15 @@
<?php $TRANSLATIONS = array(
"Please switch to your ownCloud client and change your encryption password to complete the conversion." => "ownCloud로 전환한 다음 암호화에 사용할 암호를 변경하면 변환이 완료됩니다.",
"switched to client side encryption" => "클라이언트 암호화로 변경됨",
"Change encryption password to login password" => "암호화 암호를 로그인 암호로 변경",
"Please check your passwords and try again." => "암호를 확인한 다음 다시 시도하십시오.",
"Could not change your file encryption password to your login password" => "암호화 암호를 로그인 암호로 변경할 수 없습니다",
"Choose encryption mode:" => "암호화 모드 선택:",
"Client side encryption (most secure but makes it impossible to access your data from the web interface)" => "클라이언트 암호화 (안전하지만 웹에서 데이터에 접근할 수 없음)",
"Server side encryption (allows you to access your files from the web interface and the desktop client)" => "서버 암호화 (웹 및 데스크톱 클라이언트에서 데이터에 접근할 수 있음)",
"None (no encryption at all)" => "없음 (암호화하지 않음)",
"Important: Once you selected an encryption mode there is no way to change it back" => "알림: 암호화 모드를 선택하면 다른 것으로 변경할 수 없습니다",
"User specific (let the user decide)" => "사용자 지정 (사용자별 설정)",
"Encryption" => "암호화",
"Exclude the following file types from encryption" => "다음 파일 형식은 암호화하지 않음",
"None" => "없음"

View file

@ -1,4 +1,15 @@
<?php $TRANSLATIONS = array(
"Please switch to your ownCloud client and change your encryption password to complete the conversion." => "Por favor, vá ao seu cliente ownCloud e mude sua criptografia de senha para completar a conversão.",
"switched to client side encryption" => "alterado para criptografia por parte do cliente",
"Change encryption password to login password" => "Mudar senha de criptografia para senha de login",
"Please check your passwords and try again." => "Por favor, verifique suas senhas e tente novamente.",
"Could not change your file encryption password to your login password" => "Não foi possível mudar sua senha de criptografia de arquivos para sua senha de login",
"Choose encryption mode:" => "Escolha o modo de criptografia:",
"Client side encryption (most secure but makes it impossible to access your data from the web interface)" => "Criptografia por parte do cliente (mais segura, mas torna impossível acessar seus dados a partir da interface web)",
"Server side encryption (allows you to access your files from the web interface and the desktop client)" => "Criptografia por parte do servidor (permite que você acesse seus arquivos da interface web e do cliente desktop)",
"None (no encryption at all)" => "Nenhuma (sem qualquer criptografia)",
"Important: Once you selected an encryption mode there is no way to change it back" => "Importante: Uma vez que tiver escolhido um modo de criptografia, não há um meio de voltar atrás",
"User specific (let the user decide)" => "Específico por usuário (deixa o usuário decidir)",
"Encryption" => "Criptografia",
"Exclude the following file types from encryption" => "Excluir os seguintes tipos de arquivo da criptografia",
"None" => "Nenhuma"

View file

@ -1,4 +1,13 @@
<?php $TRANSLATIONS = array(
"Please switch to your ownCloud client and change your encryption password to complete the conversion." => "Пожалуйста, переключитесь на ownCloud-клиент и измените Ваш пароль шифрования для завершения конвертации.",
"switched to client side encryption" => "переключено на шифрование на клиентской стороне",
"Please check your passwords and try again." => "Пожалуйста, проверьте Ваш пароль и попробуйте снова",
"Choose encryption mode:" => "Выберите способ шифрования:",
"Client side encryption (most secure but makes it impossible to access your data from the web interface)" => "Шифрование на стороне клиента (наиболее безопасно, но делает невозможным получение доступа к Вашим данным по вэб-интерфейсу)",
"Server side encryption (allows you to access your files from the web interface and the desktop client)" => "Шифрование на стороне сервера (позволяет Вам получить доступ к Вашим файлам по вэб-интерфейсу и десктопному клиенту)",
"None (no encryption at all)" => "Нет (шифрование полностью отсутствует)",
"Important: Once you selected an encryption mode there is no way to change it back" => "Важно: Невозможно будет изменить выбранный способ шифрования",
"User specific (let the user decide)" => "Специфика пользователя (позволено решить пользователю)",
"Encryption" => "Шифрование",
"Exclude the following file types from encryption" => "Исключите следующие типы файлов из шифрования",
"None" => "Ни один"

View file

@ -12,8 +12,10 @@ $data = fread($fh, filesize($_FILES['rootcert_import']['tmp_name']));
fclose($fh);
$filename = $_FILES['rootcert_import']['name'];
$view = new \OC_FilesystemView('/'.\OCP\User::getUser().'/files_external/uploads');
if ( ! $view->file_exists('')) $view->mkdir('');
$view = new \OC\Files\View('/'.\OCP\User::getUser().'/files_external/uploads');
if (!$view->file_exists('')){
$view->mkdir('');
}
$isValid = openssl_pkey_get_public($data);

View file

@ -6,14 +6,14 @@
* See the COPYING-README file.
*/
OC::$CLASSPATH['OC_FileStorage_StreamWrapper']='apps/files_external/lib/streamwrapper.php';
OC::$CLASSPATH['OC_Filestorage_FTP']='apps/files_external/lib/ftp.php';
OC::$CLASSPATH['OC_Filestorage_DAV']='apps/files_external/lib/webdav.php';
OC::$CLASSPATH['OC_Filestorage_Google']='apps/files_external/lib/google.php';
OC::$CLASSPATH['OC_Filestorage_SWIFT']='apps/files_external/lib/swift.php';
OC::$CLASSPATH['OC_Filestorage_SMB']='apps/files_external/lib/smb.php';
OC::$CLASSPATH['OC_Filestorage_AmazonS3']='apps/files_external/lib/amazons3.php';
OC::$CLASSPATH['OC_Filestorage_Dropbox']='apps/files_external/lib/dropbox.php';
OC::$CLASSPATH['OC\Files\Storage\StreamWrapper']='apps/files_external/lib/streamwrapper.php';
OC::$CLASSPATH['OC\Files\Storage\FTP']='apps/files_external/lib/ftp.php';
OC::$CLASSPATH['OC\Files\Storage\DAV']='apps/files_external/lib/webdav.php';
OC::$CLASSPATH['OC\Files\Storage\Google']='apps/files_external/lib/google.php';
OC::$CLASSPATH['OC\Files\Storage\SWIFT']='apps/files_external/lib/swift.php';
OC::$CLASSPATH['OC\Files\Storage\SMB']='apps/files_external/lib/smb.php';
OC::$CLASSPATH['OC\Files\Storage\AmazonS3']='apps/files_external/lib/amazons3.php';
OC::$CLASSPATH['OC\Files\Storage\Dropbox']='apps/files_external/lib/dropbox.php';
OC::$CLASSPATH['OC_Mount_Config']='apps/files_external/lib/config.php';
OCP\App::registerAdmin('files_external', 'settings');

View file

@ -5,7 +5,7 @@
<description>Mount external storage sources</description>
<licence>AGPL</licence>
<author>Robin Appelman, Michael Gapczynski</author>
<require>4.9</require>
<require>4.91</require>
<shipped>true</shipped>
<types>
<filesystem/>

View file

@ -1,6 +1,6 @@
$(document).ready(function() {
$('#externalStorage tbody tr.OC_Filestorage_Dropbox').each(function() {
$('#externalStorage tbody tr.\\\\OC\\\\Files\\\\Storage\\\\Dropbox').each(function() {
var configured = $(this).find('[data-parameter="configured"]');
if ($(configured).val() == 'true') {
$(this).find('.configuration input').attr('disabled', 'disabled');
@ -38,7 +38,7 @@ $(document).ready(function() {
$('#externalStorage tbody').on('keyup', 'tr input', function() {
var tr = $(this).parent().parent();
if ($(tr).hasClass('OC_Filestorage_Dropbox') && $(tr).find('[data-parameter="configured"]').val() != 'true') {
if ($(tr).hasClass('\\\\OC\\\\Files\\\\Storage\\\\Dropbox') && $(tr).find('[data-parameter="configured"]').val() != 'true') {
var config = $(tr).find('.configuration');
if ($(tr).find('.mountPoint input').val() != '' && $(config).find('[data-parameter="app_key"]').val() != '' && $(config).find('[data-parameter="app_secret"]').val() != '') {
if ($(tr).find('.dropbox').length == 0) {

View file

@ -1,6 +1,6 @@
$(document).ready(function() {
$('#externalStorage tbody tr.OC_Filestorage_Google').each(function() {
$('#externalStorage tbody tr.\\\\OC\\\\Files\\\\Storage\\\\Google').each(function() {
var configured = $(this).find('[data-parameter="configured"]');
if ($(configured).val() == 'true') {
$(this).find('.configuration')
@ -34,7 +34,7 @@ $(document).ready(function() {
});
$('#externalStorage tbody').on('change', 'tr', function() {
if ($(this).hasClass('OC_Filestorage_Google') && $(this).find('[data-parameter="configured"]').val() != 'true') {
if ($(this).hasClass('\\\\OC\\\\Files\\\\Storage\\\\Google') && $(this).find('[data-parameter="configured"]').val() != 'true') {
if ($(this).find('.mountPoint input').val() != '') {
if ($(this).find('.google').length == 0) {
$(this).find('.configuration').append('<a class="button google">'+t('files_external', 'Grant access')+'</a>');
@ -45,7 +45,7 @@ $(document).ready(function() {
$('#externalStorage tbody').on('keyup', 'tr .mountPoint input', function() {
var tr = $(this).parent().parent();
if ($(tr).hasClass('OC_Filestorage_Google') && $(tr).find('[data-parameter="configured"]').val() != 'true' && $(tr).find('.google').length > 0) {
if ($(tr).hasClass('\\\\OC\\\\Files\\\\Storage\\\\Google') && $(tr).find('[data-parameter="configured"]').val() != 'true' && $(tr).find('.google').length > 0) {
if ($(this).val() != '') {
$(tr).find('.google').show();
} else {

View file

@ -100,7 +100,7 @@ $(document).ready(function() {
td.append('<input type="text" data-parameter="'+parameter+'" placeholder="'+placeholder+'" />');
}
});
if (parameters['custom'] && $('#externalStorage tbody tr.'+backendClass).length == 1) {
if (parameters['custom'] && $('#externalStorage tbody tr.'+backendClass.replace(/\\/g, '\\\\')).length == 1) {
OC.addScript('files_external', parameters['custom']);
}
return false;

View file

@ -5,8 +5,8 @@
"Fill out all required fields" => "모든 필수 항목을 입력하십시오",
"Please provide a valid Dropbox app key and secret." => "올바른 Dropbox 앱 키와 암호를 입력하십시오.",
"Error configuring Google Drive storage" => "Google 드라이브 저장소 설정 오류",
"<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "<b>경고</b>\"smbclient\"가 설치되지 않았습니다. CIFS/SMB 공유애 연결이 불가능 합니다.. 시스템 관리자에게 요청하여 설치하시기 바랍니다.",
"<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "<b>경고</b>PHP용 FTP 지원이 사용 불가능 하거나 설치되지 않았습니다. FTP 공유에 연결이 불가능 합니다. 시스템 관리자에게 요청하여 설치하시기 바랍니다. ",
"<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "<b>경고:</b> \"smbclient\"가 설치되지 않았습니다. CIFS/SMB 공유 자원에 연결할 수 없습니다. 시스템 관리자에게 설치를 요청하십시오.",
"<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "<b>경고:</b> PHP FTP 지원이 비활성화되어 있거나 설치되지 않았습니다. FTP 공유를 마운트할 수 없습니다. 시스템 관리자에게 설치를 요청하십시오.",
"External Storage" => "외부 저장소",
"Mount point" => "마운트 지점",
"Backend" => "백엔드",

View file

@ -5,6 +5,8 @@
"Fill out all required fields" => "Preencha todos os campos obrigatórios",
"Please provide a valid Dropbox app key and secret." => "Por favor forneça um app key e secret válido do Dropbox",
"Error configuring Google Drive storage" => "Erro ao configurar armazenamento do Google Drive",
"<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "<b>Aviso:</b> \"smbclient\" não está instalado. Não será possível montar compartilhamentos de CIFS/SMB. Por favor, peça ao seu administrador do sistema para instalá-lo.",
"<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "<b>Aviso:</b> O suporte para FTP do PHP não está ativado ou instalado. Não será possível montar compartilhamentos FTP. Por favor, peça ao seu administrador do sistema para instalá-lo.",
"External Storage" => "Armazenamento Externo",
"Mount point" => "Ponto de montagem",
"Backend" => "Backend",

View file

@ -5,6 +5,8 @@
"Fill out all required fields" => "Vyplňte všetky vyžadované kolónky",
"Please provide a valid Dropbox app key and secret." => "Zadajte platný kľúč aplikácie a heslo Dropbox",
"Error configuring Google Drive storage" => "Chyba pri konfigurácii úložiska Google drive",
"<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "<b>Upozornenie:</b> \"smbclient\" nie je nainštalovaný. Nie je možné pripojenie oddielov CIFS/SMB. Požiadajte administrátora systému, nech ho nainštaluje.",
"<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "<b>Upozornenie:</b> Podpora FTP v PHP nie je povolená alebo nainštalovaná. Nie je možné pripojenie oddielov FTP. Požiadajte administrátora systému, nech ho nainštaluje.",
"External Storage" => "Externé úložisko",
"Mount point" => "Prípojný bod",
"Backend" => "Backend",

View file

@ -1,39 +1,43 @@
<?php
/**
* ownCloud
*
* @author Michael Gapczynski
* @copyright 2012 Michael Gapczynski mtgap@owncloud.com
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
* License as published by the Free Software Foundation; either
* version 3 of the License, or any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
*
* You should have received a copy of the GNU Affero General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
* ownCloud
*
* @author Michael Gapczynski
* @copyright 2012 Michael Gapczynski mtgap@owncloud.com
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
* License as published by the Free Software Foundation; either
* version 3 of the License, or any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
*
* You should have received a copy of the GNU Affero General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
namespace OC\Files\Storage;
require_once 'aws-sdk/sdk.class.php';
class OC_Filestorage_AmazonS3 extends OC_Filestorage_Common {
class AmazonS3 extends \OC\Files\Storage\Common {
private $s3;
private $bucket;
private $objects = array();
private $id;
private static $tempFiles = array();
// TODO options: storage class, encryption server side, encrypt before upload?
public function __construct($params) {
$this->s3 = new AmazonS3(array('key' => $params['key'], 'secret' => $params['secret']));
$this->id = 'amazon::' . $params['key'] . md5($params['secret']);
$this->s3 = new \AmazonS3(array('key' => $params['key'], 'secret' => $params['secret']));
$this->bucket = $params['bucket'];
}
@ -47,7 +51,7 @@ class OC_Filestorage_AmazonS3 extends OC_Filestorage_Common {
return $response;
// This object could be a folder, a '/' must be at the end of the path
} else if (substr($path, -1) != '/') {
$response = $this->s3->get_object_metadata($this->bucket, $path.'/');
$response = $this->s3->get_object_metadata($this->bucket, $path . '/');
if ($response) {
$this->objects[$path] = $response;
return $response;
@ -57,6 +61,10 @@ class OC_Filestorage_AmazonS3 extends OC_Filestorage_Common {
return false;
}
public function getId() {
return $this->id;
}
public function mkdir($path) {
// Folders in Amazon S3 are 0 byte objects with a '/' at the end of the name
if (substr($path, -1) != '/') {
@ -96,8 +104,8 @@ class OC_Filestorage_AmazonS3 extends OC_Filestorage_Common {
foreach ($response->body->CommonPrefixes as $object) {
$files[] = basename($object->Prefix);
}
OC_FakeDirStream::$dirs['amazons3'.$path] = $files;
return opendir('fakedir://amazons3'.$path);
\OC\Files\Stream\Dir::register('amazons3' . $path, $files);
return opendir('fakedir://amazons3' . $path);
}
return false;
}
@ -107,15 +115,10 @@ class OC_Filestorage_AmazonS3 extends OC_Filestorage_Common {
$stat['size'] = $this->s3->get_bucket_filesize($this->bucket);
$stat['atime'] = time();
$stat['mtime'] = $stat['atime'];
$stat['ctime'] = $stat['atime'];
} else {
$object = $this->getObject($path);
if ($object) {
$stat['size'] = $object['Size'];
$stat['atime'] = time();
$stat['mtime'] = strtotime($object['LastModified']);
$stat['ctime'] = $stat['mtime'];
}
} else if ($object = $this->getObject($path)) {
$stat['size'] = $object['Size'];
$stat['atime'] = time();
$stat['mtime'] = strtotime($object['LastModified']);
}
if (isset($stat)) {
return $stat;
@ -166,7 +169,7 @@ class OC_Filestorage_AmazonS3 extends OC_Filestorage_Common {
switch ($mode) {
case 'r':
case 'rb':
$tmpFile = OC_Helper::tmpFile();
$tmpFile = \OC_Helper::tmpFile();
$handle = fopen($tmpFile, 'w');
$response = $this->s3->get_object($this->bucket, $path, array('fileDownload' => $handle));
if ($response->isOK()) {
@ -190,14 +193,14 @@ class OC_Filestorage_AmazonS3 extends OC_Filestorage_Common {
} else {
$ext = '';
}
$tmpFile = OC_Helper::tmpFile($ext);
OC_CloseStreamWrapper::$callBacks[$tmpFile] = array($this, 'writeBack');
$tmpFile = \OC_Helper::tmpFile($ext);
\OC\Files\Stream\Close::registerCallback($tmpFile, array($this, 'writeBack'));
if ($this->file_exists($path)) {
$source = $this->fopen($path, 'r');
file_put_contents($tmpFile, $source);
}
self::$tempFiles[$tmpFile] = $path;
return fopen('close://'.$tmpFile, $mode);
return fopen('close://' . $tmpFile, $mode);
}
return false;
}
@ -206,8 +209,8 @@ class OC_Filestorage_AmazonS3 extends OC_Filestorage_Common {
if (isset(self::$tempFiles[$tmpFile])) {
$handle = fopen($tmpFile, 'r');
$response = $this->s3->create_object($this->bucket,
self::$tempFiles[$tmpFile],
array('fileUpload' => $handle));
self::$tempFiles[$tmpFile],
array('fileUpload' => $handle));
if ($response->isOK()) {
unlink($tmpFile);
}

View file

@ -38,20 +38,20 @@ class OC_Mount_Config {
* @return array
*/
public static function getBackends() {
$backends['OC_Filestorage_Local']=array(
$backends['\OC\Files\Storage\Local']=array(
'backend' => 'Local',
'configuration' => array(
'datadir' => 'Location'));
$backends['OC_Filestorage_AmazonS3']=array(
$backends['\OC\Files\Storage\AmazonS3']=array(
'backend' => 'Amazon S3',
'configuration' => array(
'key' => 'Key',
'secret' => '*Secret',
'bucket' => 'Bucket'));
$backends['OC_Filestorage_Dropbox']=array(
$backends['\OC\Files\Storage\Dropbox']=array(
'backend' => 'Dropbox',
'configuration' => array(
'configured' => '#configured',
@ -61,7 +61,7 @@ class OC_Mount_Config {
'token_secret' => '#token_secret'),
'custom' => 'dropbox');
if(OC_Mount_Config::checkphpftp()) $backends['OC_Filestorage_FTP']=array(
if(OC_Mount_Config::checkphpftp()) $backends['\OC\Files\Storage\FTP']=array(
'backend' => 'FTP',
'configuration' => array(
'host' => 'URL',
@ -70,15 +70,15 @@ class OC_Mount_Config {
'root' => '&Root',
'secure' => '!Secure ftps://'));
$backends['OC_Filestorage_Google']=array(
$backends['\OC\Files\Storage\Google']=array(
'backend' => 'Google Drive',
'configuration' => array(
'configured' => '#configured',
'token' => '#token',
'token_secret' => '#token secret'),
'custom' => 'google');
$backends['OC_Filestorage_SWIFT']=array(
$backends['\OC\Files\Storage\SWIFT']=array(
'backend' => 'OpenStack Swift',
'configuration' => array(
'host' => 'URL',
@ -86,8 +86,8 @@ class OC_Mount_Config {
'token' => '*Token',
'root' => '&Root',
'secure' => '!Secure ftps://'));
if(OC_Mount_Config::checksmbclient()) $backends['OC_Filestorage_SMB']=array(
if(OC_Mount_Config::checksmbclient()) $backends['\OC\Files\Storage\SMB']=array(
'backend' => 'SMB / CIFS',
'configuration' => array(
'host' => 'URL',
@ -95,8 +95,8 @@ class OC_Mount_Config {
'password' => '*Password',
'share' => 'Share',
'root' => '&Root'));
$backends['OC_Filestorage_DAV']=array(
$backends['\OC\Files\Storage\DAV']=array(
'backend' => 'ownCloud / WebDAV',
'configuration' => array(
'host' => 'URL',
@ -120,6 +120,10 @@ class OC_Mount_Config {
if (isset($mountPoints[self::MOUNT_TYPE_GROUP])) {
foreach ($mountPoints[self::MOUNT_TYPE_GROUP] as $group => $mounts) {
foreach ($mounts as $mountPoint => $mount) {
// Update old classes to new namespace
if (strpos($mount['class'], 'OC_Filestorage_') !== false) {
$mount['class'] = '\OC\Files\Storage\\'.substr($mount['class'], 15);
}
// Remove '/$user/files/' from mount point
$mountPoint = substr($mountPoint, 13);
// Merge the mount point into the current mount points
@ -139,6 +143,10 @@ class OC_Mount_Config {
if (isset($mountPoints[self::MOUNT_TYPE_USER])) {
foreach ($mountPoints[self::MOUNT_TYPE_USER] as $user => $mounts) {
foreach ($mounts as $mountPoint => $mount) {
// Update old classes to new namespace
if (strpos($mount['class'], 'OC_Filestorage_') !== false) {
$mount['class'] = '\OC\Files\Storage\\'.substr($mount['class'], 15);
}
// Remove '/$user/files/' from mount point
$mountPoint = substr($mountPoint, 13);
// Merge the mount point into the current mount points
@ -169,6 +177,10 @@ class OC_Mount_Config {
$personal = array();
if (isset($mountPoints[self::MOUNT_TYPE_USER][$uid])) {
foreach ($mountPoints[self::MOUNT_TYPE_USER][$uid] as $mountPoint => $mount) {
// Update old classes to new namespace
if (strpos($mount['class'], 'OC_Filestorage_') !== false) {
$mount['class'] = '\OC\Files\Storage\\'.substr($mount['class'], 15);
}
// Remove '/uid/files/' from mount point
$personal[substr($mountPoint, strlen($uid) + 8)] = array('class' => $mount['class'],
'backend' => $backends[$mount['class']]['backend'],
@ -178,22 +190,6 @@ class OC_Mount_Config {
return $personal;
}
/**
* Add directory for mount point to the filesystem
* @param OC_Fileview instance $view
* @param string path to mount point
*/
private static function addMountPointDirectory($view, $path) {
$dir = '';
foreach ( explode('/', $path) as $pathPart) {
$dir = $dir.'/'.$pathPart;
if ( !$view->file_exists($dir)) {
$view->mkdir($dir);
}
}
}
/**
* Add a mount point to the filesystem
* @param string Mount point
@ -213,36 +209,11 @@ class OC_Mount_Config {
if ($isPersonal) {
// Verify that the mount point applies for the current user
// Prevent non-admin users from mounting local storage
if ($applicable != OCP\User::getUser() || $class == 'OC_Filestorage_Local') {
if ($applicable != OCP\User::getUser() || $class == '\OC\Files\Storage\Local') {
return false;
}
$view = new OC_FilesystemView('/'.OCP\User::getUser().'/files');
self::addMountPointDirectory($view, ltrim($mountPoint, '/'));
$mountPoint = '/'.$applicable.'/files/'.ltrim($mountPoint, '/');
} else {
$view = new OC_FilesystemView('/');
switch ($mountType) {
case 'user':
if ($applicable == "all") {
$users = OCP\User::getUsers();
foreach ( $users as $user ) {
$path = $user.'/files/'.ltrim($mountPoint, '/');
self::addMountPointDirectory($view, $path);
}
} else {
$path = $applicable.'/files/'.ltrim($mountPoint, '/');
self::addMountPointDirectory($view, $path);
}
break;
case 'group' :
$groupMembers = OC_Group::usersInGroups(array($applicable));
foreach ( $groupMembers as $user ) {
$path = $user.'/files/'.ltrim($mountPoint, '/');
self::addMountPointDirectory($view, $path);
}
break;
}
$mountPoint = '/$user/files/'.ltrim($mountPoint, '/');
}
$mount = array($applicable => array($mountPoint => array('class' => $class, 'options' => $classOptions)));

View file

@ -20,12 +20,15 @@
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
namespace OC\Files\Storage;
require_once 'Dropbox/autoload.php';
class OC_Filestorage_Dropbox extends OC_Filestorage_Common {
class Dropbox extends \OC\Files\Storage\Common {
private $dropbox;
private $root;
private $id;
private $metaData = array();
private static $tempFiles = array();
@ -37,13 +40,14 @@ class OC_Filestorage_Dropbox extends OC_Filestorage_Common {
&& isset($params['token'])
&& isset($params['token_secret'])
) {
$this->id = 'dropbox::'.$params['app_key'] . $params['token']. '/' . $params['root'];
$this->root=isset($params['root'])?$params['root']:'';
$oauth = new Dropbox_OAuth_Curl($params['app_key'], $params['app_secret']);
$oauth = new \Dropbox_OAuth_Curl($params['app_key'], $params['app_secret']);
$oauth->setToken($params['token'], $params['token_secret']);
$this->dropbox = new Dropbox_API($oauth, 'dropbox');
$this->dropbox = new \Dropbox_API($oauth, 'dropbox');
$this->mkdir('');
} else {
throw new Exception('Creating OC_Filestorage_Dropbox storage failed');
throw new \Exception('Creating \OC\Files\Storage\Dropbox storage failed');
}
}
@ -55,8 +59,8 @@ class OC_Filestorage_Dropbox extends OC_Filestorage_Common {
if ($list) {
try {
$response = $this->dropbox->getMetaData($path);
} catch (Exception $exception) {
OCP\Util::writeLog('files_external', $exception->getMessage(), OCP\Util::ERROR);
} catch (\Exception $exception) {
\OCP\Util::writeLog('files_external', $exception->getMessage(), \OCP\Util::ERROR);
return false;
}
if ($response && isset($response['contents'])) {
@ -76,21 +80,25 @@ class OC_Filestorage_Dropbox extends OC_Filestorage_Common {
$response = $this->dropbox->getMetaData($path, 'false');
$this->metaData[$path] = $response;
return $response;
} catch (Exception $exception) {
OCP\Util::writeLog('files_external', $exception->getMessage(), OCP\Util::ERROR);
} catch (\Exception $exception) {
\OCP\Util::writeLog('files_external', $exception->getMessage(), \OCP\Util::ERROR);
return false;
}
}
}
}
public function getId(){
return $this->id;
}
public function mkdir($path) {
$path = $this->root.$path;
try {
$this->dropbox->createFolder($path);
return true;
} catch (Exception $exception) {
OCP\Util::writeLog('files_external', $exception->getMessage(), OCP\Util::ERROR);
} catch (\Exception $exception) {
\OCP\Util::writeLog('files_external', $exception->getMessage(), \OCP\Util::ERROR);
return false;
}
}
@ -106,7 +114,7 @@ class OC_Filestorage_Dropbox extends OC_Filestorage_Common {
foreach ($contents as $file) {
$files[] = basename($file['path']);
}
OC_FakeDirStream::$dirs['dropbox'.$path] = $files;
\OC\Files\Stream\Dir::register('dropbox'.$path, $files);
return opendir('fakedir://dropbox'.$path);
}
return false;
@ -118,7 +126,6 @@ class OC_Filestorage_Dropbox extends OC_Filestorage_Common {
$stat['size'] = $metaData['bytes'];
$stat['atime'] = time();
$stat['mtime'] = (isset($metaData['modified'])) ? strtotime($metaData['modified']) : time();
$stat['ctime'] = $stat['mtime'];
return $stat;
}
return false;
@ -163,8 +170,8 @@ class OC_Filestorage_Dropbox extends OC_Filestorage_Common {
try {
$this->dropbox->delete($path);
return true;
} catch (Exception $exception) {
OCP\Util::writeLog('files_external', $exception->getMessage(), OCP\Util::ERROR);
} catch (\Exception $exception) {
\OCP\Util::writeLog('files_external', $exception->getMessage(), \OCP\Util::ERROR);
return false;
}
}
@ -175,8 +182,8 @@ class OC_Filestorage_Dropbox extends OC_Filestorage_Common {
try {
$this->dropbox->move($path1, $path2);
return true;
} catch (Exception $exception) {
OCP\Util::writeLog('files_external', $exception->getMessage(), OCP\Util::ERROR);
} catch (\Exception $exception) {
\OCP\Util::writeLog('files_external', $exception->getMessage(), \OCP\Util::ERROR);
return false;
}
}
@ -187,8 +194,8 @@ class OC_Filestorage_Dropbox extends OC_Filestorage_Common {
try {
$this->dropbox->copy($path1, $path2);
return true;
} catch (Exception $exception) {
OCP\Util::writeLog('files_external', $exception->getMessage(), OCP\Util::ERROR);
} catch (\Exception $exception) {
\OCP\Util::writeLog('files_external', $exception->getMessage(), \OCP\Util::ERROR);
return false;
}
}
@ -198,13 +205,13 @@ class OC_Filestorage_Dropbox extends OC_Filestorage_Common {
switch ($mode) {
case 'r':
case 'rb':
$tmpFile = OC_Helper::tmpFile();
$tmpFile = \OC_Helper::tmpFile();
try {
$data = $this->dropbox->getFile($path);
file_put_contents($tmpFile, $data);
return fopen($tmpFile, 'r');
} catch (Exception $exception) {
OCP\Util::writeLog('files_external', $exception->getMessage(), OCP\Util::ERROR);
} catch (\Exception $exception) {
\OCP\Util::writeLog('files_external', $exception->getMessage(), \OCP\Util::ERROR);
return false;
}
case 'w':
@ -224,8 +231,8 @@ class OC_Filestorage_Dropbox extends OC_Filestorage_Common {
} else {
$ext = '';
}
$tmpFile = OC_Helper::tmpFile($ext);
OC_CloseStreamWrapper::$callBacks[$tmpFile] = array($this, 'writeBack');
$tmpFile = \OC_Helper::tmpFile($ext);
\OC\Files\Stream\Close::registerCallback($tmpFile, array($this, 'writeBack'));
if ($this->file_exists($path)) {
$source = $this->fopen($path, 'r');
file_put_contents($tmpFile, $source);
@ -242,8 +249,8 @@ class OC_Filestorage_Dropbox extends OC_Filestorage_Common {
try {
$this->dropbox->putFile(self::$tempFiles[$tmpFile], $handle);
unlink($tmpFile);
} catch (Exception $exception) {
OCP\Util::writeLog('files_external', $exception->getMessage(), OCP\Util::ERROR);
} catch (\Exception $exception) {
\OCP\Util::writeLog('files_external', $exception->getMessage(), \OCP\Util::ERROR);
}
}
}
@ -264,8 +271,8 @@ class OC_Filestorage_Dropbox extends OC_Filestorage_Common {
try {
$info = $this->dropbox->getAccountInfo();
return $info['quota_info']['quota'] - $info['quota_info']['normal'];
} catch (Exception $exception) {
OCP\Util::writeLog('files_external', $exception->getMessage(), OCP\Util::ERROR);
} catch (\Exception $exception) {
\OCP\Util::writeLog('files_external', $exception->getMessage(), \OCP\Util::ERROR);
return false;
}
}

View file

@ -6,7 +6,9 @@
* See the COPYING-README file.
*/
class OC_FileStorage_FTP extends OC_FileStorage_StreamWrapper{
namespace OC\Files\Storage;
class FTP extends \OC\Files\Storage\StreamWrapper{
private $password;
private $user;
private $host;
@ -38,9 +40,13 @@ class OC_FileStorage_FTP extends OC_FileStorage_StreamWrapper{
}
}
public function getId(){
return 'ftp::' . $this->user . '@' . $this->host . '/' . $this->root;
}
/**
* construct the ftp url
* @param string path
* @param string $path
* @return string
*/
public function constructUrl($path) {
@ -51,7 +57,8 @@ class OC_FileStorage_FTP extends OC_FileStorage_StreamWrapper{
$url.='://'.$this->user.':'.$this->password.'@'.$this->host.$this->root.$path;
return $url;
}
public function fopen($path, $mode) {
public function fopen($path,$mode) {
$this->init();
switch($mode) {
case 'r':
case 'rb':
@ -61,7 +68,7 @@ class OC_FileStorage_FTP extends OC_FileStorage_StreamWrapper{
case 'ab':
//these are supported by the wrapper
$context = stream_context_create(array('ftp' => array('overwrite' => true)));
return fopen($this->constructUrl($path), $mode, false, $context);
return fopen($this->constructUrl($path),$mode, false,$context);
case 'r+':
case 'w+':
case 'wb+':
@ -77,16 +84,18 @@ class OC_FileStorage_FTP extends OC_FileStorage_StreamWrapper{
$ext='';
}
$tmpFile=OCP\Files::tmpFile($ext);
OC_CloseStreamWrapper::$callBacks[$tmpFile]=array($this, 'writeBack');
\OC\Files\Stream\Close::registerCallback($tmpFile, array($this, 'writeBack'));
if ($this->file_exists($path)) {
$this->getFile($path, $tmpFile);
}
self::$tempFiles[$tmpFile]=$path;
return fopen('close://'.$tmpFile, $mode);
return fopen('close://'.$tmpFile,$mode);
}
return false;
}
public function writeBack($tmpFile) {
$this->init();
if (isset(self::$tempFiles[$tmpFile])) {
$this->uploadFile($tmpFile, self::$tempFiles[$tmpFile]);
unlink($tmpFile);

View file

@ -20,14 +20,17 @@
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
namespace OC\Files\Storage;
require_once 'Google/common.inc.php';
class OC_Filestorage_Google extends OC_Filestorage_Common {
class Google extends \OC\Files\Storage\Common {
private $consumer;
private $oauth_token;
private $sig_method;
private $entries;
private $id;
private static $tempFiles = array();
@ -38,12 +41,13 @@ class OC_Filestorage_Google extends OC_Filestorage_Common {
) {
$consumer_key = isset($params['consumer_key']) ? $params['consumer_key'] : 'anonymous';
$consumer_secret = isset($params['consumer_secret']) ? $params['consumer_secret'] : 'anonymous';
$this->consumer = new OAuthConsumer($consumer_key, $consumer_secret);
$this->oauth_token = new OAuthToken($params['token'], $params['token_secret']);
$this->sig_method = new OAuthSignatureMethod_HMAC_SHA1();
$this->id = 'google::' . $params['token'];
$this->consumer = new \OAuthConsumer($consumer_key, $consumer_secret);
$this->oauth_token = new \OAuthToken($params['token'], $params['token_secret']);
$this->sig_method = new \OAuthSignatureMethod_HMAC_SHA1();
$this->entries = array();
} else {
throw new Exception('Creating OC_Filestorage_Google storage failed');
throw new \Exception('Creating \OC\Files\Storage\Google storage failed');
}
}
@ -68,7 +72,7 @@ class OC_Filestorage_Google extends OC_Filestorage_Common {
$tempStr .= '&' . urlencode($key) . '=' . urlencode($value);
}
$uri = preg_replace('/&/', '?', $tempStr, 1);
$request = OAuthRequest::from_consumer_and_token($this->consumer,
$request = \OAuthRequest::from_consumer_and_token($this->consumer,
$this->oauth_token,
$httpMethod,
$uri,
@ -110,7 +114,7 @@ class OC_Filestorage_Google extends OC_Filestorage_Common {
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
}
if ($isDownload) {
$tmpFile = OC_Helper::tmpFile();
$tmpFile = \OC_Helper::tmpFile();
$handle = fopen($tmpFile, 'w');
curl_setopt($curl, CURLOPT_FILE, $handle);
}
@ -139,7 +143,7 @@ class OC_Filestorage_Google extends OC_Filestorage_Common {
private function getFeed($feedUri, $httpMethod, $postData = null) {
$result = $this->sendRequest($feedUri, $httpMethod, $postData);
if ($result) {
$dom = new DOMDocument();
$dom = new \DOMDocument();
$dom->loadXML($result);
return $dom;
}
@ -194,6 +198,9 @@ class OC_Filestorage_Google extends OC_Filestorage_Common {
}
}
public function getId(){
return $this->id;
}
public function mkdir($path) {
$collection = dirname($path);
@ -266,7 +273,7 @@ class OC_Filestorage_Google extends OC_Filestorage_Common {
$this->entries[$name] = $entry;
}
}
OC_FakeDirStream::$dirs['google'.$path] = $files;
\OC\Files\Stream\Dir::register('google'.$path, $files);
return opendir('fakedir://google'.$path);
}
@ -287,7 +294,6 @@ class OC_Filestorage_Google extends OC_Filestorage_Common {
//$stat['atime'] = strtotime($entry->getElementsByTagNameNS('http://schemas.google.com/g/2005',
// 'lastViewed')->item(0)->nodeValue);
$stat['mtime'] = strtotime($entry->getElementsByTagName('updated')->item(0)->nodeValue);
$stat['ctime'] = strtotime($entry->getElementsByTagName('published')->item(0)->nodeValue);
}
}
if (isset($stat)) {
@ -443,8 +449,8 @@ class OC_Filestorage_Google extends OC_Filestorage_Common {
} else {
$ext = '';
}
$tmpFile = OC_Helper::tmpFile($ext);
OC_CloseStreamWrapper::$callBacks[$tmpFile] = array($this, 'writeBack');
$tmpFile = \OC_Helper::tmpFile($ext);
\OC\Files\Stream\Close::registerCallback($tmpFile, array($this, 'writeBack'));
if ($this->file_exists($path)) {
$source = $this->fopen($path, 'r');
file_put_contents($tmpFile, $source);
@ -482,7 +488,7 @@ class OC_Filestorage_Google extends OC_Filestorage_Common {
}
if (isset($uploadUri) && $handle = fopen($path, 'r')) {
$uploadUri .= '?convert=false';
$mimetype = OC_Helper::getMimeType($path);
$mimetype = \OC_Helper::getMimeType($path);
$size = filesize($path);
$headers = array('X-Upload-Content-Type: ' => $mimetype, 'X-Upload-Content-Length: ' => $size);
$postData = '<?xml version="1.0" encoding="UTF-8"?>';
@ -590,4 +596,4 @@ class OC_Filestorage_Google extends OC_Filestorage_Common {
}
}
}

View file

@ -6,9 +6,11 @@
* See the COPYING-README file.
*/
namespace OC\Files\Storage;
require_once 'smb4php/smb.php';
class OC_FileStorage_SMB extends OC_FileStorage_StreamWrapper{
class SMB extends \OC\Files\Storage\StreamWrapper{
private $password;
private $user;
private $host;
@ -30,14 +32,13 @@ class OC_FileStorage_SMB extends OC_FileStorage_StreamWrapper{
if ( ! $this->share || $this->share[0]!='/') {
$this->share='/'.$this->share;
}
if (substr($this->share, -1, 1)=='/') {
$this->share=substr($this->share, 0, -1);
if(substr($this->share, -1, 1)=='/') {
$this->share = substr($this->share,0,-1);
}
}
//create the root folder if necesary
if ( ! $this->is_dir('')) {
$this->mkdir('');
}
public function getId(){
return 'smb::' . $this->user . '@' . $this->host . '/' . $this->share . '/' . $this->root;
}
public function constructUrl($path) {
@ -65,11 +66,13 @@ class OC_FileStorage_SMB extends OC_FileStorage_StreamWrapper{
/**
* check if a file or folder has been updated since $time
* @param string $path
* @param int $time
* @return bool
*/
public function hasUpdated($path, $time) {
if ( ! $path and $this->root=='/') {
public function hasUpdated($path,$time) {
$this->init();
if(!$path and $this->root=='/') {
// mtime doesn't work for shares, but giving the nature of the backend,
// doing a full update is still just fast enough
return true;

View file

@ -6,16 +6,33 @@
* See the COPYING-README file.
*/
namespace OC\Files\Storage;
abstract class StreamWrapper extends \OC\Files\Storage\Common{
private $ready = false;
protected function init(){
if($this->ready){
return;
}
$this->ready = true;
//create the root folder if necesary
if(!$this->is_dir('')) {
$this->mkdir('');
}
}
abstract class OC_FileStorage_StreamWrapper extends OC_Filestorage_Common{
abstract public function constructUrl($path);
public function mkdir($path) {
$this->init();
return mkdir($this->constructUrl($path));
}
public function rmdir($path) {
if ($this->file_exists($path)) {
$this->init();
if($this->file_exists($path)) {
$succes = rmdir($this->constructUrl($path));
clearstatcache();
return $succes;
@ -25,10 +42,12 @@ abstract class OC_FileStorage_StreamWrapper extends OC_Filestorage_Common{
}
public function opendir($path) {
$this->init();
return opendir($this->constructUrl($path));
}
public function filetype($path) {
$this->init();
return filetype($this->constructUrl($path));
}
@ -41,46 +60,54 @@ abstract class OC_FileStorage_StreamWrapper extends OC_Filestorage_Common{
}
public function file_exists($path) {
$this->init();
return file_exists($this->constructUrl($path));
}
public function unlink($path) {
$this->init();
$succes = unlink($this->constructUrl($path));
clearstatcache();
return $succes;
}
public function fopen($path, $mode) {
return fopen($this->constructUrl($path), $mode);
public function fopen($path,$mode) {
$this->init();
return fopen($this->constructUrl($path),$mode);
}
public function free_space($path) {
return 0;
}
public function touch($path, $mtime = null) {
if (is_null($mtime)) {
$fh = $this->fopen($path, 'a');
fwrite($fh, '');
public function touch($path,$mtime=null) {
$this->init();
if(is_null($mtime)) {
$fh = $this->fopen($path,'a');
fwrite($fh,'');
fclose($fh);
} else {
return false;//not supported
}
}
public function getFile($path, $target) {
return copy($this->constructUrl($path), $target);
public function getFile($path,$target) {
$this->init();
return copy($this->constructUrl($path),$target);
}
public function uploadFile($path, $target) {
return copy($path, $this->constructUrl($target));
public function uploadFile($path,$target) {
$this->init();
return copy($path,$this->constructUrl($target));
}
public function rename($path1, $path2) {
return rename($this->constructUrl($path1), $this->constructUrl($path2));
public function rename($path1,$path2) {
$this->init();
return rename($this->constructUrl($path1),$this->constructUrl($path2));
}
public function stat($path) {
$this->init();
return stat($this->constructUrl($path));
}

View file

@ -6,24 +6,28 @@
* See the COPYING-README file.
*/
namespace OC\Files\Storage;
require_once 'php-cloudfiles/cloudfiles.php';
class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
class SWIFT extends \OC\Files\Storage\Common{
private $id;
private $host;
private $root;
private $user;
private $token;
private $secure;
private $ready = false;
/**
* @var CF_Authentication auth
* @var \CF_Authentication auth
*/
private $auth;
/**
* @var CF_Connection conn
* @var \CF_Connection conn
*/
private $conn;
/**
* @var CF_Container rootContainer
* @var \CF_Container rootContainer
*/
private $rootContainer;
@ -35,18 +39,18 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
/**
* translate directory path to container name
* @param string path
* @param string $path
* @return string
*/
private function getContainerName($path) {
$path=trim(trim($this->root, '/')."/".$path, '/.');
$path=trim(trim($this->root, '/') . "/".$path, '/.');
return str_replace('/', '\\', $path);
}
/**
* get container by path
* @param string path
* @return CF_Container
* @param string $path
* @return \CF_Container
*/
private function getContainer($path) {
if ($path=='' or $path=='/') {
@ -59,15 +63,15 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
$container=$this->conn->get_container($this->getContainerName($path));
$this->containers[$path]=$container;
return $container;
} catch(NoSuchContainerException $e) {
} catch(\NoSuchContainerException $e) {
return null;
}
}
/**
* create container
* @param string path
* @return CF_Container
* @param string $path
* @return \CF_Container
*/
private function createContainer($path) {
if ($path=='' or $path=='/' or $path=='.') {
@ -89,8 +93,8 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
/**
* get object by path
* @param string path
* @return CF_Object
* @param string $path
* @return \CF_Object
*/
private function getObject($path) {
if (isset($this->objects[$path])) {
@ -107,7 +111,7 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
$obj=$container->get_object(basename($path));
$this->objects[$path]=$obj;
return $obj;
} catch(NoSuchObjectException $e) {
} catch(\NoSuchObjectException $e) {
return null;
}
}
@ -132,8 +136,8 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
/**
* create object
* @param string path
* @return CF_Object
* @param string $path
* @return \CF_Object
*/
private function createObject($path) {
$container=$this->getContainer(dirname($path));
@ -154,7 +158,7 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
/**
* check if container for path exists
* @param string path
* @param string $path
* @return bool
*/
private function containerExists($path) {
@ -163,15 +167,15 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
/**
* get the list of emulated sub containers
* @param CF_Container container
* @param \CF_Container $container
* @return array
*/
private function getSubContainers($container) {
$tmpFile=OCP\Files::tmpFile();
$tmpFile=\OCP\Files::tmpFile();
$obj=$this->getSubContainerFile($container);
try {
$obj->save_to_filename($tmpFile);
} catch(Exception $e) {
} catch(\Exception $e) {
return array();
}
$obj->save_to_filename($tmpFile);
@ -185,15 +189,15 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
/**
* add an emulated sub container
* @param CF_Container container
* @param string name
* @param \CF_Container $container
* @param string $name
* @return bool
*/
private function addSubContainer($container, $name) {
if ( ! $name) {
return false;
}
$tmpFile=OCP\Files::tmpFile();
$tmpFile=\OCP\Files::tmpFile();
$obj=$this->getSubContainerFile($container);
try {
$obj->save_to_filename($tmpFile);
@ -201,16 +205,15 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
foreach ($containers as &$sub) {
$sub=trim($sub);
}
if (array_search($name, $containers)!==false) {
if(array_search($name, $containers) !== false) {
unlink($tmpFile);
return false;
} else {
$fh=fopen($tmpFile, 'a');
fwrite($fh, $name."\n");
fwrite($fh,$name . "\n");
}
} catch(Exception $e) {
$containers=array();
file_put_contents($tmpFile, $name."\n");
} catch(\Exception $e) {
file_put_contents($tmpFile, $name . "\n");
}
$obj->load_from_filename($tmpFile);
@ -220,20 +223,20 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
/**
* remove an emulated sub container
* @param CF_Container container
* @param string name
* @param \CF_Container $container
* @param string $name
* @return bool
*/
private function removeSubContainer($container, $name) {
if ( ! $name) {
return false;
}
$tmpFile=OCP\Files::tmpFile();
$tmpFile=\OCP\Files::tmpFile();
$obj=$this->getSubContainerFile($container);
try {
$obj->save_to_filename($tmpFile);
$containers=file($tmpFile);
} catch (Exception $e) {
} catch (\Exception $e) {
return false;
}
foreach ($containers as &$sub) {
@ -255,8 +258,8 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
/**
* ensure a subcontainer file exists and return it's object
* @param CF_Container container
* @return CF_Object
* @param \CF_Container $container
* @return \CF_Object
*/
private function getSubContainerFile($container) {
try {
@ -283,10 +286,19 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
if ( ! $this->root || $this->root[0]!='/') {
$this->root='/'.$this->root;
}
$this->auth = new CF_Authentication($this->user, $this->token, null, $this->host);
}
private function init(){
if($this->ready){
return;
}
$this->ready = true;
$this->auth = new \CF_Authentication($this->user, $this->token, null, $this->host);
$this->auth->authenticate();
$this->conn = new CF_Connection($this->auth);
$this->conn = new \CF_Connection($this->auth);
if ( ! $this->containerExists('/')) {
$this->rootContainer=$this->createContainer('/');
@ -295,8 +307,13 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
}
}
public function getId(){
return $this->id;
}
public function mkdir($path) {
$this->init();
if ($this->containerExists($path)) {
return false;
} else {
@ -306,7 +323,8 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
}
public function rmdir($path) {
if ( ! $this->containerExists($path)) {
$this->init();
if (!$this->containerExists($path)) {
return false;
} else {
$this->emptyContainer($path);
@ -343,6 +361,7 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
}
public function opendir($path) {
$this->init();
$container=$this->getContainer($path);
$files=$this->getObjects($container);
$i=array_search(self::SUBCONTAINER_FILE, $files);
@ -352,11 +371,12 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
$subContainers=$this->getSubContainers($container);
$files=array_merge($files, $subContainers);
$id=$this->getContainerName($path);
OC_FakeDirStream::$dirs[$id]=$files;
\OC\Files\Stream\Dir::register($id, $files);
return opendir('fakedir://'.$id);
}
public function filetype($path) {
$this->init();
if ($this->containerExists($path)) {
return 'dir';
} else {
@ -373,6 +393,7 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
}
public function file_exists($path) {
$this->init();
if ($this->is_dir($path)) {
return true;
} else {
@ -381,6 +402,7 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
}
public function file_get_contents($path) {
$this->init();
$obj=$this->getObject($path);
if (is_null($obj)) {
return false;
@ -389,6 +411,7 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
}
public function file_put_contents($path, $content) {
$this->init();
$obj=$this->getObject($path);
if (is_null($obj)) {
$container=$this->getContainer(dirname($path));
@ -402,6 +425,7 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
}
public function unlink($path) {
$this->init();
if ($this->containerExists($path)) {
return $this->rmdir($path);
}
@ -415,6 +439,7 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
}
public function fopen($path, $mode) {
$this->init();
switch($mode) {
case 'r':
case 'rb':
@ -440,7 +465,7 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
case 'c':
case 'c+':
$tmpFile=$this->getTmpFile($path);
OC_CloseStreamWrapper::$callBacks[$tmpFile]=array($this, 'writeBack');
\OC\Files\Stream\Close::registerCallback($tmpFile, array($this, 'writeBack'));
self::$tempFiles[$tmpFile]=$path;
return fopen('close://'.$tmpFile, $mode);
}
@ -458,6 +483,7 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
}
public function touch($path, $mtime=null) {
$this->init();
$obj=$this->getObject($path);
if (is_null($obj)) {
return false;
@ -472,6 +498,7 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
}
public function rename($path1, $path2) {
$this->init();
$sourceContainer=$this->getContainer(dirname($path1));
$targetContainer=$this->getContainer(dirname($path2));
$result=$sourceContainer->move_object_to(basename($path1), $targetContainer, basename($path2));
@ -484,6 +511,7 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
}
public function copy($path1, $path2) {
$this->init();
$sourceContainer=$this->getContainer(dirname($path1));
$targetContainer=$this->getContainer(dirname($path2));
$result=$sourceContainer->copy_object_to(basename($path1), $targetContainer, basename($path2));
@ -495,6 +523,7 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
}
public function stat($path) {
$this->init();
$container=$this->getContainer($path);
if ( ! is_null($container)) {
return array(
@ -523,17 +552,19 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
}
private function getTmpFile($path) {
$this->init();
$obj=$this->getObject($path);
if ( ! is_null($obj)) {
$tmpFile=OCP\Files::tmpFile();
$tmpFile=\OCP\Files::tmpFile();
$obj->save_to_filename($tmpFile);
return $tmpFile;
} else {
return OCP\Files::tmpFile();
return \OCP\Files::tmpFile();
}
}
private function fromTmpFile($tmpFile, $path) {
$this->init();
$obj=$this->getObject($path);
if (is_null($obj)) {
$obj=$this->createObject($path);
@ -544,7 +575,7 @@ class OC_FileStorage_SWIFT extends OC_Filestorage_Common{
/**
* remove custom mtime metadata
* @param CF_Object obj
* @param \CF_Object $obj
*/
private function resetMTime($obj) {
if (isset($obj->metadata['Mtime'])) {

View file

@ -6,14 +6,17 @@
* See the COPYING-README file.
*/
class OC_FileStorage_DAV extends OC_Filestorage_Common{
namespace OC\Files\Storage;
class DAV extends \OC\Files\Storage\Common{
private $password;
private $user;
private $host;
private $secure;
private $root;
private $ready;
/**
* @var Sabre_DAV_Client
* @var \Sabre_DAV_Client
*/
private $client;
@ -43,6 +46,13 @@ class OC_FileStorage_DAV extends OC_Filestorage_Common{
if (substr($this->root, -1, 1)!='/') {
$this->root.='/';
}
}
private function init(){
if($this->ready){
return;
}
$this->ready = true;
$settings = array(
'baseUri' => $this->createBaseUri(),
@ -50,7 +60,7 @@ class OC_FileStorage_DAV extends OC_Filestorage_Common{
'password' => $this->password,
);
$this->client = new Sabre_DAV_Client($settings);
$this->client = new \Sabre_DAV_Client($settings);
$caview = \OCP\Files::getStorage('files_external');
if ($caview) {
@ -63,6 +73,10 @@ class OC_FileStorage_DAV extends OC_Filestorage_Common{
$this->mkdir('');
}
public function getId(){
return 'webdav::' . $this->user . '@' . $this->host . '/' . $this->root;
}
private function createBaseUri() {
$baseUri='http';
if ($this->secure) {
@ -73,40 +87,45 @@ class OC_FileStorage_DAV extends OC_Filestorage_Common{
}
public function mkdir($path) {
$this->init();
$path=$this->cleanPath($path);
return $this->simpleResponse('MKCOL', $path, null, 201);
}
public function rmdir($path) {
$this->init();
$path=$this->cleanPath($path);
return $this->simpleResponse('DELETE', $path, null, 204);
}
public function opendir($path) {
$this->init();
$path=$this->cleanPath($path);
try {
$response=$this->client->propfind($path, array(), 1);
$id=md5('webdav'.$this->root.$path);
OC_FakeDirStream::$dirs[$id]=array();
$content = array();
$files=array_keys($response);
array_shift($files);//the first entry is the current directory
foreach ($files as $file) {
$file = urldecode(basename($file));
OC_FakeDirStream::$dirs[$id][]=$file;
$content[]=$file;
}
\OC\Files\Stream\Dir::register($id, $content);
return opendir('fakedir://'.$id);
} catch(Exception $e) {
} catch(\Exception $e) {
return false;
}
}
public function filetype($path) {
$this->init();
$path=$this->cleanPath($path);
try {
$response=$this->client->propfind($path, array('{DAV:}resourcetype'));
$responseType=$response["{DAV:}resourcetype"]->resourceType;
return (count($responseType)>0 and $responseType[0]=="{DAV:}collection")?'dir':'file';
} catch(Exception $e) {
} catch(\Exception $e) {
error_log($e->getMessage());
\OCP\Util::writeLog("webdav client", \OCP\Util::sanitizeHTML($e->getMessage()), \OCP\Util::ERROR);
return false;
@ -122,20 +141,23 @@ class OC_FileStorage_DAV extends OC_Filestorage_Common{
}
public function file_exists($path) {
$this->init();
$path=$this->cleanPath($path);
try {
$this->client->propfind($path, array('{DAV:}resourcetype'));
return true;//no 404 exception
} catch(Exception $e) {
} catch(\Exception $e) {
return false;
}
}
public function unlink($path) {
return $this->simpleResponse('DELETE', $path, null, 204);
$this->init();
return $this->simpleResponse('DELETE', $path, null ,204);
}
public function fopen($path, $mode) {
public function fopen($path,$mode) {
$this->init();
$path=$this->cleanPath($path);
switch($mode) {
case 'r':
@ -172,9 +194,9 @@ class OC_FileStorage_DAV extends OC_Filestorage_Common{
} else {
$ext='';
}
$tmpFile=OCP\Files::tmpFile($ext);
OC_CloseStreamWrapper::$callBacks[$tmpFile]=array($this, 'writeBack');
if ($this->file_exists($path)) {
$tmpFile = \OCP\Files::tmpFile($ext);
\OC\Files\Stream\Close::registerCallback($tmpFile, array($this, 'writeBack'));
if($this->file_exists($path)) {
$this->getFile($path, $tmpFile);
}
self::$tempFiles[$tmpFile]=$path;
@ -190,6 +212,7 @@ class OC_FileStorage_DAV extends OC_Filestorage_Common{
}
public function free_space($path) {
$this->init();
$path=$this->cleanPath($path);
try {
$response=$this->client->propfind($path, array('{DAV:}quota-available-bytes'));
@ -198,12 +221,13 @@ class OC_FileStorage_DAV extends OC_Filestorage_Common{
} else {
return 0;
}
} catch(Exception $e) {
} catch(\Exception $e) {
return 0;
}
}
public function touch($path, $mtime=null) {
$this->init();
if (is_null($mtime)) {
$mtime=time();
}
@ -211,12 +235,14 @@ class OC_FileStorage_DAV extends OC_Filestorage_Common{
$this->client->proppatch($path, array('{DAV:}lastmodified' => $mtime));
}
public function getFile($path, $target) {
$source=$this->fopen($path, 'r');
file_put_contents($target, $source);
public function getFile($path,$target) {
$this->init();
$source=$this->fopen($path,'r');
file_put_contents($target,$source);
}
public function uploadFile($path, $target) {
public function uploadFile($path,$target) {
$this->init();
$source=fopen($path, 'r');
$curl = curl_init();
@ -230,47 +256,46 @@ class OC_FileStorage_DAV extends OC_Filestorage_Common{
curl_close ($curl);
}
public function rename($path1, $path2) {
public function rename($path1,$path2) {
$this->init();
$path1=$this->cleanPath($path1);
$path2=$this->root.$this->cleanPath($path2);
try {
$this->client->request('MOVE', $path1, null, array('Destination'=>$path2));
return true;
} catch(Exception $e) {
echo $e;
echo 'fail';
} catch(\Exception $e) {
return false;
}
}
public function copy($path1, $path2) {
public function copy($path1,$path2) {
$this->init();
$path1=$this->cleanPath($path1);
$path2=$this->root.$this->cleanPath($path2);
try {
$this->client->request('COPY', $path1, null, array('Destination'=>$path2));
return true;
} catch(Exception $e) {
echo $e;
echo 'fail';
} catch(\Exception $e) {
return false;
}
}
public function stat($path) {
$this->init();
$path=$this->cleanPath($path);
try {
$response=$this->client->propfind($path, array('{DAV:}getlastmodified', '{DAV:}getcontentlength'));
return array(
'mtime'=>strtotime($response['{DAV:}getlastmodified']),
'size'=>(int)isset($response['{DAV:}getcontentlength']) ? $response['{DAV:}getcontentlength'] : 0,
'ctime'=>-1,
);
} catch(Exception $e) {
} catch(\Exception $e) {
return array();
}
}
public function getMimeType($path) {
$this->init();
$path=$this->cleanPath($path);
try {
$response=$this->client->propfind($path, array('{DAV:}getcontenttype', '{DAV:}resourcetype'));
@ -283,7 +308,7 @@ class OC_FileStorage_DAV extends OC_Filestorage_Common{
} else {
return false;
}
} catch(Exception $e) {
} catch(\Exception $e) {
return false;
}
}
@ -296,12 +321,12 @@ class OC_FileStorage_DAV extends OC_Filestorage_Common{
}
}
private function simpleResponse($method, $path, $body, $expected) {
private function simpleResponse($method,$path,$body,$expected) {
$path=$this->cleanPath($path);
try {
$response=$this->client->request($method, $path, $body);
return $response['statusCode']==$expected;
} catch(Exception $e) {
} catch(\Exception $e) {
return false;
}
}

View file

@ -24,7 +24,7 @@ OCP\Util::addScript('files_external', 'settings');
OCP\Util::addStyle('files_external', 'settings');
$backends = OC_Mount_Config::getBackends();
// Remove local storage
unset($backends['OC_Filestorage_Local']);
unset($backends['\OC\Files\Storage\Local']);
$tmpl = new OCP\Template('files_external', 'settings');
$tmpl->assign('isAdminPage', false, false);
$tmpl->assign('mounts', OC_Mount_Config::getPersonalMountPoints());

View file

@ -20,7 +20,9 @@
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
class Test_Filestorage_AmazonS3 extends Test_FileStorage {
namespace Test\Files\Storage;
class AmazonS3 extends Storage {
private $config;
private $id;
@ -32,12 +34,12 @@ class Test_Filestorage_AmazonS3 extends Test_FileStorage {
$this->markTestSkipped('AmazonS3 backend not configured');
}
$this->config['amazons3']['bucket'] = $id; // Make sure we have a new empty bucket to work in
$this->instance = new OC_Filestorage_AmazonS3($this->config['amazons3']);
$this->instance = new \OC\Files\Storage\AmazonS3($this->config['amazons3']);
}
public function tearDown() {
if ($this->instance) {
$s3 = new AmazonS3(array('key' => $this->config['amazons3']['key'],
$s3 = new \AmazonS3(array('key' => $this->config['amazons3']['key'],
'secret' => $this->config['amazons3']['secret']));
if ($s3->delete_all_objects($this->id)) {
$s3->delete_bucket($this->id);

Some files were not shown because too many files have changed in this diff Show more