Merge branch 'master' into from_live_to_on
Conflicts: apps/files_external/js/google.js
This commit is contained in:
commit
b1da1db0eb
589 changed files with 17595 additions and 9562 deletions
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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" )));
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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" )));
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
44
apps/files/ajax/upgrade.php
Normal file
44
apps/files/ajax/upgrade.php
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?php
|
||||
$l=OC_L10N::get('files');
|
||||
$l = OC_L10N::get('files');
|
||||
|
||||
OCP\App::registerAdmin('files', 'admin');
|
||||
|
||||
|
|
|
@ -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),
|
||||
);
|
||||
|
|
|
@ -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/>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1 +1 @@
|
|||
1.1.6
|
||||
1.1.7
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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 );
|
||||
|
|
|
@ -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();
|
||||
}
|
|
@ -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);
|
||||
});
|
||||
|
|
|
@ -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;
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -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
17
apps/files/js/upgrade.js
Normal 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
8
apps/files/js/upload.js
Normal 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');
|
|
@ -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" => "পরিবর্তিত",
|
||||
|
|
|
@ -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: " => "L’arxiu 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..."
|
||||
);
|
||||
|
|
|
@ -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..."
|
||||
);
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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" => "Τροποποιήθηκε",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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" => "تغییر یافته",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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é",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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" => "זמן שינוי",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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..."
|
||||
);
|
||||
|
|
|
@ -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" => "更新日時",
|
||||
|
|
|
@ -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" => "შეცვლილია",
|
||||
|
|
|
@ -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..." => "파일 시스템 캐시 업그레이드 중..."
|
||||
);
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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" => "Променето",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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..."
|
||||
);
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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" => "Изменён",
|
||||
|
|
|
@ -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..." => "Обновление кэша файловой системы... "
|
||||
);
|
||||
|
|
|
@ -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" => "වෙනස් කළ",
|
||||
|
|
|
@ -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é",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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" => "Измењено",
|
||||
|
|
|
@ -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..."
|
||||
);
|
||||
|
|
|
@ -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" => "மாற்றப்பட்டது",
|
||||
|
|
|
@ -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" => "ปรับปรุงล่าสุด",
|
||||
|
|
|
@ -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ı aşı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",
|
||||
|
|
|
@ -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" => "Змінено",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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" => "修改日期",
|
||||
|
|
|
@ -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" => "修改日期",
|
||||
|
|
|
@ -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" => "修改",
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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:?>
|
||||
|
|
|
@ -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;
|
||||
|
|
4
apps/files/templates/upgrade.php
Normal file
4
apps/files/templates/upgrade.php
Normal file
|
@ -0,0 +1,4 @@
|
|||
<div id="upgrade">
|
||||
<?php echo $l->t('Upgrading filesystem cache...');?>
|
||||
<div id="progressbar" />
|
||||
</div>
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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" => "없음"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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" => "Ни один"
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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/>
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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" => "백엔드",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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)));
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 {
|
|||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
||||
|
|
|
@ -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'])) {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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
Loading…
Reference in a new issue