summaryrefslogtreecommitdiffstats
path: root/apps/files
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files')
-rw-r--r--apps/files/admin.php4
-rw-r--r--apps/files/ajax/autocomplete.php2
-rw-r--r--apps/files/ajax/delete.php2
-rw-r--r--apps/files/ajax/download.php1
-rw-r--r--apps/files/ajax/list.php4
-rw-r--r--apps/files/ajax/mimeicon.php8
-rw-r--r--apps/files/ajax/move.php2
-rw-r--r--apps/files/ajax/newfile.php58
-rw-r--r--apps/files/ajax/rawlist.php2
-rw-r--r--apps/files/ajax/rename.php2
-rw-r--r--apps/files/ajax/scan.php6
-rw-r--r--apps/files/ajax/timezone.php4
-rw-r--r--apps/files/ajax/upload.php5
-rw-r--r--apps/files/appinfo/app.php1
-rw-r--r--apps/files/appinfo/filesync.php64
-rw-r--r--apps/files/appinfo/info.xml1
-rw-r--r--apps/files/appinfo/remote.php2
-rw-r--r--apps/files/appinfo/update.php16
-rw-r--r--apps/files/appinfo/version2
-rw-r--r--apps/files/css/files.css2
-rw-r--r--apps/files/download.php1
-rw-r--r--apps/files/index.php20
-rw-r--r--apps/files/js/fileactions.js54
-rw-r--r--apps/files/js/filelist.js127
-rw-r--r--apps/files/js/files.js373
-rw-r--r--apps/files/l10n/ar.php3
-rw-r--r--apps/files/l10n/bg_BG.php20
-rw-r--r--apps/files/l10n/ca.php21
-rw-r--r--apps/files/l10n/cs_CZ.php21
-rw-r--r--apps/files/l10n/da.php20
-rw-r--r--apps/files/l10n/de.php31
-rw-r--r--apps/files/l10n/el.php21
-rw-r--r--apps/files/l10n/eo.php21
-rw-r--r--apps/files/l10n/es.php21
-rw-r--r--apps/files/l10n/et_EE.php14
-rw-r--r--apps/files/l10n/eu.php21
-rw-r--r--apps/files/l10n/fa.php21
-rw-r--r--apps/files/l10n/fi_FI.php20
-rw-r--r--apps/files/l10n/fr.php21
-rw-r--r--apps/files/l10n/gl.php20
-rw-r--r--apps/files/l10n/he.php13
-rw-r--r--apps/files/l10n/hr.php13
-rw-r--r--apps/files/l10n/hu_HU.php21
-rw-r--r--apps/files/l10n/ia.php3
-rw-r--r--apps/files/l10n/id.php3
-rw-r--r--apps/files/l10n/it.php21
-rw-r--r--apps/files/l10n/ja_JP.php20
-rw-r--r--apps/files/l10n/ko.php13
-rw-r--r--apps/files/l10n/lb.php3
-rw-r--r--apps/files/l10n/lt_LT.php24
-rw-r--r--apps/files/l10n/lv.php20
-rw-r--r--apps/files/l10n/mk.php14
-rw-r--r--apps/files/l10n/ms_MY.php33
-rw-r--r--apps/files/l10n/nb_NO.php10
-rw-r--r--apps/files/l10n/nl.php14
-rw-r--r--apps/files/l10n/nn_NO.php3
-rw-r--r--apps/files/l10n/pl.php20
-rw-r--r--apps/files/l10n/pt_BR.php14
-rw-r--r--apps/files/l10n/pt_PT.php20
-rw-r--r--apps/files/l10n/ro.php2
-rw-r--r--apps/files/l10n/ru.php19
-rw-r--r--apps/files/l10n/sk_SK.php13
-rw-r--r--apps/files/l10n/sl.php20
-rw-r--r--apps/files/l10n/sr.php2
-rw-r--r--apps/files/l10n/sr@latin.php2
-rw-r--r--apps/files/l10n/sv.php33
-rw-r--r--apps/files/l10n/th_TH.php20
-rw-r--r--apps/files/l10n/tr.php15
-rw-r--r--apps/files/l10n/uk.php23
-rw-r--r--apps/files/l10n/vi.php31
-rw-r--r--apps/files/l10n/zh_CN.GB2312.php51
-rw-r--r--apps/files/l10n/zh_CN.php19
-rw-r--r--apps/files/l10n/zh_TW.php3
-rw-r--r--apps/files/settings.php2
-rw-r--r--apps/files/templates/admin.php2
-rw-r--r--apps/files/templates/index.php14
-rw-r--r--apps/files/templates/part.breadcrumb.php2
-rw-r--r--apps/files/templates/part.list.php3
78 files changed, 1326 insertions, 291 deletions
diff --git a/apps/files/admin.php b/apps/files/admin.php
index b0c2b35c696..d05eb7267b7 100644
--- a/apps/files/admin.php
+++ b/apps/files/admin.php
@@ -51,8 +51,10 @@ $allowZipDownload = intval(OCP\Config::getSystemValue('allowZipDownload', true))
OCP\App::setActiveNavigationEntry( "files_administration" );
+$htaccessWritable=is_writable(OC::$SERVERROOT.'/.htaccess');
+
$tmpl = new OCP\Template( 'files', 'admin' );
-$tmpl->assign( 'htaccessWorking', $htaccessWorking );
+$tmpl->assign( 'uploadChangable', $htaccessWorking and $htaccessWritable );
$tmpl->assign( 'uploadMaxFilesize', $maxUploadFilesize);
$tmpl->assign( 'maxPossibleUploadSize', OCP\Util::humanFileSize(PHP_INT_MAX));
$tmpl->assign( 'allowZipDownload', $allowZipDownload);
diff --git a/apps/files/ajax/autocomplete.php b/apps/files/ajax/autocomplete.php
index 7ff34da96b3..e504bb24bf8 100644
--- a/apps/files/ajax/autocomplete.php
+++ b/apps/files/ajax/autocomplete.php
@@ -52,5 +52,3 @@ if(OC_Filesystem::file_exists($base) and OC_Filesystem::is_dir($base)){
}
}
OCP\JSON::encodedPrint($files);
-
-?>
diff --git a/apps/files/ajax/delete.php b/apps/files/ajax/delete.php
index 161d820f735..695f803884e 100644
--- a/apps/files/ajax/delete.php
+++ b/apps/files/ajax/delete.php
@@ -26,5 +26,3 @@ if($success) {
} else {
OCP\JSON::error(array("data" => array( "message" => "Could not delete:\n" . $filesWithError )));
}
-
-?>
diff --git a/apps/files/ajax/download.php b/apps/files/ajax/download.php
index e9373f5f6ac..b9a4ddaf5e7 100644
--- a/apps/files/ajax/download.php
+++ b/apps/files/ajax/download.php
@@ -34,4 +34,3 @@ $files = $_GET["files"];
$dir = $_GET["dir"];
OC_Files::get($dir, $files, $_SERVER['REQUEST_METHOD'] == 'HEAD' ? true : false);
-?>
diff --git a/apps/files/ajax/list.php b/apps/files/ajax/list.php
index ceb8d158580..dae0c1a828d 100644
--- a/apps/files/ajax/list.php
+++ b/apps/files/ajax/list.php
@@ -38,9 +38,7 @@ foreach( OC_Files::getdirectorycontent( $dir ) as $i ){
}
$list = new OCP\Template( "files", "part.list", "" );
-$list->assign( "files", $files );
+$list->assign( "files", $files, false );
$data = array('files' => $list->fetchPage());
OCP\JSON::success(array('data' => $data));
-
-?>
diff --git a/apps/files/ajax/mimeicon.php b/apps/files/ajax/mimeicon.php
index 57898cd82d9..dbb8b60112a 100644
--- a/apps/files/ajax/mimeicon.php
+++ b/apps/files/ajax/mimeicon.php
@@ -1,11 +1,3 @@
<?php
-// no need for apps
-$RUNTIME_NOAPPS=false;
-
-// Init owncloud
-
-
print OC_Helper::mimetypeIcon($_GET['mime']);
-
-?>
diff --git a/apps/files/ajax/move.php b/apps/files/ajax/move.php
index 56171dd0ed3..3d4003a8edc 100644
--- a/apps/files/ajax/move.php
+++ b/apps/files/ajax/move.php
@@ -17,5 +17,3 @@ if(OC_Files::move($dir,$file,$target,$file)){
}else{
OCP\JSON::error(array("data" => array( "message" => "Could not move $file" )));
}
-
-?>
diff --git a/apps/files/ajax/newfile.php b/apps/files/ajax/newfile.php
index 7236deb65c9..cc9208ad08f 100644
--- a/apps/files/ajax/newfile.php
+++ b/apps/files/ajax/newfile.php
@@ -1,16 +1,25 @@
<?php
// Init owncloud
+global $eventSource;
+if(!OC_User::isLoggedIn()){
+ exit;
+}
-OCP\JSON::checkLoggedIn();
-OCP\JSON::callCheck();
+session_write_close();
// Get the params
-$dir = isset( $_POST['dir'] ) ? stripslashes($_POST['dir']) : '';
-$filename = isset( $_POST['filename'] ) ? stripslashes($_POST['filename']) : '';
-$content = isset( $_POST['content'] ) ? $_POST['content'] : '';
-$source = isset( $_POST['source'] ) ? stripslashes($_POST['source']) : '';
+$dir = isset( $_REQUEST['dir'] ) ? stripslashes($_REQUEST['dir']) : '';
+$filename = isset( $_REQUEST['filename'] ) ? stripslashes($_REQUEST['filename']) : '';
+$content = isset( $_REQUEST['content'] ) ? $_REQUEST['content'] : '';
+$source = isset( $_REQUEST['source'] ) ? stripslashes($_REQUEST['source']) : '';
+
+if($source){
+ $eventSource=new OC_EventSource();
+}else{
+ OC_JSON::callCheck();
+}
if($filename == '') {
OCP\JSON::error(array("data" => array( "message" => "Empty Filename" )));
@@ -21,22 +30,49 @@ if(strpos($filename,'/')!==false){
exit();
}
+function progress($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max){
+ static $filesize = 0;
+ static $lastsize = 0;
+ global $eventSource;
+
+ switch($notification_code) {
+ case STREAM_NOTIFY_FILE_SIZE_IS:
+ $filesize = $bytes_max;
+ break;
+
+ case STREAM_NOTIFY_PROGRESS:
+ if ($bytes_transferred > 0) {
+ if (!isset($filesize)) {
+ } else {
+ $progress = (int)(($bytes_transferred/$filesize)*100);
+ if($progress>$lastsize){//limit the number or messages send
+ $eventSource->send('progress',$progress);
+ }
+ $lastsize=$progress;
+ }
+ }
+ break;
+ }
+}
+
if($source){
if(substr($source,0,8)!='https://' and substr($source,0,7)!='http://'){
OCP\JSON::error(array("data" => array( "message" => "Not a valid source" )));
exit();
}
- $sourceStream=fopen($source,'rb');
+
+ $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);
if($result){
$mime=OC_Filesystem::getMimetype($target);
- OCP\JSON::success(array("data" => array('mime'=>$mime)));
- exit();
+ $eventSource->send('success',$mime);
}else{
- OCP\JSON::error(array("data" => array( "message" => "Error while downloading ".$source. ' to '.$target )));
- exit();
+ $eventSource->send('error',"Error while downloading ".$source. ' to '.$target);
}
+ $eventSource->close();
+ exit();
}else{
if($content){
if(OC_Filesystem::file_put_contents($dir.'/'.$filename,$content)){
diff --git a/apps/files/ajax/rawlist.php b/apps/files/ajax/rawlist.php
index 7cb02f79673..d159f6e152f 100644
--- a/apps/files/ajax/rawlist.php
+++ b/apps/files/ajax/rawlist.php
@@ -22,5 +22,3 @@ foreach( OC_Files::getdirectorycontent( $dir, $mimetype ) as $i ){
}
OCP\JSON::success(array('data' => $files));
-
-?>
diff --git a/apps/files/ajax/rename.php b/apps/files/ajax/rename.php
index 8e98308eb5c..45448279fa1 100644
--- a/apps/files/ajax/rename.php
+++ b/apps/files/ajax/rename.php
@@ -18,5 +18,3 @@ if( OC_Files::move( $dir, $file, $dir, $newname )) {
else{
OCP\JSON::error(array("data" => array( "message" => "Unable to rename file" )));
}
-
-?>
diff --git a/apps/files/ajax/scan.php b/apps/files/ajax/scan.php
index d695ce81617..eef38858516 100644
--- a/apps/files/ajax/scan.php
+++ b/apps/files/ajax/scan.php
@@ -10,11 +10,17 @@ if(!$checkOnly){
$eventSource=new OC_EventSource();
}
+session_write_close();
//create the file cache if necesary
if($force or !OC_FileCache::inCache('')){
if(!$checkOnly){
OCP\DB::beginTransaction();
+
+ if(OC_Cache::isFast()){
+ OC_Cache::clear('fileid/'); //make sure the old fileid's don't mess things up
+ }
+
OC_FileCache::scan($dir,$eventSource);
OC_FileCache::clean();
OCP\DB::commit();
diff --git a/apps/files/ajax/timezone.php b/apps/files/ajax/timezone.php
index 268ae594835..0be441a36a2 100644
--- a/apps/files/ajax/timezone.php
+++ b/apps/files/ajax/timezone.php
@@ -1,6 +1,6 @@
<?php
// FIXME: this should start a secure session if forcessl is enabled
// see lib/base.php for an example
- @session_start();
+ //session_start();
$_SESSION['timezone'] = $_GET['time'];
-?>
+ \ No newline at end of file
diff --git a/apps/files/ajax/upload.php b/apps/files/ajax/upload.php
index d6c799af32c..74e6eb560d8 100644
--- a/apps/files/ajax/upload.php
+++ b/apps/files/ajax/upload.php
@@ -7,6 +7,7 @@
OCP\JSON::setContentTypeHeader('text/plain');
OCP\JSON::checkLoggedIn();
+OCP\JSON::callCheck();
if (!isset($_FILES['files'])) {
OCP\JSON::error(array("data" => array( "message" => "No file was uploaded. Unknown error" )));
@@ -48,7 +49,7 @@ if(strpos($dir,'..') === false){
for($i=0;$i<$fileCount;$i++){
$target = OCP\Files::buildNotExistingFileName(stripslashes($dir), $files['name'][$i]);
if(is_uploaded_file($files['tmp_name'][$i]) and OC_Filesystem::fromTmpFile($files['tmp_name'][$i],$target)){
- $meta=OC_FileCache::getCached($target);
+ $meta=OC_FileCache_Cached::get($target);
$result[]=array( "status" => "success", 'mime'=>$meta['mimetype'],'size'=>$meta['size'],'name'=>basename($target));
}
}
@@ -59,5 +60,3 @@ if(strpos($dir,'..') === false){
}
OCP\JSON::error(array('data' => array('error' => $error, "file" => $fileName)));
-
-?>
diff --git a/apps/files/appinfo/app.php b/apps/files/appinfo/app.php
index 5c0d3c8db83..db3b213ab8d 100644
--- a/apps/files/appinfo/app.php
+++ b/apps/files/appinfo/app.php
@@ -1,7 +1,6 @@
<?php
$l=OC_L10N::get('files');
-OCP\App::register( array( "order" => 2, "id" => "files", "name" => "Files" ));
OCP\App::registerAdmin('files','admin');
OCP\App::addNavigationEntry( array( "id" => "files_index", "order" => 0, "href" => OCP\Util::linkTo( "files", "index.php" ), "icon" => OCP\Util::imagePath( "core", "places/home.svg" ), "name" => $l->t("Files") ));
diff --git a/apps/files/appinfo/filesync.php b/apps/files/appinfo/filesync.php
new file mode 100644
index 00000000000..707ee2435c0
--- /dev/null
+++ b/apps/files/appinfo/filesync.php
@@ -0,0 +1,64 @@
+<?php
+/**
+ * Copyright (c) 2012 Bart Visscher <bartv@thisnet.nl>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+/**
+ * filesync can be called with a PUT method.
+ * PUT takes a stream starting with a 2 byte blocksize,
+ * followed by binary md5 of the blocks. Everything in big-endian.
+ * The return is a json encoded with:
+ * - 'transferid'
+ * - 'needed' chunks
+ * - 'last' checked chunk
+ * The URL is made of 3 parts, the service url (remote.php/filesync/), the sync
+ * type and the path in ownCloud.
+ * At the moment the only supported sync type is 'oc_chunked'.
+ * The final URL will look like http://.../remote.php/filesync/oc_chunked/path/to/file
+ */
+
+// only need filesystem apps
+$RUNTIME_APPTYPES=array('filesystem','authentication');
+OC_App::loadApps($RUNTIME_APPTYPES);
+if(!OC_User::isLoggedIn()){
+ if(!isset($_SERVER['PHP_AUTH_USER'])){
+ header('WWW-Authenticate: Basic realm="ownCloud Server"');
+ header('HTTP/1.0 401 Unauthorized');
+ echo 'Valid credentials must be supplied';
+ exit();
+ } else {
+ if(!OC_User::login($_SERVER["PHP_AUTH_USER"], $_SERVER["PHP_AUTH_PW"])){
+ exit();
+ }
+ }
+}
+
+list($type,$file) = explode('/', substr($path_info,1+strlen($service)+1), 2);
+
+if ($type != 'oc_chunked') {
+ OC_Response::setStatus(OC_Response::STATUS_NOT_FOUND);
+ die;
+}
+
+if (!OC_Filesystem::is_file($file)) {
+ OC_Response::setStatus(OC_Response::STATUS_NOT_FOUND);
+ die;
+}
+
+switch($_SERVER['REQUEST_METHOD']) {
+ case 'PUT':
+ $input = fopen("php://input", "r");
+ $org_file = OC_Filesystem::fopen($file, 'rb');
+ $info = array(
+ 'name' => basename($file),
+ );
+ $sync = new OC_FileChunking($info);
+ $result = $sync->signature_split($org_file, $input);
+ echo json_encode($result);
+ break;
+ default:
+ OC_Response::setStatus(OC_Response::STATUS_NOT_FOUND);
+}
diff --git a/apps/files/appinfo/info.xml b/apps/files/appinfo/info.xml
index 105df092ce5..e58f83c5a01 100644
--- a/apps/files/appinfo/info.xml
+++ b/apps/files/appinfo/info.xml
@@ -15,5 +15,6 @@
<remote>
<files>appinfo/remote.php</files>
<webdav>appinfo/remote.php</webdav>
+ <filesync>appinfo/filesync.php</filesync>
</remote>
</info>
diff --git a/apps/files/appinfo/remote.php b/apps/files/appinfo/remote.php
index b66843556bb..a84216b61b7 100644
--- a/apps/files/appinfo/remote.php
+++ b/apps/files/appinfo/remote.php
@@ -5,7 +5,7 @@
*
* @author Frank Karlitschek
* @author Jakob Sack
- * @copyright 2010 Frank Karlitschek karlitschek@kde.org
+ * @copyright 2012 Frank Karlitschek frank@owncloud.org
* @copyright 2011 Jakob Sack kde@jakobsack.de
*
* This library is free software; you can redistribute it and/or
diff --git a/apps/files/appinfo/update.php b/apps/files/appinfo/update.php
index c3e51debb52..5514aed197f 100644
--- a/apps/files/appinfo/update.php
+++ b/apps/files/appinfo/update.php
@@ -1,13 +1,13 @@
<?php
-// fix webdav properties, remove namespace information between curly bracket update for OC4
-$installedVersion=OCP\Config::getAppValue('files', 'installed_version');
-if (version_compare($installedVersion, '1.1.2', '<')) {
- $query = OC_DB::prepare( "SELECT propertyname, propertypath, userid FROM `*PREFIX*properties`" );
- $result = $query->execute();
- while( $row = $result->fetchRow()){
- $query = OC_DB::prepare( 'UPDATE `*PREFIX*properties` SET `propertyname` = ? WHERE `userid` = ? AND `propertypath` = ?' );
- $query->execute( array( preg_replace("/^{.*}/", "", $row["propertyname"]),$row["userid"], $row["propertypath"] ));
+// fix webdav properties, remove namespace information between curly bracket (update from OC4 to OC5)
+$installedVersion=OCP\Config::getAppValue('files', 'installed_version');
+if (version_compare($installedVersion, '1.1.4', '<')) {
+ $query = OC_DB::prepare( "SELECT propertyname, propertypath, userid FROM `*PREFIX*properties`" );
+ $result = $query->execute();
+ while( $row = $result->fetchRow()){
+ $query = OC_DB::prepare( 'UPDATE *PREFIX*properties SET propertyname = ? WHERE userid = ? AND propertypath = ?' );
+ $query->execute( array( preg_replace("/^{.*}/", "", $row["propertyname"]),$row["userid"], $row["propertypath"] ));
}
}
diff --git a/apps/files/appinfo/version b/apps/files/appinfo/version
index 8428158dc5b..e25d8d9f357 100644
--- a/apps/files/appinfo/version
+++ b/apps/files/appinfo/version
@@ -1 +1 @@
-1.1.2 \ No newline at end of file
+1.1.5
diff --git a/apps/files/css/files.css b/apps/files/css/files.css
index dc298e4d440..7298a7ef6e6 100644
--- a/apps/files/css/files.css
+++ b/apps/files/css/files.css
@@ -88,4 +88,4 @@ a.action>img { max-height:16px; max-width:16px; vertical-align:text-bottom; }
#navigation>ul>li:first-child { background:url('%webroot%/core/img/breadcrumb-start.svg') no-repeat 12.5em 0px; width:12.5em; padding-right:1em; position:fixed; }
#navigation>ul>li:first-child+li { padding-top:2.9em; }
-#scanning-message{ top:40%; left:40%; position:absolute; display:none; }
+#scanning-message{ top:40%; left:40%; position:absolute; display:none; } \ No newline at end of file
diff --git a/apps/files/download.php b/apps/files/download.php
index 2b5d4e2d876..4e2478d1ad7 100644
--- a/apps/files/download.php
+++ b/apps/files/download.php
@@ -46,4 +46,3 @@ header('Content-Length: '.OC_Filesystem::filesize($filename));
@ob_end_clean();
OC_Filesystem::readfile( $filename );
-?>
diff --git a/apps/files/index.php b/apps/files/index.php
index f6a1c4bfb4c..6d53527025a 100644
--- a/apps/files/index.php
+++ b/apps/files/index.php
@@ -74,12 +74,12 @@ foreach( explode( '/', $dir ) as $i ){
// make breadcrumb und filelist markup
$list = new OCP\Template( 'files', 'part.list', '' );
-$list->assign( 'files', $files );
-$list->assign( 'baseURL', OCP\Util::linkTo('files', 'index.php').'&dir=');
-$list->assign( 'downloadURL', OCP\Util::linkTo('files', 'download.php').'?file=');
+$list->assign( 'files', $files, false );
+$list->assign( 'baseURL', OCP\Util::linkTo('files', 'index.php').'&dir=', false);
+$list->assign( 'downloadURL', OCP\Util::linkTo('files', 'download.php').'?file=', false);
$breadcrumbNav = new OCP\Template( 'files', 'part.breadcrumb', '' );
-$breadcrumbNav->assign( 'breadcrumb', $breadcrumb );
-$breadcrumbNav->assign( 'baseURL', OCP\Util::linkTo('files', 'index.php').'&dir=');
+$breadcrumbNav->assign( 'breadcrumb', $breadcrumb, false );
+$breadcrumbNav->assign( 'baseURL', OCP\Util::linkTo('files', 'index.php').'&dir=', false);
$upload_max_filesize = OCP\Util::computerFileSize(ini_get('upload_max_filesize'));
$post_max_size = OCP\Util::computerFileSize(ini_get('post_max_size'));
@@ -90,14 +90,12 @@ $freeSpace=max($freeSpace,0);
$maxUploadFilesize = min($maxUploadFilesize ,$freeSpace);
$tmpl = new OCP\Template( 'files', 'index', 'user' );
-$tmpl->assign( 'fileList', $list->fetchPage() );
-$tmpl->assign( 'breadcrumb', $breadcrumbNav->fetchPage() );
-$tmpl->assign( 'dir', $dir);
-$tmpl->assign( 'readonly', !OC_Filesystem::is_writable($dir.'/'));
+$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( 'files', $files );
$tmpl->assign( 'uploadMaxFilesize', $maxUploadFilesize);
$tmpl->assign( 'uploadMaxHumanFilesize', OCP\Util::humanFileSize($maxUploadFilesize));
$tmpl->assign( 'allowZipDownload', intval(OCP\Config::getSystemValue('allowZipDownload', true)));
$tmpl->printPage();
-
-?>
diff --git a/apps/files/js/fileactions.js b/apps/files/js/fileactions.js
index b6f4d0b0896..39e848cec80 100644
--- a/apps/files/js/fileactions.js
+++ b/apps/files/js/fileactions.js
@@ -1,19 +1,28 @@
FileActions={
+ PERMISSION_CREATE:4,
+ PERMISSION_READ:1,
+ PERMISSION_UPDATE:2,
+ PERMISSION_DELETE:8,
+ PERMISSION_SHARE:16,
actions:{},
defaults:{},
icons:{},
currentFile:null,
- register:function(mime,name,icon,action){
+ register:function(mime,name,permissions,icon,action){
if(!FileActions.actions[mime]){
FileActions.actions[mime]={};
}
- FileActions.actions[mime][name]=action;
+ if (!FileActions.actions[mime][name]) {
+ FileActions.actions[mime][name] = {};
+ }
+ FileActions.actions[mime][name]['action'] = action;
+ FileActions.actions[mime][name]['permissions'] = permissions;
FileActions.icons[name]=icon;
},
setDefault:function(mime,name){
FileActions.defaults[mime]=name;
},
- get:function(mime,type){
+ get:function(mime,type,permissions){
var actions={};
if(FileActions.actions.all){
actions=$.extend( actions, FileActions.actions.all )
@@ -32,9 +41,15 @@ FileActions={
actions=$.extend( actions, FileActions.actions[type] )
}
}
- return actions;
+ var filteredActions = {};
+ $.each(actions, function(name, action) {
+ if (action.permissions & permissions) {
+ filteredActions[name] = action.action;
+ }
+ });
+ return filteredActions;
},
- getDefault:function(mime,type){
+ getDefault:function(mime,type,permissions){
if(mime){
var mimePart=mime.substr(0,mime.indexOf('/'));
}
@@ -48,22 +63,20 @@ FileActions={
}else{
name=FileActions.defaults.all;
}
- var actions=this.get(mime,type);
+ var actions=this.get(mime,type,permissions);
return actions[name];
},
- display:function(parent, filename, type){
+ display:function(parent){
FileActions.currentFile=parent;
$('#fileList span.fileactions, #fileList td.date a.action').remove();
- var actions=FileActions.get(FileActions.getCurrentMimeType(),FileActions.getCurrentType());
+ var actions=FileActions.get(FileActions.getCurrentMimeType(),FileActions.getCurrentType(), FileActions.getCurrentPermissions());
var file=FileActions.getCurrentFile();
if($('tr').filterAttr('data-file',file).data('renaming')){
return;
}
parent.children('a.name').append('<span class="fileactions" />');
- var defaultAction=FileActions.getDefault(FileActions.getCurrentMimeType(),FileActions.getCurrentType());
+ var defaultAction=FileActions.getDefault(FileActions.getCurrentMimeType(),FileActions.getCurrentType(), FileActions.getCurrentPermissions());
for(name in actions){
- // no rename and share action for the 'Shared' dir
- if((name=='Rename' || name =='Share') && type=='dir' && filename=='Shared') { continue; }
if((name=='Download' || actions[name]!=defaultAction) && name!='Delete'){
var img=FileActions.icons[name];
if(img.call){
@@ -86,16 +99,12 @@ FileActions={
parent.find('a.name>span.fileactions').append(element);
}
}
- if(actions['Delete'] && (type!='dir' || filename != 'Shared')){ // no delete action for the 'Shared' dir
+ if(actions['Delete']){
var img=FileActions.icons['Delete'];
if(img.call){
img=img(file);
}
- if ($('#dir').val().indexOf('Shared') != -1) {
- var html='<a href="#" original-title="' + t('files', 'Unshare') + '" class="action delete" style="display:none" />';
- } else {
- var html='<a href="#" original-title="' + t('files', 'Delete') + '" class="action delete" style="display:none" />';
- }
+ var html='<a href="#" original-title="' + t('files', 'Delete') + '" class="action delete" style="display:none" />';
var element=$(html);
if(img){
element.append($('<img src="'+img+'"/>'));
@@ -131,6 +140,9 @@ FileActions={
},
getCurrentType:function(){
return FileActions.currentFile.parent().attr('data-type');
+ },
+ getCurrentPermissions:function() {
+ return FileActions.currentFile.parent().data('permissions');
}
}
@@ -140,12 +152,12 @@ $(document).ready(function(){
} else {
var downloadScope = 'file';
}
- FileActions.register(downloadScope,'Download',function(){return OC.imagePath('core','actions/download')},function(filename){
+ FileActions.register(downloadScope,'Download', FileActions.PERMISSION_READ, function(){return OC.imagePath('core','actions/download')},function(filename){
window.location=OC.filePath('files', 'ajax', 'download.php') + encodeURIComponent('?files='+encodeURIComponent(filename)+'&dir='+encodeURIComponent($('#dir').val()));
});
});
-FileActions.register('all','Delete',function(){return OC.imagePath('core','actions/delete')},function(filename){
+FileActions.register('all','Delete', FileActions.PERMISSION_DELETE, function(){return OC.imagePath('core','actions/delete')},function(filename){
if(Files.cancelUpload(filename)) {
if(filename.substr){
filename=[filename];
@@ -163,11 +175,11 @@ FileActions.register('all','Delete',function(){return OC.imagePath('core','actio
$('.tipsy').remove();
});
-FileActions.register('all','Rename',function(){return OC.imagePath('core','actions/rename')},function(filename){
+FileActions.register('all','Rename', FileActions.PERMISSION_UPDATE, function(){return OC.imagePath('core','actions/rename')},function(filename){
FileList.rename(filename);
});
-FileActions.register('dir','Open','',function(filename){
+FileActions.register('dir','Open', FileActions.PERMISSION_READ, '', function(filename){
window.location=OC.linkTo('files', 'index.php') + '&dir='+encodeURIComponent($('#dir').val()).replace(/%2F/g, '/')+'/'+encodeURIComponent(filename);
});
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index c3eb906f39e..e0cf516411a 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -136,24 +136,39 @@ FileList={
event.stopPropagation();
event.preventDefault();
var newname=input.val();
- tr.attr('data-file',newname);
- td.children('a.name').empty();
+ if (newname != name) {
+ if ($('tr').filterAttr('data-file', newname).length > 0) {
+ $('#notification').html(newname+' '+t('files', 'already exists')+'<span class="replace">'+t('files', 'replace')+'</span><span class="cancel">'+t('files', 'cancel')+'</span>');
+ $('#notification').data('oldName', name);
+ $('#notification').data('newName', newname);
+ $('#notification').fadeIn();
+ newname = name;
+ } else {
+ $.get(OC.filePath('files','ajax','rename.php'), { dir : $('#dir').val(), newname: newname, file: name },function(result) {
+ if (!result || result.status == 'error') {
+ OC.dialogs.alert(result.data.message, 'Error moving file');
+ newname = name;
+ }
+ });
+ }
+
+ }
+ tr.attr('data-file', newname);
var path = td.children('a.name').attr('href');
td.children('a.name').attr('href', path.replace(encodeURIComponent(name), encodeURIComponent(newname)));
- if(newname.indexOf('.')>0){
- basename=newname.substr(0,newname.lastIndexOf('.'));
- }else{
- basename=newname;
+ if (newname.indexOf('.') > 0) {
+ var basename=newname.substr(0,newname.lastIndexOf('.'));
+ } else {
+ var basename=newname;
}
+ td.children('a.name').empty();
var span=$('<span class="nametext"></span>');
span.text(basename);
td.children('a.name').append(span);
- if(newname.indexOf('.')>0){
+ if (newname.indexOf('.') > 0) {
span.append($('<span class="extension">'+newname.substr(newname.lastIndexOf('.'))+'</span>'));
}
- $.get(OC.filePath('files','ajax','rename.php'), { dir : $('#dir').val(), newname: newname, file: name },function(){
- tr.data('renaming',false);
- });
+ tr.data('renaming',false);
return false;
});
input.click(function(event){
@@ -164,19 +179,71 @@ FileList={
form.trigger('submit');
});
},
+ replace:function(oldName, newName) {
+ // Finish any existing actions
+ if (FileList.lastAction || !FileList.useUndo) {
+ FileList.lastAction();
+ }
+ var tr = $('tr').filterAttr('data-file', oldName);
+ tr.hide();
+ FileList.replaceCanceled = false;
+ FileList.replaceOldName = oldName;
+ FileList.replaceNewName = newName;
+ FileList.lastAction = function() {
+ FileList.finishReplace();
+ };
+ $('#notification').html(t('files', 'replaced')+' '+newName+' '+t('files', 'with')+' '+oldName+'<span class="undo">'+t('files', 'undo')+'</span>');
+ $('#notification').fadeIn();
+ },
+ finishReplace:function() {
+ if (!FileList.replaceCanceled && FileList.replaceOldName && FileList.replaceNewName) {
+ // Delete the file being replaced and rename the replacement
+ FileList.deleteCanceled = false;
+ FileList.deleteFiles = [FileList.replaceNewName];
+ FileList.finishDelete(function() {
+ $.ajax({url: OC.filePath('files', 'ajax', 'rename.php'), async: false, data: { dir: $('#dir').val(), newname: FileList.replaceNewName, file: FileList.replaceOldName }, success: function(result) {
+ if (result && result.status == 'success') {
+ var tr = $('tr').filterAttr('data-file', FileList.replaceOldName);
+ tr.attr('data-file', FileList.replaceNewName);
+ var td = tr.children('td.filename');
+ td.children('a.name .span').text(FileList.replaceNewName);
+ var path = td.children('a.name').attr('href');
+ td.children('a.name').attr('href', path.replace(encodeURIComponent(FileList.replaceOldName), encodeURIComponent(FileList.replaceNewName)));
+ if (FileList.replaceNewName.indexOf('.') > 0) {
+ var basename = FileList.replaceNewName.substr(0, FileList.replaceNewName.lastIndexOf('.'));
+ } else {
+ var basename = FileList.replaceNewName;
+ }
+ td.children('a.name').empty();
+ var span = $('<span class="nametext"></span>');
+ span.text(basename);
+ td.children('a.name').append(span);
+ if (FileList.replaceNewName.indexOf('.') > 0) {
+ span.append($('<span class="extension">'+FileList.replaceNewName.substr(FileList.replaceNewName.lastIndexOf('.'))+'</span>'));
+ }
+ tr.show();
+ } else {
+ OC.dialogs.alert(result.data.message, 'Error moving file');
+ }
+ FileList.replaceCanceled = true;
+ FileList.replaceOldName = null;
+ FileList.replaceNewName = null;
+ FileList.lastAction = null;
+ }});
+ }, true);
+ }
+ },
do_delete:function(files){
- if(FileList.deleteFiles || !FileList.useUndo){//finish any ongoing deletes first
+ // Finish any existing actions
+ if (FileList.lastAction || !FileList.useUndo) {
if(!FileList.deleteFiles) {
FileList.prepareDeletion(files);
}
- FileList.finishDelete(function(){
- FileList.do_delete(files);
- });
+ FileList.lastAction();
return;
}
FileList.prepareDeletion(files);
- $('#notification').text(t('files','undo deletion'));
- $('#notification').data('deletefile',true);
+ $('#notification').html(t('files', 'deleted')+' '+files+'<span class="undo">'+t('files', 'undo')+'</span>');
$('#notification').fadeIn();
},
finishDelete:function(ready,sync){
@@ -194,6 +261,7 @@ FileList={
});
FileList.deleteCanceled=true;
FileList.deleteFiles=null;
+ FileList.lastAction = null;
if(ready){
ready();
}
@@ -215,25 +283,42 @@ FileList={
procesSelection();
FileList.deleteCanceled=false;
FileList.deleteFiles=files;
+ FileList.lastAction = function() {
+ FileList.finishDelete(null, true);
+ };
}
}
$(document).ready(function(){
$('#notification').hide();
- $('#notification').click(function(){
- if($('#notification').data('deletefile'))
- {
+ $('#notification .undo').live('click', function(){
+ if (FileList.deleteFiles) {
$.each(FileList.deleteFiles,function(index,file){
$('tr').filterAttr('data-file',file).show();
-// alert(file);
});
FileList.deleteCanceled=true;
FileList.deleteFiles=null;
+ } else if (FileList.replaceOldName && FileList.replaceNewName) {
+ $('tr').filterAttr('data-file', FileList.replaceOldName).show();
+ FileList.replaceCanceled = true;
+ FileList.replaceOldName = null;
+ FileList.replaceNewName = null;
}
+ FileList.lastAction = null;
+ $('#notification').fadeOut();
+ });
+ $('#notification .replace').live('click', function() {
+ $('#notification').fadeOut('400', function() {
+ FileList.replace($('#notification').data('oldName'), $('#notification').data('newName'));
+ });
+ });
+ $('#notification .cancel').live('click', function() {
$('#notification').fadeOut();
});
FileList.useUndo=('onbeforeunload' in window)
$(window).bind('beforeunload', function (){
- FileList.finishDelete(null,true);
+ if (FileList.lastAction) {
+ FileList.lastAction();
+ }
});
});
diff --git a/apps/files/js/files.js b/apps/files/js/files.js
index 46dbe28f049..049afea4f61 100644
--- a/apps/files/js/files.js
+++ b/apps/files/js/files.js
@@ -56,7 +56,7 @@ $(document).ready(function() {
// Sets the file-action buttons behaviour :
$('tr').live('mouseenter',function(event) {
- FileActions.display($(this).children('td.filename'), $(this).attr('data-file'), $(this).attr('data-type'));
+ FileActions.display($(this).children('td.filename'));
});
$('tr').live('mouseleave',function(event) {
FileActions.hide();
@@ -106,7 +106,8 @@ $(document).ready(function() {
if(!renaming && !FileList.isLoading(filename)){
var mime=$(this).parent().parent().data('mime');
var type=$(this).parent().parent().data('type');
- var action=FileActions.getDefault(mime,type);
+ var permissions = $(this).parent().parent().data('permissions');
+ var action=FileActions.getDefault(mime,type, permissions);
if(action){
action(filename);
}
@@ -194,6 +195,11 @@ $(document).ready(function() {
var totalSize=0;
if(files){
for(var i=0;i<files.length;i++){
+ if(files[i].size ==0 && files[i].type== '')
+ {
+ OC.dialogs.alert(t('files', 'Unable to upload your file as it is a directory or has 0 bytes'), t('files', 'Upload Error'));
+ return;
+ }
totalSize+=files[i].size;
if(FileList.deleteFiles && FileList.deleteFiles.indexOf(files[i].name)!=-1){//finish delete if we are uploading a deleted file
FileList.finishDelete(function(){
@@ -213,115 +219,6 @@ $(document).ready(function() {
}
});
}else{
- if($.support.xhrFileUpload) {
- for(var i=0;i<files.length;i++){
- var fileName = files[i].name
- var dropTarget = $(e.originalEvent.target).closest('tr');
- if(dropTarget && dropTarget.attr('data-type') === 'dir') { // drag&drop upload to folder
- var dirName = dropTarget.attr('data-file')
- var jqXHR = $('.file_upload_start').fileupload('send', {files: files[i],
- formData: function(form) {
- var formArray = form.serializeArray();
- formArray[1]['value'] = dirName;
- return formArray;
- }}).success(function(result, textStatus, jqXHR) {
- var response;
- response=jQuery.parseJSON(result);
- if(response[0] == undefined || response[0].status != 'success') {
- $('#notification').text(t('files', response.data.message));
- $('#notification').fadeIn();
- }
- var file=response[0];
- delete uploadingFiles[dirName][file.name];
- var currentUploads = parseInt(uploadtext.attr('currentUploads'));
- currentUploads -= 1;
- uploadtext.attr('currentUploads', currentUploads);
- if(currentUploads === 0) {
- var img = OC.imagePath('core', 'filetypes/folder.png');
- var tr=$('tr').filterAttr('data-file',dirName);
- tr.find('td.filename').attr('style','background-image:url('+img+')');
- uploadtext.text('');
- uploadtext.hide();
- } else {
- uploadtext.text(currentUploads + ' files uploading')
- }
- })
- .error(function(jqXHR, textStatus, errorThrown) {
- if(errorThrown === 'abort') {
- var currentUploads = parseInt(uploadtext.attr('currentUploads'));
- currentUploads -= 1;
- uploadtext.attr('currentUploads', currentUploads);
- if(currentUploads === 0) {
- var img = OC.imagePath('core', 'filetypes/folder.png');
- var tr=$('tr').filterAttr('data-file',dirName);
- tr.find('td.filename').attr('style','background-image:url('+img+')');
- uploadtext.text('');
- uploadtext.hide();
- } else {
- uploadtext.text(currentUploads + ' files uploading')
- }
- $('#notification').hide();
- $('#notification').text(t('files', 'Upload cancelled.'));
- $('#notification').fadeIn();
- }
- });
- //TODO test with filenames containing slashes
- if(uploadingFiles[dirName] === undefined) {
- uploadingFiles[dirName] = {};
- }
- uploadingFiles[dirName][fileName] = jqXHR;
- } else {
- var jqXHR = $('.file_upload_start').fileupload('send', {files: files[i]})
- .success(function(result, textStatus, jqXHR) {
- var response;
- response=jQuery.parseJSON(result);
- if(response[0] != undefined && response[0].status == 'success') {
- var file=response[0];
- delete uploadingFiles[file.name];
- $('tr').filterAttr('data-file',file.name).data('mime',file.mime);
- var size = $('tr').filterAttr('data-file',file.name).find('td.filesize').text();
- if(size==t('files','Pending')){
- $('tr').filterAttr('data-file',file.name).find('td.filesize').text(file.size);
- }
- FileList.loadingDone(file.name);
- } else {
- $('#notification').text(t('files', response.data.message));
- $('#notification').fadeIn();
- $('#fileList > tr').not('[data-mime]').fadeOut();
- $('#fileList > tr').not('[data-mime]').remove();
- }
- })
- .error(function(jqXHR, textStatus, errorThrown) {
- if(errorThrown === 'abort') {
- $('#notification').hide();
- $('#notification').text(t('files', 'Upload cancelled.'));
- $('#notification').fadeIn();
- }
- });
- uploadingFiles[files[i].name] = jqXHR;
- }
- }
- }else{
- data.submit().success(function(data, status) {
- response = jQuery.parseJSON(data[0].body.innerText);
- if(response[0] != undefined && response[0].status == 'success') {
- var file=response[0];
- delete uploadingFiles[file.name];
- $('tr').filterAttr('data-file',file.name).data('mime',file.mime);
- var size = $('tr').filterAttr('data-file',file.name).find('td.filesize').text();
- if(size==t('files','Pending')){
- $('tr').filterAttr('data-file',file.name).find('td.filesize').text(file.size);
- }
- FileList.loadingDone(file.name);
- } else {
- $('#notification').text(t('files', response.data.message));
- $('#notification').fadeIn();
- $('#fileList > tr').not('[data-mime]').fadeOut();
- $('#fileList > tr').not('[data-mime]').remove();
- }
- });
- }
-
var date=new Date();
if(files){
for(var i=0;i<files.length;i++){
@@ -331,7 +228,7 @@ $(document).ready(function() {
var size=t('files','Pending');
}
if(files && !dirName){
- FileList.addFile(getUniqueName(files[i].name),size,date,true);
+ FileList.addFile(getUniqueName(files[i].name),size,date,true);
} else if(dirName) {
var uploadtext = $('tr').filterAttr('data-type', 'dir').filterAttr('data-file', dirName).find('.uploadtext')
var currentUploads = parseInt(uploadtext.attr('currentUploads'));
@@ -350,7 +247,115 @@ $(document).ready(function() {
}
}else{
var filename=this.value.split('\\').pop(); //ie prepends C:\fakepath\ in front of the filename
- FileList.addFile(getUniqueName(filename),'Pending',date,true);
+ FileList.addFile(getUniqueName(filename),'Pending',date,true);
+ }
+ if($.support.xhrFileUpload) {
+ for(var i=0;i<files.length;i++){
+ var fileName = files[i].name
+ var dropTarget = $(e.originalEvent.target).closest('tr');
+ if(dropTarget && dropTarget.attr('data-type') === 'dir') { // drag&drop upload to folder
+ var dirName = dropTarget.attr('data-file')
+ var jqXHR = $('.file_upload_start').fileupload('send', {files: files[i],
+ formData: function(form) {
+ var formArray = form.serializeArray();
+ formArray[1]['value'] = dirName;
+ return formArray;
+ }}).success(function(result, textStatus, jqXHR) {
+ var response;
+ response=jQuery.parseJSON(result);
+ if(response[0] == undefined || response[0].status != 'success') {
+ $('#notification').text(t('files', response.data.message));
+ $('#notification').fadeIn();
+ }
+ var file=response[0];
+ delete uploadingFiles[dirName][file.name];
+ var currentUploads = parseInt(uploadtext.attr('currentUploads'));
+ currentUploads -= 1;
+ uploadtext.attr('currentUploads', currentUploads);
+ if(currentUploads === 0) {
+ var img = OC.imagePath('core', 'filetypes/folder.png');
+ var tr=$('tr').filterAttr('data-file',dirName);
+ tr.find('td.filename').attr('style','background-image:url('+img+')');
+ uploadtext.text('');
+ uploadtext.hide();
+ } else {
+ uploadtext.text(currentUploads + ' files uploading')
+ }
+ })
+ .error(function(jqXHR, textStatus, errorThrown) {
+ if(errorThrown === 'abort') {
+ var currentUploads = parseInt(uploadtext.attr('currentUploads'));
+ currentUploads -= 1;
+ uploadtext.attr('currentUploads', currentUploads);
+ if(currentUploads === 0) {
+ var img = OC.imagePath('core', 'filetypes/folder.png');
+ var tr=$('tr').filterAttr('data-file',dirName);
+ tr.find('td.filename').attr('style','background-image:url('+img+')');
+ uploadtext.text('');
+ uploadtext.hide();
+ } else {
+ uploadtext.text(currentUploads + ' files uploading')
+ }
+ $('#notification').hide();
+ $('#notification').text(t('files', 'Upload cancelled.'));
+ $('#notification').fadeIn();
+ }
+ });
+ //TODO test with filenames containing slashes
+ if(uploadingFiles[dirName] === undefined) {
+ uploadingFiles[dirName] = {};
+ }
+ uploadingFiles[dirName][fileName] = jqXHR;
+ } else {
+ var jqXHR = $('.file_upload_start').fileupload('send', {files: files[i]})
+ .success(function(result, textStatus, jqXHR) {
+ var response;
+ response=jQuery.parseJSON(result);
+ if(response[0] != undefined && response[0].status == 'success') {
+ var file=response[0];
+ delete uploadingFiles[file.name];
+ $('tr').filterAttr('data-file',file.name).data('mime',file.mime);
+ var size = $('tr').filterAttr('data-file',file.name).find('td.filesize').text();
+ if(size==t('files','Pending')){
+ $('tr').filterAttr('data-file',file.name).find('td.filesize').text(file.size);
+ }
+ FileList.loadingDone(file.name);
+ } else {
+ $('#notification').text(t('files', response.data.message));
+ $('#notification').fadeIn();
+ $('#fileList > tr').not('[data-mime]').fadeOut();
+ $('#fileList > tr').not('[data-mime]').remove();
+ }
+ })
+ .error(function(jqXHR, textStatus, errorThrown) {
+ if(errorThrown === 'abort') {
+ $('#notification').hide();
+ $('#notification').text(t('files', 'Upload cancelled.'));
+ $('#notification').fadeIn();
+ }
+ });
+ uploadingFiles[files[i].name] = jqXHR;
+ }
+ }
+ }else{
+ data.submit().success(function(data, status) {
+ response = jQuery.parseJSON(data[0].body.innerText);
+ if(response[0] != undefined && response[0].status == 'success') {
+ var file=response[0];
+ delete uploadingFiles[file.name];
+ $('tr').filterAttr('data-file',file.name).data('mime',file.mime);
+ var size = $('tr').filterAttr('data-file',file.name).find('td.filesize').text();
+ if(size==t('files','Pending')){
+ $('tr').filterAttr('data-file',file.name).find('td.filesize').text(file.size);
+ }
+ FileList.loadingDone(file.name);
+ } else {
+ $('#notification').text(t('files', response.data.message));
+ $('#notification').fadeIn();
+ $('#fileList > tr').not('[data-mime]').fadeOut();
+ $('#fileList > tr').not('[data-mime]').remove();
+ }
+ });
}
}
},
@@ -447,7 +452,7 @@ $(document).ready(function() {
$(this).append(input);
input.focus();
input.change(function(){
- var name=$(this).val();
+ var name=getUniqueName($(this).val());
if(type != 'web' && name.indexOf('/')!=-1){
$('#notification').text(t('files','Invalid name, \'/\' is not allowed.'));
$('#notification').fadeIn();
@@ -458,14 +463,18 @@ $(document).ready(function() {
$.post(
OC.filePath('files','ajax','newfile.php'),
{dir:$('#dir').val(),filename:name,content:" \n"},
- function(data){
- var date=new Date();
- FileList.addFile(name,0,date);
- var tr=$('tr').filterAttr('data-file',name);
- tr.data('mime','text/plain');
- getMimeIcon('text/plain',function(path){
- tr.find('td.filename').attr('style','background-image:url('+path+')');
- });
+ function(result){
+ if (result.status == 'success') {
+ var date=new Date();
+ FileList.addFile(name,0,date);
+ var tr=$('tr').filterAttr('data-file',name);
+ tr.data('mime','text/plain');
+ getMimeIcon('text/plain',function(path){
+ tr.find('td.filename').attr('style','background-image:url('+path+')');
+ });
+ } else {
+ OC.dialogs.alert(result.data.message, 'Error');
+ }
}
);
break;
@@ -473,9 +482,13 @@ $(document).ready(function() {
$.post(
OC.filePath('files','ajax','newfolder.php'),
{dir:$('#dir').val(),foldername:name},
- function(data){
- var date=new Date();
- FileList.addDir(name,0,date);
+ function(result){
+ if (result.status == 'success') {
+ var date=new Date();
+ FileList.addDir(name,0,date);
+ } else {
+ OC.dialogs.alert(result.data.message, 'Error');
+ }
}
);
break;
@@ -492,23 +505,28 @@ $(document).ready(function() {
}else{//or the domain
localName=(localName.match(/:\/\/(.[^/]+)/)[1]).replace('www.','');
}
- $.post(
- OC.filePath('files','ajax','newfile.php'),
- {dir:$('#dir').val(),source:name,filename:localName},
- function(result){
- if(result.status == 'success'){
- var date=new Date();
- FileList.addFile(localName,0,date);
- var tr=$('tr').filterAttr('data-file',localName);
- tr.data('mime',result.data.mime);
- getMimeIcon(result.data.mime,function(path){
- tr.find('td.filename').attr('style','background-image:url('+path+')');
- });
- }else{
+ localName = getUniqueName(localName);
+ $('#uploadprogressbar').progressbar({value:0});
+ $('#uploadprogressbar').fadeIn();
- }
- }
- );
+ var eventSource=new OC.EventSource(OC.filePath('files','ajax','newfile.php'),{dir:$('#dir').val(),source:name,filename:localName});
+ eventSource.listen('progress',function(progress){
+ $('#uploadprogressbar').progressbar('value',progress);
+ });
+ eventSource.listen('success',function(mime){
+ $('#uploadprogressbar').fadeOut();
+ var date=new Date();
+ FileList.addFile(localName,0,date);
+ var tr=$('tr').filterAttr('data-file',localName);
+ tr.data('mime',mime);
+ getMimeIcon(mime,function(path){
+ tr.find('td.filename').attr('style','background-image:url('+path+')');
+ });
+ });
+ eventSource.listen('error',function(error){
+ $('#uploadprogressbar').fadeOut();
+ alert(error);
+ });
break;
}
var li=$(this).parent();
@@ -524,6 +542,69 @@ $(document).ready(function() {
scanFiles();
}
}, "json");
+
+ var lastWidth = 0;
+ var breadcrumbs = [];
+ var breadcrumbsWidth = $('#navigation').get(0).offsetWidth;
+ var hiddenBreadcrumbs = 0;
+
+ $.each($('.crumb'), function(index, breadcrumb) {
+ breadcrumbs[index] = breadcrumb;
+ breadcrumbsWidth += $(breadcrumb).get(0).offsetWidth;
+ });
+
+ if ($('#controls .actions').length > 0) {
+ breadcrumbsWidth += $('#controls .actions').get(0).offsetWidth;
+ }
+
+ function resizeBreadcrumbs(firstRun) {
+ var width = $(this).width();
+ if (width != lastWidth) {
+ if ((width < lastWidth || firstRun) && width < breadcrumbsWidth) {
+ if (hiddenBreadcrumbs == 0) {
+ breadcrumbsWidth -= $(breadcrumbs[1]).get(0).offsetWidth;
+ $(breadcrumbs[1]).find('a').hide();
+ $(breadcrumbs[1]).append('<span>...</span>');
+ breadcrumbsWidth += $(breadcrumbs[1]).get(0).offsetWidth;
+ hiddenBreadcrumbs = 2;
+ }
+ var i = hiddenBreadcrumbs;
+ while (width < breadcrumbsWidth && i > 1 && i < breadcrumbs.length - 1) {
+ breadcrumbsWidth -= $(breadcrumbs[i]).get(0).offsetWidth;
+ $(breadcrumbs[i]).hide();
+ hiddenBreadcrumbs = i;
+ i++
+ }
+ } else if (width > lastWidth && hiddenBreadcrumbs > 0) {
+ var i = hiddenBreadcrumbs;
+ while (width > breadcrumbsWidth && i > 0) {
+ if (hiddenBreadcrumbs == 1) {
+ breadcrumbsWidth -= $(breadcrumbs[1]).get(0).offsetWidth;
+ $(breadcrumbs[1]).find('span').remove();
+ $(breadcrumbs[1]).find('a').show();
+ breadcrumbsWidth += $(breadcrumbs[1]).get(0).offsetWidth;
+ } else {
+ $(breadcrumbs[i]).show();
+ breadcrumbsWidth += $(breadcrumbs[i]).get(0).offsetWidth;
+ if (breadcrumbsWidth > width) {
+ breadcrumbsWidth -= $(breadcrumbs[i]).get(0).offsetWidth;
+ $(breadcrumbs[i]).hide();
+ break;
+ }
+ }
+ i--;
+ hiddenBreadcrumbs = i;
+ }
+ }
+ lastWidth = width;
+ }
+ }
+
+ $(window).resize(function() {
+ resizeBreadcrumbs(false);
+ });
+
+ resizeBreadcrumbs(true);
});
function scanFiles(force,dir){
@@ -733,7 +814,10 @@ getMimeIcon.cache={};
function getUniqueName(name){
if($('tr').filterAttr('data-file',name).length>0){
var parts=name.split('.');
- var extension=parts.pop();
+ var extension = "";
+ if (parts.length > 1) {
+ extension=parts.pop();
+ }
var base=parts.join('.');
numMatch=base.match(/\((\d+)\)/);
var num=2;
@@ -743,7 +827,10 @@ function getUniqueName(name){
base.pop();
base=base.join('(').trim();
}
- name=base+' ('+num+').'+extension;
+ name=base+' ('+num+')';
+ if (extension) {
+ name = name+'.'+extension;
+ }
return getUniqueName(name);
}
return name;
diff --git a/apps/files/l10n/ar.php b/apps/files/l10n/ar.php
index 91e748e3002..724152dc11d 100644
--- a/apps/files/l10n/ar.php
+++ b/apps/files/l10n/ar.php
@@ -6,6 +6,7 @@
"No file was uploaded" => "لم يتم ترفيع أي من الملفات",
"Missing a temporary folder" => "المجلد المؤقت غير موجود",
"Files" => "الملفات",
+"Delete" => "محذوف",
"Size" => "حجم",
"Modified" => "معدل",
"Maximum upload size" => "الحد الأقصى لحجم الملفات التي يمكن رفعها",
@@ -16,6 +17,8 @@
"Nothing in here. Upload something!" => "لا يوجد شيء هنا. إرفع بعض الملفات!",
"Name" => "الاسم",
"Download" => "تحميل",
+"Size" => "حجم",
+"Modified" => "معدل",
"Delete" => "محذوف",
"Upload too large" => "حجم الترفيع أعلى من المسموح",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "حجم الملفات التي تريد ترفيعها أعلى من المسموح على الخادم."
diff --git a/apps/files/l10n/bg_BG.php b/apps/files/l10n/bg_BG.php
index 83b36087310..89fc4544344 100644
--- a/apps/files/l10n/bg_BG.php
+++ b/apps/files/l10n/bg_BG.php
@@ -5,15 +5,33 @@
"The uploaded file was only partially uploaded" => "Файлът е качен частично",
"No file was uploaded" => "Фахлът не бе качен",
"Missing a temporary folder" => "Липсва временната папка",
+"Failed to write to disk" => "Грешка при запис на диска",
"Files" => "Файлове",
+"Delete" => "Изтриване",
+"Upload Error" => "Грешка при качване",
+"Upload cancelled." => "Качването е отменено.",
+"Invalid name, '/' is not allowed." => "Неправилно име – \"/\" не е позволено.",
"Size" => "Размер",
"Modified" => "Променено",
+"folder" => "папка",
+"folders" => "папки",
+"file" => "файл",
"Maximum upload size" => "Макс. размер за качване",
+"0 is unlimited" => "0 означава без ограничение",
+"New" => "Нов",
+"Text file" => "Текстов файл",
+"Folder" => "Папка",
+"From url" => "От url-адрес",
"Upload" => "Качване",
+"Cancel upload" => "Отказване на качването",
"Nothing in here. Upload something!" => "Няма нищо, качете нещо!",
"Name" => "Име",
+"Share" => "Споделяне",
"Download" => "Изтегляне",
+"Size" => "Размер",
+"Modified" => "Променено",
"Delete" => "Изтриване",
"Upload too large" => "Файлът е прекалено голям",
-"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Файловете които се опитвате да качите са по-големи от позволеното за сървъра."
+"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Файловете които се опитвате да качите са по-големи от позволеното за сървъра.",
+"Files are being scanned, please wait." => "Файловете се претърсват, изчакайте."
);
diff --git a/apps/files/l10n/ca.php b/apps/files/l10n/ca.php
index baa6b3b7d45..e48148421b8 100644
--- a/apps/files/l10n/ca.php
+++ b/apps/files/l10n/ca.php
@@ -7,8 +7,26 @@
"Missing a temporary folder" => "S'ha perdut un fitxer temporal",
"Failed to write to disk" => "Ha fallat en escriure al disc",
"Files" => "Fitxers",
+"Delete" => "Suprimeix",
+"already exists" => "ja existeix",
+"replace" => "substitueix",
+"cancel" => "cancel·la",
+"replaced" => "substituït",
+"with" => "per",
+"undo" => "desfés",
+"deleted" => "esborrat",
+"generating ZIP-file, it may take some time." => "s'estan generant fitxers ZIP, pot trigar una estona.",
+"Unable to upload your file as it is a directory or has 0 bytes" => "No es pot pujar el fitxer perquè és una carpeta o té 0 bytes",
+"Upload Error" => "Error en la pujada",
+"Pending" => "Pendents",
+"Upload cancelled." => "La pujada s'ha cancel·lat.",
+"Invalid name, '/' is not allowed." => "El nom no és vàlid, no es permet '/'.",
"Size" => "Mida",
"Modified" => "Modificat",
+"folder" => "carpeta",
+"folders" => "carpetes",
+"file" => "fitxer",
+"files" => "fitxers",
"File handling" => "Gestió de fitxers",
"Maximum upload size" => "Mida màxima de pujada",
"max. possible: " => "màxim possible:",
@@ -26,6 +44,9 @@
"Name" => "Nom",
"Share" => "Comparteix",
"Download" => "Baixa",
+"Size" => "Mida",
+"Modified" => "Modificat",
+"Delete all" => "Esborra-ho tot",
"Delete" => "Suprimeix",
"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",
diff --git a/apps/files/l10n/cs_CZ.php b/apps/files/l10n/cs_CZ.php
index 9a4be26dadb..38f235343c3 100644
--- a/apps/files/l10n/cs_CZ.php
+++ b/apps/files/l10n/cs_CZ.php
@@ -7,8 +7,26 @@
"Missing a temporary folder" => "Chybí adresář pro sočasné soubory",
"Failed to write to disk" => "Zápis na disk se nezdařil",
"Files" => "Soubory",
+"Delete" => "Vymazat",
+"already exists" => "již existuje",
+"replace" => "zaměnit",
+"cancel" => "storno",
+"replaced" => "zaměněno",
+"with" => "s",
+"undo" => "zpět",
+"deleted" => "smazáno",
+"generating ZIP-file, it may take some time." => "generuji ZIP soubor, může to chvíli trvat",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Nemohu nahrát váš soubor neboť to je adresář a nebo má nulovou délku.",
+"Upload Error" => "Chyba při nahrávání",
+"Pending" => "Očekává se",
+"Upload cancelled." => "Nahrávání zrušeno",
+"Invalid name, '/' is not allowed." => "Špatné jméno, znak '/' není povolen",
"Size" => "Velikost",
"Modified" => "Změněno",
+"folder" => "adresář",
+"folders" => "adresáře",
+"file" => "soubor",
+"files" => "soubory",
"File handling" => "Nastavení chování k souborům",
"Maximum upload size" => "Maximální velikost ukládaných souborů",
"max. possible: " => "největší možná:",
@@ -26,6 +44,9 @@
"Name" => "Název",
"Share" => "Sdílet",
"Download" => "Stáhnout",
+"Size" => "Velikost",
+"Modified" => "Změněno",
+"Delete all" => "Smazat vše",
"Delete" => "Vymazat",
"Upload too large" => "Příliš velký soubor",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Soubory, které se snažíte uložit, překračují maximální velikosti uploadu na tomto serveru.",
diff --git a/apps/files/l10n/da.php b/apps/files/l10n/da.php
index 3683ab8484d..8cefa27e64f 100644
--- a/apps/files/l10n/da.php
+++ b/apps/files/l10n/da.php
@@ -7,8 +7,26 @@
"Missing a temporary folder" => "Mangler en midlertidig mappe",
"Failed to write to disk" => "Fejl ved skrivning til disk.",
"Files" => "Filer",
+"Delete" => "Slet",
+"already exists" => "findes allerede",
+"replace" => "erstat",
+"cancel" => "fortryd",
+"replaced" => "erstattet",
+"with" => "med",
+"undo" => "fortryd",
+"deleted" => "Slettet",
+"generating ZIP-file, it may take some time." => "genererer ZIP-fil, det kan tage lidt tid.",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Kunne ikke uploade din fil, da det enten er en mappe eller er tom",
+"Upload Error" => "Fejl ved upload",
+"Pending" => "Afventer",
+"Upload cancelled." => "Upload afbrudt.",
+"Invalid name, '/' is not allowed." => "Ugyldigt navn, '/' er ikke tilladt.",
"Size" => "Størrelse",
"Modified" => "Ændret",
+"folder" => "mappe",
+"folders" => "mapper",
+"file" => "fil",
+"files" => "filer",
"File handling" => "Filhåndtering",
"Maximum upload size" => "Maksimal upload-størrelse",
"max. possible: " => "max. mulige: ",
@@ -26,6 +44,8 @@
"Name" => "Navn",
"Share" => "Del",
"Download" => "Download",
+"Size" => "Størrelse",
+"Modified" => "Ændret",
"Delete" => "Slet",
"Upload too large" => "Upload for stor",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Filerne, du prøver at uploade, er større end den maksimale størrelse for fil-upload på denne server.",
diff --git a/apps/files/l10n/de.php b/apps/files/l10n/de.php
index 9c5310c43b8..4a85912d31f 100644
--- a/apps/files/l10n/de.php
+++ b/apps/files/l10n/de.php
@@ -5,12 +5,30 @@
"The uploaded file was only partially uploaded" => "Die Datei wurde nur teilweise hochgeladen.",
"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 Festplatte",
-"Files" => "Files",
+"Failed to write to disk" => "Fehler beim Schreiben auf die Festplatte",
+"Files" => "Dateien",
+"Delete" => "Löschen",
+"already exists" => "ist bereits vorhanden",
+"replace" => "ersetzen",
+"cancel" => "abbrechen",
+"replaced" => "ersetzt",
+"with" => "mit",
+"undo" => "rückgängig machen",
+"deleted" => "gelöscht",
+"generating ZIP-file, it may take some time." => "Erstelle ZIP-Datei. Dies kann eine Weile dauern.",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Ihre Datei kann nicht hochgeladen werden, da sie ein Verzeichnis ist oder 0 Bytes hat.",
+"Upload Error" => "Fehler beim Hochladen",
+"Pending" => "Ausstehend",
+"Upload cancelled." => "Hochladen abgebrochen.",
+"Invalid name, '/' is not allowed." => "Ungültiger Name, \"/\" ist nicht erlaubt.",
"Size" => "Größe",
"Modified" => "Bearbeitet",
+"folder" => "Ordner",
+"folders" => "Ordner",
+"file" => "Datei",
+"files" => "Dateien",
"File handling" => "Dateibehandlung",
-"Maximum upload size" => "Maximum upload size",
+"Maximum upload size" => "Maximale Upload-Größe",
"max. possible: " => "maximal möglich:",
"Needed for multi-file and folder downloads." => "Für Mehrfachdateien- und Ordnerdownloads benötigt:",
"Enable ZIP-download" => "ZIP-Download aktivieren",
@@ -22,13 +40,16 @@
"From url" => "Von der URL",
"Upload" => "Hochladen",
"Cancel upload" => "Upload abbrechen",
-"Nothing in here. Upload something!" => "Alles leer. Lad’ was hoch!",
+"Nothing in here. Upload something!" => "Alles leer. Lade etwas hoch!",
"Name" => "Name",
"Share" => "Teilen",
"Download" => "Herunterladen",
+"Size" => "Größe",
+"Modified" => "Bearbeitet",
+"Delete all" => "Alle löschen",
"Delete" => "Löschen",
"Upload too large" => "Upload zu groß",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Die Datei überschreitet die Maximalgröße für Uploads auf diesem Server.",
-"Files are being scanned, please wait." => "Daten werden gescannt, bitte warten.",
+"Files are being scanned, please wait." => "Dateien werden gescannt, bitte warten.",
"Current scanning" => "Scannen"
);
diff --git a/apps/files/l10n/el.php b/apps/files/l10n/el.php
index 93be0246156..4e93489fd39 100644
--- a/apps/files/l10n/el.php
+++ b/apps/files/l10n/el.php
@@ -7,8 +7,26 @@
"Missing a temporary folder" => "Λείπει ένας προσωρινός φάκελος",
"Failed to write to disk" => "Η εγγραφή στο δίσκο απέτυχε",
"Files" => "Αρχεία",
+"Delete" => "Διαγραφή",
+"already exists" => "υπάρχει ήδη",
+"replace" => "αντικατέστησε",
+"cancel" => "ακύρωση",
+"replaced" => "αντικαταστάθηκε",
+"with" => "με",
+"undo" => "αναίρεση",
+"deleted" => "διαγράφηκε",
+"generating ZIP-file, it may take some time." => "παραγωγή αρχείου ZIP, ίσως διαρκέσει αρκετά.",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Αδυναμία στην μεταφόρτωση του αρχείου σας αφού είναι φάκελος ή έχει 0 bytes",
+"Upload Error" => "Σφάλμα Μεταφόρτωσης",
+"Pending" => "Εν αναμονή",
+"Upload cancelled." => "Η μεταφόρτωση ακυρώθηκε.",
+"Invalid name, '/' is not allowed." => "Μη έγκυρο όνομα, το '/' δεν επιτρέπεται.",
"Size" => "Μέγεθος",
"Modified" => "Τροποποιήθηκε",
+"folder" => "φάκελος",
+"folders" => "φάκελοι",
+"file" => "αρχείο",
+"files" => "αρχεία",
"File handling" => "Διαχείριση αρχείων",
"Maximum upload size" => "Μέγιστο μέγεθος μεταφόρτωσης",
"max. possible: " => "μέγιστο δυνατό:",
@@ -26,6 +44,9 @@
"Name" => "Όνομα",
"Share" => "Διαμοίρασε",
"Download" => "Λήψη",
+"Size" => "Μέγεθος",
+"Modified" => "Τροποποιήθηκε",
+"Delete all" => "Διαγραφή όλων",
"Delete" => "Διαγραφή",
"Upload too large" => "Πολύ μεγάλο το αρχείο προς μεταφόρτωση",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Τα αρχεία που προσπαθείτε να ανεβάσετε υπερβαίνουν το μέγιστο μέγεθος μεταφόρτωσης αρχείων σε αυτόν το διακομιστή.",
diff --git a/apps/files/l10n/eo.php b/apps/files/l10n/eo.php
index 64c380d600f..2976a2127c3 100644
--- a/apps/files/l10n/eo.php
+++ b/apps/files/l10n/eo.php
@@ -7,8 +7,26 @@
"Missing a temporary folder" => "Mankas tempa dosierujo",
"Failed to write to disk" => "Malsukcesis skribo al disko",
"Files" => "Dosieroj",
+"Delete" => "Forigi",
+"already exists" => "jam ekzistas",
+"replace" => "anstataŭigi",
+"cancel" => "nuligi",
+"replaced" => "anstataŭigita",
+"with" => "kun",
+"undo" => "malfari",
+"deleted" => "forigita",
+"generating ZIP-file, it may take some time." => "generanta ZIP-dosiero, ĝi povas daŭri iom da tempo",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Ne eblis alŝuti vian dosieron ĉar ĝi estas dosierujo aŭ havas 0 duumokojn",
+"Upload Error" => "Alŝuta eraro",
+"Pending" => "Traktotaj",
+"Upload cancelled." => "La alŝuto nuliĝis.",
+"Invalid name, '/' is not allowed." => "Nevalida nomo, “/” ne estas permesata.",
"Size" => "Grando",
"Modified" => "Modifita",
+"folder" => "dosierujo",
+"folders" => "dosierujoj",
+"file" => "dosiero",
+"files" => "dosieroj",
"File handling" => "Dosieradministro",
"Maximum upload size" => "Maksimuma alŝutogrando",
"max. possible: " => "maks. ebla: ",
@@ -26,6 +44,9 @@
"Name" => "Nomo",
"Share" => "Kunhavigi",
"Download" => "Elŝuti",
+"Size" => "Grando",
+"Modified" => "Modifita",
+"Delete all" => "Forigi ĉion",
"Delete" => "Forigi",
"Upload too large" => "Elŝuto tro larĝa",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "La dosieroj, kiujn vi provas alŝuti, transpasas la maksimuman grandon por dosieralŝutoj en ĉi tiu servilo.",
diff --git a/apps/files/l10n/es.php b/apps/files/l10n/es.php
index 67bfb4702e8..6fcf9086945 100644
--- a/apps/files/l10n/es.php
+++ b/apps/files/l10n/es.php
@@ -7,8 +7,26 @@
"Missing a temporary folder" => "Falta un directorio temporal",
"Failed to write to disk" => "La escritura en disco ha fallado",
"Files" => "Archivos",
+"Delete" => "Eliminado",
+"already exists" => "ya existe",
+"replace" => "reemplazar",
+"cancel" => "cancelar",
+"replaced" => "reemplazado",
+"with" => "con",
+"undo" => "deshacer",
+"deleted" => "borrado",
+"generating ZIP-file, it may take some time." => "generando un fichero ZIP, puede llevar un tiempo.",
+"Unable to upload your file as it is a directory or has 0 bytes" => "No ha sido posible subir tu archivo porque es un directorio o tiene 0 bytes",
+"Upload Error" => "Error al subir el archivo",
+"Pending" => "Pendiente",
+"Upload cancelled." => "Subida cancelada.",
+"Invalid name, '/' is not allowed." => "Nombre no válido, '/' no está permitido.",
"Size" => "Tamaño",
"Modified" => "Modificado",
+"folder" => "carpeta",
+"folders" => "carpetas",
+"file" => "archivo",
+"files" => "archivos",
"File handling" => "Tratamiento de archivos",
"Maximum upload size" => "Tamaño máximo de subida",
"max. possible: " => "máx. posible:",
@@ -26,6 +44,9 @@
"Name" => "Nombre",
"Share" => "Compartir",
"Download" => "Descargar",
+"Size" => "Tamaño",
+"Modified" => "Modificado",
+"Delete all" => "Eliminar todo",
"Delete" => "Eliminado",
"Upload too large" => "El archivo es demasiado grande",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Los archivos que estás intentando subir sobrepasan el tamaño máximo permitido por este servidor.",
diff --git a/apps/files/l10n/et_EE.php b/apps/files/l10n/et_EE.php
index 89bb96581c9..c455a8ffe6a 100644
--- a/apps/files/l10n/et_EE.php
+++ b/apps/files/l10n/et_EE.php
@@ -7,8 +7,19 @@
"Missing a temporary folder" => "Ajutiste failide kaust puudub",
"Failed to write to disk" => "Kettale kirjutamine ebaõnnestus",
"Files" => "Failid",
+"Delete" => "Kustuta",
+"generating ZIP-file, it may take some time." => "ZIP-faili loomine, see võib veidi aega võtta.",
+"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",
+"Pending" => "Ootel",
+"Upload cancelled." => "Üleslaadimine tühistati.",
+"Invalid name, '/' is not allowed." => "Vigane nimi, '/' pole lubatud.",
"Size" => "Suurus",
"Modified" => "Muudetud",
+"folder" => "kaust",
+"folders" => "kausta",
+"file" => "fail",
+"files" => "faili",
"File handling" => "Failide käsitlemine",
"Maximum upload size" => "Maksimaalne üleslaadimise suurus",
"max. possible: " => "maks. võimalik: ",
@@ -26,6 +37,9 @@
"Name" => "Nimi",
"Share" => "Jaga",
"Download" => "Lae alla",
+"Size" => "Suurus",
+"Modified" => "Muudetud",
+"Delete all" => "Kustuta kõik",
"Delete" => "Kustuta",
"Upload too large" => "Üleslaadimine on liiga suur",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Failid, mida sa proovid üles laadida, ületab serveri poolt üleslaetavatele failidele määratud maksimaalse suuruse.",
diff --git a/apps/files/l10n/eu.php b/apps/files/l10n/eu.php
index a7ca21f496b..99c918e2209 100644
--- a/apps/files/l10n/eu.php
+++ b/apps/files/l10n/eu.php
@@ -7,8 +7,26 @@
"Missing a temporary folder" => "Aldi baterako karpeta falta da",
"Failed to write to disk" => "Errore bat izan da diskoan idazterakoan",
"Files" => "Fitxategiak",
+"Delete" => "Ezabatu",
+"already exists" => "dagoeneko existitzen da",
+"replace" => "ordeztu",
+"cancel" => "ezeztatu",
+"replaced" => "ordeztua",
+"with" => "honekin",
+"undo" => "desegin",
+"deleted" => "ezabatuta",
+"generating ZIP-file, it may take some time." => "ZIP-fitxategia sortzen ari da, denbora har dezake",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Ezin da zure fitxategia igo, karpeta bat da edo 0 byt ditu",
+"Upload Error" => "Igotzean errore bat suertatu da",
+"Pending" => "Zain",
+"Upload cancelled." => "Igoera ezeztatuta",
+"Invalid name, '/' is not allowed." => "Baliogabeko izena, '/' ezin da erabili. ",
"Size" => "Tamaina",
"Modified" => "Aldatuta",
+"folder" => "karpeta",
+"folders" => "Karpetak",
+"file" => "fitxategia",
+"files" => "fitxategiak",
"File handling" => "Fitxategien kudeaketa",
"Maximum upload size" => "Igo daitekeen gehienezko tamaina",
"max. possible: " => "max, posiblea:",
@@ -26,6 +44,9 @@
"Name" => "Izena",
"Share" => "Elkarbanatu",
"Download" => "Deskargatu",
+"Size" => "Tamaina",
+"Modified" => "Aldatuta",
+"Delete all" => "Ezabatu dena",
"Delete" => "Ezabatu",
"Upload too large" => "Igotakoa handiegia da",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Igotzen saiatzen ari zaren fitxategiak zerbitzari honek igotzeko onartzen duena baino handiagoak dira.",
diff --git a/apps/files/l10n/fa.php b/apps/files/l10n/fa.php
index 4bb46e1fcf9..78d8d776915 100644
--- a/apps/files/l10n/fa.php
+++ b/apps/files/l10n/fa.php
@@ -7,8 +7,26 @@
"Missing a temporary folder" => "یک پوشه موقت گم شده است",
"Failed to write to disk" => "نوشتن بر روی دیسک سخت ناموفق بود",
"Files" => "فایل ها",
+"Delete" => "پاک کردن",
+"already exists" => "وجود دارد",
+"replace" => "جایگزین",
+"cancel" => "لغو",
+"replaced" => "جایگزین‌شده",
+"with" => "همراه",
+"undo" => "بازگشت",
+"deleted" => "حذف شده",
+"generating ZIP-file, it may take some time." => "در حال ساخت فایل فشرده ممکن است زمان زیادی به طول بیانجامد",
+"Unable to upload your file as it is a directory or has 0 bytes" => "ناتوان در بارگذاری یا فایل یک پوشه است یا 0بایت دارد",
+"Upload Error" => "خطا در بار گذاری",
+"Pending" => "در انتظار",
+"Upload cancelled." => "بار گذاری لغو شد",
+"Invalid name, '/' is not allowed." => "نام نامناسب '/' غیرفعال است",
"Size" => "اندازه",
"Modified" => "تغییر یافته",
+"folder" => "پوشه",
+"folders" => "پوشه ها",
+"file" => "پرونده",
+"files" => "پرونده ها",
"File handling" => "اداره پرونده ها",
"Maximum upload size" => "حداکثر اندازه بارگزاری",
"max. possible: " => "حداکثرمقدارممکن:",
@@ -26,6 +44,9 @@
"Name" => "نام",
"Share" => "به اشتراک گذاری",
"Download" => "بارگیری",
+"Size" => "اندازه",
+"Modified" => "تغییر یافته",
+"Delete all" => "پاک کردن همه",
"Delete" => "پاک کردن",
"Upload too large" => "حجم بارگذاری بسیار زیاد است",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "فایلها بیش از حد تعیین شده در این سرور هستند\nمترجم:با تغییر فایل php,ini میتوان این محدودیت را برطرف کرد",
diff --git a/apps/files/l10n/fi_FI.php b/apps/files/l10n/fi_FI.php
index c99d4408f60..902ea859a31 100644
--- a/apps/files/l10n/fi_FI.php
+++ b/apps/files/l10n/fi_FI.php
@@ -7,10 +7,29 @@
"Missing a temporary folder" => "Väliaikaiskansiota ei ole olemassa",
"Failed to write to disk" => "Levylle kirjoitus epäonnistui",
"Files" => "Tiedostot",
+"Delete" => "Poista",
+"already exists" => "on jo olemassa",
+"replace" => "korvaa",
+"cancel" => "peru",
+"replaced" => "korvattu",
+"with" => "käyttäen",
+"undo" => "kumoa",
+"deleted" => "poistettu",
+"generating ZIP-file, it may take some time." => "luodaan ZIP-tiedostoa, tämä saattaa kestää hetken.",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Tiedoston lähetys epäonnistui, koska sen koko on 0 tavua tai kyseessä on kansio",
+"Upload Error" => "Lähetysvirhe.",
+"Pending" => "Odottaa",
+"Upload cancelled." => "Lähetys peruttu.",
+"Invalid name, '/' is not allowed." => "Virheellinen nimi, merkki '/' ei ole sallittu.",
"Size" => "Koko",
"Modified" => "Muutettu",
+"folder" => "kansio",
+"folders" => "kansiota",
+"file" => "tiedosto",
+"files" => "tiedostoa",
"File handling" => "Tiedostonhallinta",
"Maximum upload size" => "Lähetettävän tiedoston suurin sallittu koko",
+"max. possible: " => "suurin mahdollinen:",
"Needed for multi-file and folder downloads." => "Tarvitaan useampien tiedostojen ja kansioiden latausta varten.",
"Enable ZIP-download" => "Ota ZIP-paketin lataaminen käytöön",
"0 is unlimited" => "0 on rajoittamaton",
@@ -25,7 +44,6 @@
"Name" => "Nimi",
"Share" => "Jaa",
"Download" => "Lataa",
-"Delete" => "Poista",
"Upload too large" => "Lähetettävä tiedosto on liian suuri",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Lähetettäväksi valitsemasi tiedostot ylittävät palvelimen salliman tiedostokoon rajan.",
"Files are being scanned, please wait." => "Tiedostoja tarkistetaan, odota hetki."
diff --git a/apps/files/l10n/fr.php b/apps/files/l10n/fr.php
index ab2f4ea13df..9f9763636c7 100644
--- a/apps/files/l10n/fr.php
+++ b/apps/files/l10n/fr.php
@@ -7,8 +7,26 @@
"Missing a temporary folder" => "Il manque un répertoire temporaire",
"Failed to write to disk" => "Erreur d'écriture sur le disque",
"Files" => "Fichiers",
+"Delete" => "Supprimer",
+"already exists" => "existe déjà",
+"replace" => "remplacer",
+"cancel" => "annuler",
+"replaced" => "remplacé",
+"with" => "avec",
+"undo" => "annuler",
+"deleted" => "supprimé",
+"generating ZIP-file, it may take some time." => "Générer un fichier ZIP, cela peut prendre du temps",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Impossible de charger vos fichiers car il s'agit d'un dossier ou le fichier fait 0 octet.",
+"Upload Error" => "Erreur de chargement",
+"Pending" => "En cours",
+"Upload cancelled." => "Chargement annulé",
+"Invalid name, '/' is not allowed." => "Nom invalide, '/' n'est pas autorisé.",
"Size" => "Taille",
"Modified" => "Modifié",
+"folder" => "dossier",
+"folders" => "dossiers",
+"file" => "fichier",
+"files" => "fichiers",
"File handling" => "Gestion des fichiers",
"Maximum upload size" => "Taille max. d'envoi",
"max. possible: " => "Max. possible :",
@@ -26,6 +44,9 @@
"Name" => "Nom",
"Share" => "Partager",
"Download" => "Téléchargement",
+"Size" => "Taille",
+"Modified" => "Modifié",
+"Delete all" => "Supprimer tout",
"Delete" => "Supprimer",
"Upload too large" => "Fichier trop volumineux",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Les fichiers que vous essayez d'envoyer dépassent la taille maximale permise par ce serveur.",
diff --git a/apps/files/l10n/gl.php b/apps/files/l10n/gl.php
index 36eafaefe27..bf86fc9b809 100644
--- a/apps/files/l10n/gl.php
+++ b/apps/files/l10n/gl.php
@@ -7,8 +7,26 @@
"Missing a temporary folder" => "Falta un cartafol temporal",
"Failed to write to disk" => "Erro ao escribir no disco",
"Files" => "Ficheiros",
+"Delete" => "Eliminar",
+"already exists" => "xa existe",
+"replace" => "substituír",
+"cancel" => "cancelar",
+"replaced" => "substituído",
+"with" => "con",
+"undo" => "desfacer",
+"deleted" => "eliminado",
+"generating ZIP-file, it may take some time." => "xerando ficheiro ZIP, pode levar un anaco.",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Non se puido subir o ficheiro pois ou é un directorio ou ten 0 bytes",
+"Upload Error" => "Erro na subida",
+"Pending" => "Pendentes",
+"Upload cancelled." => "Subida cancelada.",
+"Invalid name, '/' is not allowed." => "Nome non válido, '/' non está permitido.",
"Size" => "Tamaño",
"Modified" => "Modificado",
+"folder" => "cartafol",
+"folders" => "cartafoles",
+"file" => "ficheiro",
+"files" => "ficheiros",
"File handling" => "Manexo de ficheiro",
"Maximum upload size" => "Tamaño máximo de envío",
"max. possible: " => "máx. posible: ",
@@ -26,6 +44,8 @@
"Name" => "Nome",
"Share" => "Compartir",
"Download" => "Descargar",
+"Size" => "Tamaño",
+"Modified" => "Modificado",
"Delete" => "Eliminar",
"Upload too large" => "Envío demasiado grande",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Os ficheiros que trata de subir superan o tamaño máximo permitido neste servidor",
diff --git a/apps/files/l10n/he.php b/apps/files/l10n/he.php
index 0876eb952c7..5e3df214c4f 100644
--- a/apps/files/l10n/he.php
+++ b/apps/files/l10n/he.php
@@ -7,8 +7,19 @@
"Missing a temporary folder" => "תיקייה זמנית חסרה",
"Failed to write to disk" => "הכתיבה לכונן נכשלה",
"Files" => "קבצים",
+"Delete" => "מחיקה",
+"generating ZIP-file, it may take some time." => "יוצר קובץ ZIP, אנא המתן.",
+"Unable to upload your file as it is a directory or has 0 bytes" => "לא יכול להעלות את הקובץ מכיוון שזו תקיה או שמשקל הקובץ 0 בתים",
+"Upload Error" => "שגיאת העלאה",
+"Pending" => "ממתין",
+"Upload cancelled." => "ההעלאה בוטלה.",
+"Invalid name, '/' is not allowed." => "שם לא חוקי, '/' אסור לשימוש.",
"Size" => "גודל",
"Modified" => "זמן שינוי",
+"folder" => "תקיה",
+"folders" => "תקיות",
+"file" => "קובץ",
+"files" => "קבצים",
"File handling" => "טיפול בקבצים",
"Maximum upload size" => "גודל העלאה מקסימלי",
"max. possible: " => "המרבי האפשרי: ",
@@ -26,6 +37,8 @@
"Name" => "שם",
"Share" => "שיתוף",
"Download" => "הורדה",
+"Size" => "גודל",
+"Modified" => "זמן שינוי",
"Delete" => "מחיקה",
"Upload too large" => "העלאה גדולה מידי",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "הקבצים שניסית להעלות חרגו מהגודל המקסימלי להעלאת קבצים על שרת זה.",
diff --git a/apps/files/l10n/hr.php b/apps/files/l10n/hr.php
index 3281d20a61d..a3a6785294e 100644
--- a/apps/files/l10n/hr.php
+++ b/apps/files/l10n/hr.php
@@ -7,8 +7,19 @@
"Missing a temporary folder" => "Nedostaje privremena mapa",
"Failed to write to disk" => "Neuspjelo pisanje na disk",
"Files" => "Datoteke",
+"Delete" => "Briši",
+"generating ZIP-file, it may take some time." => "generiranje ZIP datoteke, ovo može potrajati.",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Nemoguće poslati datoteku jer je prazna ili je direktorij",
+"Upload Error" => "Pogreška pri slanju",
+"Pending" => "U tijeku",
+"Upload cancelled." => "Slanje poništeno.",
+"Invalid name, '/' is not allowed." => "Neispravan naziv, znak '/' nije dozvoljen.",
"Size" => "Veličina",
"Modified" => "Zadnja promjena",
+"folder" => "mapa",
+"folders" => "mape",
+"file" => "datoteka",
+"files" => "datoteke",
"File handling" => "datoteka za rukovanje",
"Maximum upload size" => "Maksimalna veličina prijenosa",
"max. possible: " => "maksimalna moguća: ",
@@ -26,6 +37,8 @@
"Name" => "Naziv",
"Share" => "podjeli",
"Download" => "Preuzmi",
+"Size" => "Veličina",
+"Modified" => "Zadnja promjena",
"Delete" => "Briši",
"Upload too large" => "Prijenos je preobiman",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Datoteke koje pokušavate prenijeti prelaze maksimalnu veličinu za prijenos datoteka na ovom poslužitelju.",
diff --git a/apps/files/l10n/hu_HU.php b/apps/files/l10n/hu_HU.php
index 41255cb4096..0a66cbda4a1 100644
--- a/apps/files/l10n/hu_HU.php
+++ b/apps/files/l10n/hu_HU.php
@@ -7,8 +7,26 @@
"Missing a temporary folder" => "Hiányzik az ideiglenes könyvtár",
"Failed to write to disk" => "Nem írható lemezre",
"Files" => "Fájlok",
+"Delete" => "Törlés",
+"already exists" => "már létezik",
+"replace" => "cserél",
+"cancel" => "mégse",
+"replaced" => "kicserélve",
+"with" => "-val/-vel",
+"undo" => "visszavon",
+"deleted" => "törölve",
+"generating ZIP-file, it may take some time." => "ZIP-fájl generálása, ez eltarthat egy ideig.",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Nem tölthető fel, mert mappa volt, vagy 0 byte méretű",
+"Upload Error" => "Feltöltési hiba",
+"Pending" => "Folyamatban",
+"Upload cancelled." => "Feltöltés megszakítva",
+"Invalid name, '/' is not allowed." => "Érvénytelen név, a '/' nem megengedett",
"Size" => "Méret",
"Modified" => "Módosítva",
+"folder" => "mappa",
+"folders" => "mappák",
+"file" => "fájl",
+"files" => "fájlok",
"File handling" => "Fájlkezelés",
"Maximum upload size" => "Maximális feltölthető fájlméret",
"max. possible: " => "max. lehetséges",
@@ -26,6 +44,9 @@
"Name" => "Név",
"Share" => "Megosztás",
"Download" => "Letöltés",
+"Size" => "Méret",
+"Modified" => "Módosítva",
+"Delete all" => "Mindent töröl",
"Delete" => "Törlés",
"Upload too large" => "Feltöltés túl nagy",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "A fájlokat amit próbálsz feltölteni meghaladta a legnagyobb fájlméretet ezen a szerveren.",
diff --git a/apps/files/l10n/ia.php b/apps/files/l10n/ia.php
index 645eba48a18..40df7af98f4 100644
--- a/apps/files/l10n/ia.php
+++ b/apps/files/l10n/ia.php
@@ -2,6 +2,7 @@
"The uploaded file was only partially uploaded" => "Le file incargate solmente esseva incargate partialmente",
"No file was uploaded" => "Nulle file esseva incargate",
"Files" => "Files",
+"Delete" => "Deler",
"Size" => "Dimension",
"Modified" => "Modificate",
"Maximum upload size" => "Dimension maxime de incargamento",
@@ -12,6 +13,8 @@
"Nothing in here. Upload something!" => "Nihil hic. Incarga alcun cosa!",
"Name" => "Nomine",
"Download" => "Discargar",
+"Size" => "Dimension",
+"Modified" => "Modificate",
"Delete" => "Deler",
"Upload too large" => "Incargamento troppo longe"
);
diff --git a/apps/files/l10n/id.php b/apps/files/l10n/id.php
index 1f9dc3290aa..c66f7861256 100644
--- a/apps/files/l10n/id.php
+++ b/apps/files/l10n/id.php
@@ -5,6 +5,7 @@
"Missing a temporary folder" => "Kehilangan folder temporer",
"Failed to write to disk" => "Gagal menulis ke disk",
"Files" => "Berkas",
+"Delete" => "Hapus",
"Size" => "Ukuran",
"Modified" => "Dimodifikasi",
"File handling" => "Penanganan berkas",
@@ -24,6 +25,8 @@
"Name" => "Nama",
"Share" => "Bagikan",
"Download" => "Unduh",
+"Size" => "Ukuran",
+"Modified" => "Dimodifikasi",
"Delete" => "Hapus",
"Upload too large" => "Unggahan terlalu besar",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Berkas yang anda coba unggah melebihi ukuran maksimum untuk pengunggahan berkas di server ini.",
diff --git a/apps/files/l10n/it.php b/apps/files/l10n/it.php
index 82871826c18..9bf02fb188d 100644
--- a/apps/files/l10n/it.php
+++ b/apps/files/l10n/it.php
@@ -7,8 +7,26 @@
"Missing a temporary folder" => "Cartella temporanea mancante",
"Failed to write to disk" => "Scrittura su disco non riuscita",
"Files" => "File",
+"Delete" => "Elimina",
+"already exists" => "esiste già",
+"replace" => "sostituisci",
+"cancel" => "annulla",
+"replaced" => "sostituito",
+"with" => "con",
+"undo" => "annulla",
+"deleted" => "eliminati",
+"generating ZIP-file, it may take some time." => "creazione file ZIP, potrebbe richiedere del tempo.",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Impossibile inviare il file poiché è una cartella o ha dimensione 0 byte",
+"Upload Error" => "Errore di invio",
+"Pending" => "In corso",
+"Upload cancelled." => "Invio annullato",
+"Invalid name, '/' is not allowed." => "Nome non valido",
"Size" => "Dimensione",
"Modified" => "Modificato",
+"folder" => "cartella",
+"folders" => "cartelle",
+"file" => "file",
+"files" => "file",
"File handling" => "Gestione file",
"Maximum upload size" => "Dimensione massima upload",
"max. possible: " => "numero mass.: ",
@@ -26,6 +44,9 @@
"Name" => "Nome",
"Share" => "Condividi",
"Download" => "Scarica",
+"Size" => "Dimensione",
+"Modified" => "Modificato",
+"Delete all" => "Elimina tutto",
"Delete" => "Elimina",
"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.",
diff --git a/apps/files/l10n/ja_JP.php b/apps/files/l10n/ja_JP.php
index c04d0836dfb..868a2cfe70c 100644
--- a/apps/files/l10n/ja_JP.php
+++ b/apps/files/l10n/ja_JP.php
@@ -7,8 +7,26 @@
"Missing a temporary folder" => "テンポラリフォルダが見つかりません",
"Failed to write to disk" => "ディスクへの書き込みに失敗しました",
"Files" => "ファイル",
+"Delete" => "削除",
+"already exists" => "既に存在します",
+"replace" => "置き換え",
+"cancel" => "キャンセル",
+"replaced" => "置換:",
+"with" => "←",
+"undo" => "元に戻す",
+"deleted" => "削除",
+"generating ZIP-file, it may take some time." => "ZIPファイルを生成中です、しばらくお待ちください。",
+"Unable to upload your file as it is a directory or has 0 bytes" => "アップロード使用としているファイルがディレクトリ、もしくはサイズが0バイトのため、アップロードできません。",
+"Upload Error" => "アップロードエラー",
+"Pending" => "保留",
+"Upload cancelled." => "アップロードはキャンセルされました。",
+"Invalid name, '/' is not allowed." => "無効な名前、'/' は使用できません。",
"Size" => "サイズ",
"Modified" => "更新日時",
+"folder" => "フォルダ",
+"folders" => "フォルダ",
+"file" => "ファイル",
+"files" => "ファイル",
"File handling" => "ファイル操作",
"Maximum upload size" => "最大アップロードサイズ",
"max. possible: " => "最大容量: ",
@@ -26,6 +44,8 @@
"Name" => "名前",
"Share" => "共有",
"Download" => "ダウンロード",
+"Size" => "サイズ",
+"Modified" => "更新日時",
"Delete" => "削除",
"Upload too large" => "ファイルサイズが大きすぎます",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "アップロードしようとしているファイルは、サーバで規定された最大サイズを超えています。",
diff --git a/apps/files/l10n/ko.php b/apps/files/l10n/ko.php
index 70575f0975d..66b0c65d8c3 100644
--- a/apps/files/l10n/ko.php
+++ b/apps/files/l10n/ko.php
@@ -7,8 +7,18 @@
"Missing a temporary folder" => "임시 폴더가 사라짐",
"Failed to write to disk" => "디스크에 쓰지 못했습니다",
"Files" => "파일",
+"Delete" => "삭제",
+"generating ZIP-file, it may take some time." => "ZIP파일 생성에 시간이 걸릴 수 있습니다.",
+"Upload Error" => "업로드 에러",
+"Pending" => "보류 중",
+"Upload cancelled." => "업로드 취소.",
+"Invalid name, '/' is not allowed." => "잘못된 이름, '/' 은 허용이 되지 않습니다.",
"Size" => "크기",
"Modified" => "수정됨",
+"folder" => "폴더",
+"folders" => "폴더",
+"file" => "파일",
+"files" => "파일",
"File handling" => "파일 처리",
"Maximum upload size" => "최대 업로드 크기",
"max. possible: " => "최대. 가능한:",
@@ -26,6 +36,9 @@
"Name" => "이름",
"Share" => "공유",
"Download" => "다운로드",
+"Size" => "크기",
+"Modified" => "수정됨",
+"Delete all" => "모두 삭제",
"Delete" => "삭제",
"Upload too large" => "업로드 용량 초과",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "이 파일이 서버에서 허용하는 최대 업로드 가능 용량보다 큽니다.",
diff --git a/apps/files/l10n/lb.php b/apps/files/l10n/lb.php
index 548ef4895d4..d3f1207cfba 100644
--- a/apps/files/l10n/lb.php
+++ b/apps/files/l10n/lb.php
@@ -7,6 +7,7 @@
"Missing a temporary folder" => "Et feelt en temporären Dossier",
"Failed to write to disk" => "Konnt net op den Disk schreiwen",
"Files" => "Dateien",
+"Delete" => "Läschen",
"Size" => "Gréisst",
"Modified" => "Geännert",
"File handling" => "Fichier handling",
@@ -26,6 +27,8 @@
"Name" => "Numm",
"Share" => "Share",
"Download" => "Eroflueden",
+"Size" => "Gréisst",
+"Modified" => "Geännert",
"Delete" => "Läschen",
"Upload too large" => "Upload ze grouss",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Déi Dateien déi Dir probéiert erop ze lueden sinn méi grouss wei déi Maximal Gréisst déi op dësem Server erlaabt ass.",
diff --git a/apps/files/l10n/lt_LT.php b/apps/files/l10n/lt_LT.php
index e876e743a48..9b2b364c9b8 100644
--- a/apps/files/l10n/lt_LT.php
+++ b/apps/files/l10n/lt_LT.php
@@ -7,9 +7,25 @@
"Missing a temporary folder" => "Nėra laikinojo katalogo",
"Failed to write to disk" => "Nepavyko įrašyti į diską",
"Files" => "Failai",
+"Delete" => "Ištrinti",
+"cancel" => "atšaukti",
+"generating ZIP-file, it may take some time." => "kuriamas ZIP archyvas, tai gali užtrukti šiek tiek laiko.",
+"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",
+"Pending" => "Laukiantis",
+"Upload cancelled." => "Įkėlimas atšauktas.",
+"Invalid name, '/' is not allowed." => "Pavadinime negali būti naudojamas ženklas \"/\".",
"Size" => "Dydis",
"Modified" => "Pakeista",
-"Maximum upload size" => "Maksimalus failo dydis",
+"folder" => "katalogas",
+"folders" => "katalogai",
+"file" => "failas",
+"files" => "failai",
+"File handling" => "Failų tvarkymas",
+"Maximum upload size" => "Maksimalus įkeliamo failo dydis",
+"Enable ZIP-download" => "Įjungti atsisiuntimą ZIP archyvu",
+"0 is unlimited" => "0 yra neribotas",
+"Maximum input size for ZIP files" => "Maksimalus ZIP archyvo failo dydis",
"New" => "Naujas",
"Text file" => "Teksto failas",
"Folder" => "Katalogas",
@@ -20,7 +36,11 @@
"Name" => "Pavadinimas",
"Share" => "Dalintis",
"Download" => "Atsisiųsti",
+"Size" => "Dydis",
+"Modified" => "Pakeista",
"Delete" => "Ištrinti",
"Upload too large" => "Įkėlimui failas per didelis",
-"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Bandomų įkelti failų dydis viršija maksimalų leidžiamą šiame serveryje"
+"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Bandomų įkelti failų dydis viršija maksimalų leidžiamą šiame serveryje",
+"Files are being scanned, please wait." => "Skenuojami failai, prašome palaukti.",
+"Current scanning" => "Šiuo metu skenuojama"
);
diff --git a/apps/files/l10n/lv.php b/apps/files/l10n/lv.php
new file mode 100644
index 00000000000..54bd79f5526
--- /dev/null
+++ b/apps/files/l10n/lv.php
@@ -0,0 +1,20 @@
+<?php $TRANSLATIONS = array(
+"Files" => "Faili",
+"Delete" => "Izdzēst",
+"Upload Error" => "Augšuplādēšanas laikā radās kļūda",
+"Pending" => "Gaida savu kārtu",
+"Upload cancelled." => "Augšuplāde ir atcelta",
+"Invalid name, '/' is not allowed." => "Šis simbols '/', nav atļauts.",
+"Size" => "Izmērs",
+"Modified" => "Izmainīts",
+"folder" => "mape",
+"folders" => "mapes",
+"file" => "fails",
+"files" => "faili",
+"Maximum upload size" => "Maksimālais failu augšuplādes apjoms",
+"Upload" => "Augšuplādet",
+"Nothing in here. Upload something!" => "Te vēl nekas nav. Rīkojies, sāc augšuplādēt",
+"Name" => "Nosaukums",
+"Download" => "Lejuplādēt",
+"Upload too large" => "Fails ir par lielu lai to augšuplādetu"
+);
diff --git a/apps/files/l10n/mk.php b/apps/files/l10n/mk.php
index d3efa4d0225..b060c087656 100644
--- a/apps/files/l10n/mk.php
+++ b/apps/files/l10n/mk.php
@@ -7,8 +7,19 @@
"Missing a temporary folder" => "Не постои привремена папка",
"Failed to write to disk" => "Неуспеав да запишам на диск",
"Files" => "Датотеки",
+"Delete" => "Избриши",
+"generating ZIP-file, it may take some time." => "Се генерира ZIP фајлот, ќе треба извесно време.",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Не може да се преземе вашата датотека бидејќи фолдерот во кој се наоѓа фајлот има големина од 0 бајти",
+"Upload Error" => "Грешка при преземање",
+"Pending" => "Чека",
+"Upload cancelled." => "Преземањето е прекинато.",
+"Invalid name, '/' is not allowed." => "неисправно име, '/' не е дозволено.",
"Size" => "Големина",
"Modified" => "Променето",
+"folder" => "фолдер",
+"folders" => "фолдери",
+"file" => "датотека",
+"files" => "датотеки",
"File handling" => "Ракување со датотеки",
"Maximum upload size" => "Максимална големина за подигање",
"max. possible: " => "макс. можно:",
@@ -26,6 +37,9 @@
"Name" => "Име",
"Share" => "Сподели",
"Download" => "Преземи",
+"Size" => "Големина",
+"Modified" => "Променето",
+"Delete all" => "Избриши сѐ",
"Delete" => "Избриши",
"Upload too large" => "Датотеката е премногу голема",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Датотеките кои се обидувате да ги подигнете ја надминуваат максималната големина за подигнување датотеки на овој сервер.",
diff --git a/apps/files/l10n/ms_MY.php b/apps/files/l10n/ms_MY.php
index 1a1d72a01b6..456a30a9d1a 100644
--- a/apps/files/l10n/ms_MY.php
+++ b/apps/files/l10n/ms_MY.php
@@ -5,18 +5,49 @@
"The uploaded file was only partially uploaded" => "Sebahagian daripada fail telah dimuat naik. ",
"No file was uploaded" => "Tiada fail yang dimuat naik",
"Missing a temporary folder" => "Folder sementara hilang",
+"Failed to write to disk" => "Gagal untuk disimpan",
"Files" => "fail",
+"Delete" => "Padam",
+"already exists" => "Sudah wujud",
+"replace" => "ganti",
+"cancel" => "Batal",
+"replaced" => "diganti",
+"with" => "dengan",
+"deleted" => "dihapus",
+"generating ZIP-file, it may take some time." => "sedang menghasilkan fail ZIP, mungkin mengambil sedikit masa.",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Tidak boleh memuatnaik fail anda kerana mungkin ianya direktori atau saiz fail 0 bytes",
+"Upload Error" => "Muat naik ralat",
+"Pending" => "Dalam proses",
+"Upload cancelled." => "Muatnaik dibatalkan.",
+"Invalid name, '/' is not allowed." => "penggunaa nama tidak sah, '/' tidak dibenarkan.",
"Size" => "Saiz",
"Modified" => "Dimodifikasi",
+"folder" => "direktori",
+"folders" => "direktori",
+"file" => "fail",
+"files" => "fail",
+"File handling" => "Pengendalian fail",
"Maximum upload size" => "Saiz maksimum muat naik",
+"max. possible: " => "maksimum:",
+"Needed for multi-file and folder downloads." => "Diperlukan untuk muatturun fail pelbagai ",
+"Enable ZIP-download" => "Aktifkan muatturun ZIP",
+"0 is unlimited" => "0 adalah tanpa had",
+"Maximum input size for ZIP files" => "Saiz maksimum input untuk fail ZIP",
"New" => "Baru",
"Text file" => "Fail teks",
"Folder" => "Folder",
+"From url" => "Dari url",
"Upload" => "Muat naik",
+"Cancel upload" => "Batal muat naik",
"Nothing in here. Upload something!" => "Tiada apa-apa di sini. Muat naik sesuatu!",
"Name" => "Nama ",
+"Share" => "Kongsi",
"Download" => "Muat turun",
+"Size" => "Saiz",
+"Modified" => "Dimodifikasi",
"Delete" => "Padam",
"Upload too large" => "Muat naik terlalu besar",
-"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Fail yang cuba dimuat naik melebihi saiz maksimum fail upload server"
+"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Fail yang cuba dimuat naik melebihi saiz maksimum fail upload server",
+"Files are being scanned, please wait." => "Fail sedang diimbas, harap bersabar.",
+"Current scanning" => "Imbasan semasa"
);
diff --git a/apps/files/l10n/nb_NO.php b/apps/files/l10n/nb_NO.php
index 0f4cc33ae38..4a2bf36fd59 100644
--- a/apps/files/l10n/nb_NO.php
+++ b/apps/files/l10n/nb_NO.php
@@ -7,8 +7,15 @@
"Missing a temporary folder" => "Mangler en midlertidig mappe",
"Failed to write to disk" => "Klarte ikke å skrive til disk",
"Files" => "Filer",
+"Delete" => "Slett",
+"generating ZIP-file, it may take some time." => "opprettet ZIP-fil, dette kan ta litt tid",
+"Pending" => "Ventende",
"Size" => "Størrelse",
"Modified" => "Endret",
+"folder" => "mappe",
+"folders" => "mapper",
+"file" => "fil",
+"files" => "filer",
"File handling" => "Filhåndtering",
"Maximum upload size" => "Maksimum opplastingsstørrelse",
"max. possible: " => "max. mulige:",
@@ -26,6 +33,9 @@
"Name" => "Navn",
"Share" => "Del",
"Download" => "Last ned",
+"Size" => "Størrelse",
+"Modified" => "Endret",
+"Delete all" => "Slett alle",
"Delete" => "Slett",
"Upload too large" => "Opplasting for stor",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Filene du prøver å laste opp er for store for å laste opp til denne serveren.",
diff --git a/apps/files/l10n/nl.php b/apps/files/l10n/nl.php
index 119f6034f15..96b82d2481d 100644
--- a/apps/files/l10n/nl.php
+++ b/apps/files/l10n/nl.php
@@ -7,8 +7,19 @@
"Missing a temporary folder" => "Een tijdelijke map mist",
"Failed to write to disk" => "Schrijven naar schijf mislukt",
"Files" => "Bestanden",
+"Delete" => "Verwijder",
+"generating ZIP-file, it may take some time." => "aanmaken ZIP-file, dit kan enige tijd duren.",
+"Unable to upload your file as it is a directory or has 0 bytes" => "uploaden van de file mislukt, het is of een directory of de bestandsgrootte is 0 bytes",
+"Upload Error" => "Upload Fout",
+"Pending" => "Wachten",
+"Upload cancelled." => "Uploaden geannuleerd.",
+"Invalid name, '/' is not allowed." => "Ongeldige naam, '/' is niet toegestaan.",
"Size" => "Bestandsgrootte",
"Modified" => "Laatst aangepast",
+"folder" => "map",
+"folders" => "mappen",
+"file" => "bestand",
+"files" => "bestanden",
"File handling" => "Bestand",
"Maximum upload size" => "Maximale bestandsgrootte voor uploads",
"max. possible: " => "max. mogelijk: ",
@@ -26,6 +37,9 @@
"Name" => "Naam",
"Share" => "Delen",
"Download" => "Download",
+"Size" => "Bestandsgrootte",
+"Modified" => "Laatst aangepast",
+"Delete all" => "Alles verwijderen",
"Delete" => "Verwijder",
"Upload too large" => "Bestanden te groot",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "De bestanden die u probeert te uploaden zijn groter dan de maximaal toegestane bestandsgrootte voor deze server.",
diff --git a/apps/files/l10n/nn_NO.php b/apps/files/l10n/nn_NO.php
index 002e85de5cc..a2263b3df2f 100644
--- a/apps/files/l10n/nn_NO.php
+++ b/apps/files/l10n/nn_NO.php
@@ -6,6 +6,7 @@
"No file was uploaded" => "Ingen filer vart lasta opp",
"Missing a temporary folder" => "Manglar ei mellombels mappe",
"Files" => "Filer",
+"Delete" => "Slett",
"Size" => "Storleik",
"Modified" => "Endra",
"Maximum upload size" => "Maksimal opplastingsstorleik",
@@ -16,6 +17,8 @@
"Nothing in here. Upload something!" => "Ingenting her. Last noko opp!",
"Name" => "Namn",
"Download" => "Last ned",
+"Size" => "Storleik",
+"Modified" => "Endra",
"Delete" => "Slett",
"Upload too large" => "For stor opplasting",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Filene du prøver å laste opp er større enn maksgrensa til denne tenaren."
diff --git a/apps/files/l10n/pl.php b/apps/files/l10n/pl.php
index bfdd04659dd..7b67fd47224 100644
--- a/apps/files/l10n/pl.php
+++ b/apps/files/l10n/pl.php
@@ -7,8 +7,26 @@
"Missing a temporary folder" => "Brak katalogu tymczasowego",
"Failed to write to disk" => "Błąd zapisu na dysk",
"Files" => "Pliki",
+"Delete" => "Usuwa element",
+"already exists" => "Już istnieje",
+"replace" => "zastap",
+"cancel" => "anuluj",
+"replaced" => "zastąpione",
+"with" => "z",
+"undo" => "wróć",
+"deleted" => "skasuj",
+"generating ZIP-file, it may take some time." => "Generowanie pliku ZIP, może potrwać pewien czas.",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Nie można wczytać pliku jeśli jest katalogiem lub ma 0 bajtów",
+"Upload Error" => "Błąd wczytywania",
+"Pending" => "Oczekujące",
+"Upload cancelled." => "Wczytywanie anulowane.",
+"Invalid name, '/' is not allowed." => "Nieprawidłowa nazwa '/' jest niedozwolone.",
"Size" => "Rozmiar",
"Modified" => "Czas modyfikacji",
+"folder" => "folder",
+"folders" => "foldery",
+"file" => "plik",
+"files" => "pliki",
"File handling" => "Zarządzanie plikami",
"Maximum upload size" => "Maksymalny rozmiar wysyłanego pliku",
"max. possible: " => "max. możliwych",
@@ -26,6 +44,8 @@
"Name" => "Nazwa",
"Share" => "Współdziel",
"Download" => "Pobiera element",
+"Size" => "Rozmiar",
+"Modified" => "Czas modyfikacji",
"Delete" => "Usuwa element",
"Upload too large" => "Wysyłany plik ma za duży rozmiar",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Pliki które próbujesz przesłać, przekraczają maksymalną, dopuszczalną wielkość.",
diff --git a/apps/files/l10n/pt_BR.php b/apps/files/l10n/pt_BR.php
index b70406f5171..b606c8ef649 100644
--- a/apps/files/l10n/pt_BR.php
+++ b/apps/files/l10n/pt_BR.php
@@ -7,8 +7,19 @@
"Missing a temporary folder" => "Pasta temporária não encontrada",
"Failed to write to disk" => "Falha ao escrever no disco",
"Files" => "Arquivos",
+"Delete" => "Excluir",
+"generating ZIP-file, it may take some time." => "gerando arquivo ZIP, isso pode levar um tempo.",
+"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",
+"Pending" => "Pendente",
+"Upload cancelled." => "Envio cancelado.",
+"Invalid name, '/' is not allowed." => "Nome inválido, '/' não é permitido.",
"Size" => "Tamanho",
"Modified" => "Modificado",
+"folder" => "pasta",
+"folders" => "pastas",
+"file" => "arquivo",
+"files" => "arquivos",
"File handling" => "Tratamento de Arquivo",
"Maximum upload size" => "Tamanho máximo para carregar",
"max. possible: " => "max. possível:",
@@ -26,6 +37,9 @@
"Name" => "Nome",
"Share" => "Compartilhar",
"Download" => "Baixar",
+"Size" => "Tamanho",
+"Modified" => "Modificado",
+"Delete all" => "Deletar Tudo",
"Delete" => "Excluir",
"Upload too large" => "Arquivo muito grande",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Os arquivos que você está tentando carregar excedeu o tamanho máximo para arquivos no servidor.",
diff --git a/apps/files/l10n/pt_PT.php b/apps/files/l10n/pt_PT.php
index ac224302825..eaf5a69a041 100644
--- a/apps/files/l10n/pt_PT.php
+++ b/apps/files/l10n/pt_PT.php
@@ -7,8 +7,26 @@
"Missing a temporary folder" => "Falta uma pasta temporária",
"Failed to write to disk" => "Falhou a escrita no disco",
"Files" => "Ficheiros",
+"Delete" => "Apagar",
+"already exists" => "Já existe",
+"replace" => "substituir",
+"cancel" => "cancelar",
+"replaced" => "substituido",
+"with" => "com",
+"undo" => "desfazer",
+"deleted" => "apagado",
+"generating ZIP-file, it may take some time." => "a gerar o ficheiro ZIP, poderá demorar algum tempo.",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Não é possivel fazer o upload do ficheiro devido a ser uma pasta ou ter 0 bytes",
+"Upload Error" => "Erro no upload",
+"Pending" => "Pendente",
+"Upload cancelled." => "O upload foi cancelado.",
+"Invalid name, '/' is not allowed." => "nome inválido, '/' não permitido.",
"Size" => "Tamanho",
"Modified" => "Modificado",
+"folder" => "pasta",
+"folders" => "pastas",
+"file" => "ficheiro",
+"files" => "ficheiros",
"File handling" => "Manuseamento de ficheiros",
"Maximum upload size" => "Tamanho máximo de envio",
"max. possible: " => "max. possivel: ",
@@ -26,6 +44,8 @@
"Name" => "Nome",
"Share" => "Partilhar",
"Download" => "Transferir",
+"Size" => "Tamanho",
+"Modified" => "Modificado",
"Delete" => "Apagar",
"Upload too large" => "Envio muito grande",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Os ficheiro que estás a tentar enviar excedem o tamanho máximo de envio neste servidor.",
diff --git a/apps/files/l10n/ro.php b/apps/files/l10n/ro.php
index e6f0294fd3f..58a6d2454f5 100644
--- a/apps/files/l10n/ro.php
+++ b/apps/files/l10n/ro.php
@@ -7,6 +7,7 @@
"Missing a temporary folder" => "Lipsește un dosar temporar",
"Failed to write to disk" => "Eroare la scriere pe disc",
"Files" => "Fișiere",
+"Delete" => "Șterge",
"Size" => "Dimensiune",
"Modified" => "Modificat",
"File handling" => "Manipulare fișiere",
@@ -26,7 +27,6 @@
"Name" => "Nume",
"Share" => "Partajează",
"Download" => "Descarcă",
-"Delete" => "Șterge",
"Upload too large" => "Fișierul încărcat este prea mare",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Fișierul care l-ai încărcat a depășită limita maximă admisă la încărcare pe acest server.",
"Files are being scanned, please wait." => "Fișierele sunt scanate, te rog așteptă.",
diff --git a/apps/files/l10n/ru.php b/apps/files/l10n/ru.php
index 45648012a14..203a4f81ede 100644
--- a/apps/files/l10n/ru.php
+++ b/apps/files/l10n/ru.php
@@ -7,8 +7,26 @@
"Missing a temporary folder" => "Невозможно найти временную папку",
"Failed to write to disk" => "Ошибка записи на диск",
"Files" => "Файлы",
+"Delete" => "Удалить",
+"already exists" => "уже существует",
+"replace" => "заменить",
+"cancel" => "отмена",
+"replaced" => "заменён",
+"with" => "с",
+"undo" => "отмена",
+"deleted" => "удален",
+"generating ZIP-file, it may take some time." => "создание ZIP-файла, это может занять некоторое время.",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Не удается загрузить файл размером 0 байт в каталог",
+"Upload Error" => "Ошибка загрузки",
+"Pending" => "Ожидание",
+"Upload cancelled." => "Загрузка отменена.",
+"Invalid name, '/' is not allowed." => "Неверное имя, '/' не допускается.",
"Size" => "Размер",
"Modified" => "Изменен",
+"folder" => "папка",
+"folders" => "папки",
+"file" => "файл",
+"files" => "файлы",
"File handling" => "Управление файлами",
"Maximum upload size" => "Максимальный размер файла",
"max. possible: " => "макс. возможно: ",
@@ -26,7 +44,6 @@
"Name" => "Название",
"Share" => "Поделиться",
"Download" => "Скачать",
-"Delete" => "Удалить",
"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." => "Подождите, файлы сканируются.",
diff --git a/apps/files/l10n/sk_SK.php b/apps/files/l10n/sk_SK.php
index 2a7e84af6c4..9e9a543d386 100644
--- a/apps/files/l10n/sk_SK.php
+++ b/apps/files/l10n/sk_SK.php
@@ -7,8 +7,19 @@
"Missing a temporary folder" => "Chýbajúci dočasný priečinok",
"Failed to write to disk" => "Zápis na disk sa nepodaril",
"Files" => "Súbory",
+"Delete" => "Odstrániť",
+"generating ZIP-file, it may take some time." => "generujem ZIP-súbor, 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 nahrávania",
+"Pending" => "Čaká sa",
+"Upload cancelled." => "Nahrávanie zrušené",
+"Invalid name, '/' is not allowed." => "Chybný názov, \"/\" nie je povolené",
"Size" => "Veľkosť",
"Modified" => "Upravené",
+"folder" => "priečinok",
+"folders" => "priečinky",
+"file" => "súbor",
+"files" => "súbory",
"File handling" => "Nastavenie správanie k súborom",
"Maximum upload size" => "Maximálna veľkosť nahratia",
"max. possible: " => "najväčšie možné:",
@@ -26,7 +37,7 @@
"Name" => "Meno",
"Share" => "Zdielať",
"Download" => "Stiahnuť",
-"Delete" => "Odstrániť",
+"Delete all" => "Odstrániť všetko",
"Upload too large" => "Nahrávanie príliš veľké",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Súbory ktoré sa snažíte nahrať presahujú maximálnu veľkosť pre nahratie súborov na tento server.",
"Files are being scanned, please wait." => "Súbory sa práve prehľadávajú, prosím čakajte.",
diff --git a/apps/files/l10n/sl.php b/apps/files/l10n/sl.php
index b0ea2dc373c..b94735c3915 100644
--- a/apps/files/l10n/sl.php
+++ b/apps/files/l10n/sl.php
@@ -7,8 +7,26 @@
"Missing a temporary folder" => "Manjka začasna mapa",
"Failed to write to disk" => "Pisanje na disk je spodletelo",
"Files" => "Datoteke",
+"Delete" => "Izbriši",
+"already exists" => "že obstaja",
+"replace" => "nadomesti",
+"cancel" => "ekliči",
+"replaced" => "nadomeščen",
+"with" => "z",
+"undo" => "razveljavi",
+"deleted" => "izbrisano",
+"generating ZIP-file, it may take some time." => "Ustvarjam ZIP datoteko. To lahko traja nekaj časa.",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Nalaganje ni mogoče, saj gre za mapo, ali pa ima datoteka velikost 0 bajtov.",
+"Upload Error" => "Napaka pri nalaganju",
+"Pending" => "Na čakanju",
+"Upload cancelled." => "Nalaganje je bilo preklicano.",
+"Invalid name, '/' is not allowed." => "Neveljavno ime. Znak '/' ni dovoljen.",
"Size" => "Velikost",
"Modified" => "Spremenjeno",
+"folder" => "mapa",
+"folders" => "mape",
+"file" => "datoteka",
+"files" => "datoteke",
"File handling" => "Rokovanje z datotekami",
"Maximum upload size" => "Največja velikost za nalaganje",
"max. possible: " => "največ mogoče:",
@@ -26,7 +44,7 @@
"Name" => "Ime",
"Share" => "Souporaba",
"Download" => "Prejmi",
-"Delete" => "Izbriši",
+"Delete all" => "Izbriši vse",
"Upload too large" => "Nalaganje ni mogoče, ker je preveliko",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Datoteke, ki jih želite naložiti, presegajo največjo dovoljeno velikost na tem strežniku.",
"Files are being scanned, please wait." => "Preiskujem datoteke, prosimo počakajte.",
diff --git a/apps/files/l10n/sr.php b/apps/files/l10n/sr.php
index 68c50d5282a..84164e25c62 100644
--- a/apps/files/l10n/sr.php
+++ b/apps/files/l10n/sr.php
@@ -6,6 +6,7 @@
"No file was uploaded" => "Ниједан фајл није послат",
"Missing a temporary folder" => "Недостаје привремена фасцикла",
"Files" => "Фајлови",
+"Delete" => "Обриши",
"Size" => "Величина",
"Modified" => "Задња измена",
"Maximum upload size" => "Максимална величина пошиљке",
@@ -16,7 +17,6 @@
"Nothing in here. Upload something!" => "Овде нема ничег. Пошаљите нешто!",
"Name" => "Име",
"Download" => "Преузми",
-"Delete" => "Обриши",
"Upload too large" => "Пошиљка је превелика",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Фајлови које желите да пошаљете превазилазе ограничење максималне величине пошиљке на овом серверу."
);
diff --git a/apps/files/l10n/sr@latin.php b/apps/files/l10n/sr@latin.php
index 63843fc8b55..96c567aec41 100644
--- a/apps/files/l10n/sr@latin.php
+++ b/apps/files/l10n/sr@latin.php
@@ -6,6 +6,7 @@
"No file was uploaded" => "Nijedan fajl nije poslat",
"Missing a temporary folder" => "Nedostaje privremena fascikla",
"Files" => "Fajlovi",
+"Delete" => "Obriši",
"Size" => "Veličina",
"Modified" => "Zadnja izmena",
"Maximum upload size" => "Maksimalna veličina pošiljke",
@@ -13,7 +14,6 @@
"Nothing in here. Upload something!" => "Ovde nema ničeg. Pošaljite nešto!",
"Name" => "Ime",
"Download" => "Preuzmi",
-"Delete" => "Obriši",
"Upload too large" => "Pošiljka je prevelika",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Fajlovi koje želite da pošaljete prevazilaze ograničenje maksimalne veličine pošiljke na ovom serveru."
);
diff --git a/apps/files/l10n/sv.php b/apps/files/l10n/sv.php
index f508f22f3cf..a62b7522511 100644
--- a/apps/files/l10n/sv.php
+++ b/apps/files/l10n/sv.php
@@ -2,20 +2,38 @@
"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 i php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Den uppladdade filen överstiger MAX_FILE_SIZE direktivet som anges i HTML-formulär",
-"The uploaded file was only partially uploaded" => "Den uppladdade filen var endast delvist uppladdad",
+"The uploaded file was only partially uploaded" => "Den uppladdade filen var endast delvis uppladdad",
"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",
"Files" => "Filer",
+"Delete" => "Radera",
+"already exists" => "finns redan",
+"replace" => "ersätt",
+"cancel" => "avbryt",
+"replaced" => "ersatt",
+"with" => "med",
+"undo" => "ångra",
+"deleted" => "raderad",
+"generating ZIP-file, it may take some time." => "genererar ZIP-fil, det kan ta lite tid.",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Kunde inte ladda upp dina filer eftersom det antingen är en mapp eller har 0 bytes.",
+"Upload Error" => "Uppladdningsfel",
+"Pending" => "Väntar",
+"Upload cancelled." => "Uppladdning avbruten.",
+"Invalid name, '/' is not allowed." => "Ogiltigt namn, '/' är inte tillåten.",
"Size" => "Storlek",
"Modified" => "Ändrad",
+"folder" => "mapp",
+"folders" => "mappar",
+"file" => "fil",
+"files" => "filer",
"File handling" => "Filhantering",
"Maximum upload size" => "Maximal storlek att ladda upp",
"max. possible: " => "max. möjligt:",
-"Needed for multi-file and folder downloads." => "Krävs för nerladdning av flera mappar och filer",
+"Needed for multi-file and folder downloads." => "Krävs för nerladdning av flera mappar och filer.",
"Enable ZIP-download" => "Aktivera ZIP-nerladdning",
-"0 is unlimited" => "0 är lika med oändligt",
-"Maximum input size for ZIP files" => "Största tillåtna storlek för ZIP filer",
+"0 is unlimited" => "0 är oändligt",
+"Maximum input size for ZIP files" => "Största tillåtna storlek för ZIP-filer",
"New" => "Ny",
"Text file" => "Textfil",
"Folder" => "Mapp",
@@ -25,10 +43,9 @@
"Nothing in here. Upload something!" => "Ingenting här. Ladda upp något!",
"Name" => "Namn",
"Share" => "Dela",
-"Download" => "Ladda ned",
-"Delete" => "Ta bort",
+"Download" => "Ladda ner",
"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." => "Filerna skannas, var god vänta",
-"Current scanning" => "Aktuell avsökning"
+"Files are being scanned, please wait." => "Filer skannas, var god vänta",
+"Current scanning" => "Aktuell skanning"
);
diff --git a/apps/files/l10n/th_TH.php b/apps/files/l10n/th_TH.php
index ec538262e02..eca0e29a182 100644
--- a/apps/files/l10n/th_TH.php
+++ b/apps/files/l10n/th_TH.php
@@ -7,8 +7,26 @@
"Missing a temporary folder" => "แฟ้มเอกสารชั่วคราวเกิดการสูญหาย",
"Failed to write to disk" => "เขียนข้อมูลลงแผ่นดิสก์ล้มเหลว",
"Files" => "ไฟล์",
+"Delete" => "ลบ",
+"already exists" => "มีอยู่แล้ว",
+"replace" => "แทนที่",
+"cancel" => "ยกเลิก",
+"replaced" => "แทนที่แล้ว",
+"with" => "กับ",
+"undo" => "เลิกทำ",
+"deleted" => "ลบแล้ว",
+"generating ZIP-file, it may take some time." => "กำลังสร้างไฟล์บีบอัด ZIP อาจใช้เวลาสักครู่",
+"Unable to upload your file as it is a directory or has 0 bytes" => "ไม่สามารถอัพโหลดไฟล์ของคุณได้ เนื่องจากไฟล์ดังกล่าวเป็นไดเร็กทอรี่หรือมีขนาด 0 ไบต์",
+"Upload Error" => "เกิดข้อผิดพลาดในการอัพโหลด",
+"Pending" => "อยู่ระหว่างดำเนินการ",
+"Upload cancelled." => "การอัพโหลดถูกยกเลิก",
+"Invalid name, '/' is not allowed." => "ชื่อที่ใช้ไม่ถูกต้อง '/' ไม่อนุญาตให้ใช้งาน",
"Size" => "ขนาด",
"Modified" => "ปรับปรุงล่าสุด",
+"folder" => "โฟลเดอร์",
+"folders" => "โฟลเดอร์",
+"file" => "ไฟล์",
+"files" => "ไฟล์",
"File handling" => "การจัดกาไฟล์",
"Maximum upload size" => "ขนาดไฟล์สูงสุดที่อัพโหลดได้",
"max. possible: " => "จำนวนสูงสุดที่สามารถทำได้: ",
@@ -26,7 +44,7 @@
"Name" => "ชื่อ",
"Share" => "แชร์",
"Download" => "ดาวน์โหลด",
-"Delete" => "ลบ",
+"Delete all" => "ลบทั้งหมด",
"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." => "ไฟล์กำลังอยู่ระหว่างการสแกน, กรุณารอสักครู่.",
diff --git a/apps/files/l10n/tr.php b/apps/files/l10n/tr.php
index b8de8249a1d..528eede6645 100644
--- a/apps/files/l10n/tr.php
+++ b/apps/files/l10n/tr.php
@@ -7,8 +7,21 @@
"Missing a temporary folder" => "Geçici bir klasör eksik",
"Failed to write to disk" => "Diske yazılamadı",
"Files" => "Dosyalar",
+"Delete" => "Sil",
+"undo" => "geri al",
+"deleted" => "silindi",
+"generating ZIP-file, it may take some time." => "ZIP dosyası oluşturuluyor, biraz sürebilir.",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Dosyanızın boyutu 0 byte olduğundan veya bir dizin olduğundan yüklenemedi",
+"Upload Error" => "Yükleme hatası",
+"Pending" => "Bekliyor",
+"Upload cancelled." => "Yükleme iptal edildi.",
+"Invalid name, '/' is not allowed." => "Geçersiz isim, '/' işaretine izin verilmiyor.",
"Size" => "Boyut",
"Modified" => "Değiştirilme",
+"folder" => "dizin",
+"folders" => "dizinler",
+"file" => "dosya",
+"files" => "dosyalar",
"File handling" => "Dosya taşıma",
"Maximum upload size" => "Maksimum yükleme boyutu",
"max. possible: " => "mümkün olan en fazla: ",
@@ -26,7 +39,7 @@
"Name" => "Ad",
"Share" => "Paylaş",
"Download" => "İndir",
-"Delete" => "Sil",
+"Delete all" => "Hepsini sil",
"Upload too large" => "Yüklemeniz çok büyük",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Yüklemeye çalıştığınız dosyalar bu sunucudaki maksimum yükleme boyutunu aşıyor.",
"Files are being scanned, please wait." => "Dosyalar taranıyor, lütfen bekleyin.",
diff --git a/apps/files/l10n/uk.php b/apps/files/l10n/uk.php
index 8b21cb26a3c..dc7e9d18b70 100644
--- a/apps/files/l10n/uk.php
+++ b/apps/files/l10n/uk.php
@@ -6,17 +6,36 @@
"No file was uploaded" => "Не відвантажено жодного файлу",
"Missing a temporary folder" => "Відсутній тимчасовий каталог",
"Files" => "Файли",
+"Delete" => "Видалити",
+"undo" => "відмінити",
+"deleted" => "видалені",
+"generating ZIP-file, it may take some time." => "Створення ZIP-файлу, це може зайняти певний час.",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Неможливо завантажити ваш файл тому, що він тека або файл розміром 0 байт",
+"Upload Error" => "Помилка завантаження",
+"Pending" => "Очікування",
+"Upload cancelled." => "Завантаження перервано.",
+"Invalid name, '/' is not allowed." => "Некоректне ім'я, '/' не дозволено.",
"Size" => "Розмір",
"Modified" => "Змінено",
+"folder" => "тека",
+"folders" => "теки",
+"file" => "файл",
+"files" => "файли",
"Maximum upload size" => "Максимальний розмір відвантажень",
+"max. possible: " => "макс.можливе:",
+"0 is unlimited" => "0 є безліміт",
"New" => "Створити",
"Text file" => "Текстовий файл",
"Folder" => "Папка",
+"From url" => "З URL",
"Upload" => "Відвантажити",
+"Cancel upload" => "Перервати завантаження",
"Nothing in here. Upload something!" => "Тут нічого немає. Відвантажте що-небудь!",
"Name" => "Ім'я",
+"Share" => "Поділитися",
"Download" => "Завантажити",
-"Delete" => "Видалити",
"Upload too large" => "Файл занадто великий",
-"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Файли,що ви намагаєтесь відвантажити перевищують максимальний дозволений розмір файлів на цьому сервері."
+"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" => "Поточне сканування"
);
diff --git a/apps/files/l10n/vi.php b/apps/files/l10n/vi.php
new file mode 100644
index 00000000000..c2284d5feb9
--- /dev/null
+++ b/apps/files/l10n/vi.php
@@ -0,0 +1,31 @@
+<?php $TRANSLATIONS = array(
+"Files" => "Tập tin",
+"Delete" => "Xóa",
+"Upload Error" => "Tải lên lỗi",
+"Pending" => "Chờ",
+"Upload cancelled." => "Hủy tải lên",
+"Invalid name, '/' is not allowed." => "Tên không hợp lệ ,không được phép dùng '/'",
+"Size" => "Kích cỡ",
+"Modified" => "Thay đổi",
+"folder" => "folder",
+"folders" => "folders",
+"file" => "file",
+"files" => "files",
+"File handling" => "Xử lý tập tin",
+"Maximum upload size" => "Kích thước tối đa ",
+"Enable ZIP-download" => "Cho phép ZIP-download",
+"0 is unlimited" => "0 là không giới hạn",
+"Maximum input size for ZIP files" => "Kích thước tối đa cho các tập tin ZIP",
+"New" => "Mới",
+"Text file" => "Tập tin văn bản",
+"Folder" => "Folder",
+"From url" => "Từ url",
+"Upload" => "Tải lên",
+"Cancel upload" => "Hủy upload",
+"Nothing in here. Upload something!" => "Không có gì ở đây .Hãy tải lên một cái gì đó !",
+"Name" => "Tên",
+"Share" => "Chia sẻ",
+"Download" => "Tải xuống",
+"Upload too large" => "File tải lên quá lớn",
+"Files are being scanned, please wait." => "Tập tin đang được quét ,vui lòng chờ."
+);
diff --git a/apps/files/l10n/zh_CN.GB2312.php b/apps/files/l10n/zh_CN.GB2312.php
new file mode 100644
index 00000000000..6703e6f9088
--- /dev/null
+++ b/apps/files/l10n/zh_CN.GB2312.php
@@ -0,0 +1,51 @@
+<?php $TRANSLATIONS = array(
+"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",
+"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "上传的文件超过了HTML表单指定的MAX_FILE_SIZE",
+"The uploaded file was only partially uploaded" => "文件只有部分被上传",
+"No file was uploaded" => "没有上传完成的文件",
+"Missing a temporary folder" => "丢失了一个临时文件夹",
+"Failed to write to disk" => "写磁盘失败",
+"Files" => "文件",
+"Delete" => "删除",
+"already exists" => "已经存在了",
+"replace" => "替换",
+"cancel" => "取消",
+"replaced" => "替换过了",
+"with" => "随着",
+"undo" => "撤销",
+"deleted" => "删除",
+"generating ZIP-file, it may take some time." => "正在生成ZIP文件,这可能需要点时间",
+"Unable to upload your file as it is a directory or has 0 bytes" => "不能上传你指定的文件,可能因为它是个文件夹或者大小为0",
+"Upload Error" => "上传错误",
+"Pending" => "Pending",
+"Upload cancelled." => "上传取消了",
+"Invalid name, '/' is not allowed." => "非法文件名,\"/\"是不被许可的",
+"Size" => "大小",
+"Modified" => "修改日期",
+"folder" => "文件夹",
+"folders" => "文件夹",
+"file" => "文件",
+"files" => "文件",
+"File handling" => "文件处理中",
+"Maximum upload size" => "最大上传大小",
+"max. possible: " => "最大可能",
+"Needed for multi-file and folder downloads." => "需要多文件和文件夹下载.",
+"Enable ZIP-download" => "支持ZIP下载",
+"0 is unlimited" => "0是无限的",
+"Maximum input size for ZIP files" => "最大的ZIP文件输入大小",
+"New" => "新建",
+"Text file" => "文本文档",
+"Folder" => "文件夹",
+"From url" => "从URL:",
+"Upload" => "上传",
+"Cancel upload" => "取消上传",
+"Nothing in here. Upload something!" => "这里没有东西.上传点什么!",
+"Name" => "名字",
+"Share" => "分享",
+"Download" => "下载",
+"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" => "正在扫描"
+);
diff --git a/apps/files/l10n/zh_CN.php b/apps/files/l10n/zh_CN.php
index c2e6541f2a2..c6fc9f907d6 100644
--- a/apps/files/l10n/zh_CN.php
+++ b/apps/files/l10n/zh_CN.php
@@ -7,8 +7,25 @@
"Missing a temporary folder" => "缺少临时目录",
"Failed to write to disk" => "写入磁盘失败",
"Files" => "文件",
+"Delete" => "删除",
+"already exists" => "已经存在",
+"replace" => "替换",
+"cancel" => "取消",
+"replaced" => "已经替换",
+"undo" => "撤销",
+"deleted" => "已经删除",
+"generating ZIP-file, it may take some time." => "正在生成 ZIP 文件,可能需要一些时间",
+"Unable to upload your file as it is a directory or has 0 bytes" => "无法上传文件,因为它是一个目录或者大小为 0 字节",
+"Upload Error" => "上传错误",
+"Pending" => "操作等待中",
+"Upload cancelled." => "上传已取消",
+"Invalid name, '/' is not allowed." => "非法的名称,不允许使用‘/’。",
"Size" => "大小",
"Modified" => "修改日期",
+"folder" => "文件夹",
+"folders" => "文件夹",
+"file" => "文件",
+"files" => "文件",
"File handling" => "文件处理",
"Maximum upload size" => "最大上传大小",
"max. possible: " => "最大可能: ",
@@ -26,7 +43,7 @@
"Name" => "名称",
"Share" => "共享",
"Download" => "下载",
-"Delete" => "删除",
+"Delete all" => "删除所有",
"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." => "文件正在被扫描,请稍候。",
diff --git a/apps/files/l10n/zh_TW.php b/apps/files/l10n/zh_TW.php
index 91a1344ca37..9151a4805df 100644
--- a/apps/files/l10n/zh_TW.php
+++ b/apps/files/l10n/zh_TW.php
@@ -7,6 +7,7 @@
"Missing a temporary folder" => "遺失暫存資料夾",
"Failed to write to disk" => "寫入硬碟失敗",
"Files" => "檔案",
+"Delete" => "刪除",
"Size" => "大小",
"Modified" => "修改",
"File handling" => "檔案處理",
@@ -26,7 +27,7 @@
"Name" => "名稱",
"Share" => "分享",
"Download" => "下載",
-"Delete" => "刪除",
+"Delete all" => "全部刪除",
"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." => "正在掃描檔案,請稍等。",
diff --git a/apps/files/settings.php b/apps/files/settings.php
index e5a66239ebd..cd6dd8c1616 100644
--- a/apps/files/settings.php
+++ b/apps/files/settings.php
@@ -56,5 +56,3 @@ $tmpl = new OCP\Template( "files", "index", "user" );
$tmpl->assign( 'files', $files );
$tmpl->assign( "breadcrumb", $breadcrumb );
$tmpl->printPage();
-
-?>
diff --git a/apps/files/templates/admin.php b/apps/files/templates/admin.php
index c89070ce52e..23021ec6647 100644
--- a/apps/files/templates/admin.php
+++ b/apps/files/templates/admin.php
@@ -3,7 +3,7 @@
<form name="filesForm" action='#' method='post'>
<fieldset class="personalblock">
<legend><strong><?php echo $l->t('File handling');?></strong></legend>
- <?php if($_['htaccessWorking']):?>
+ <?php if($_['uploadChangable']):?>
<label for="maxUploadSize"><?php echo $l->t( 'Maximum upload size' ); ?> </label><input name='maxUploadSize' id="maxUploadSize" value='<?php echo $_['uploadMaxFilesize'] ?>'/>(<?php echo $l->t('max. possible: '); echo $_['maxPossibleUploadSize'] ?>)<br/>
<?php endif;?>
<input type="checkbox" name="allowZipDownload" id="allowZipDownload" value="1" title="<?php echo $l->t( 'Needed for multi-file and folder downloads.' ); ?>"<?php if ($_['allowZipDownload']) echo ' checked="checked"'; ?> /> <label for="allowZipDownload"><?php echo $l->t( 'Enable ZIP-download' ); ?></label> <br/>
diff --git a/apps/files/templates/index.php b/apps/files/templates/index.php
index c0a40081fe3..bcf683ae4a8 100644
--- a/apps/files/templates/index.php
+++ b/apps/files/templates/index.php
@@ -1,8 +1,8 @@
<!--[if IE 8]><style>input[type="checkbox"]{padding:0;}table td{position:static !important;}</style><![endif]-->
<div id="controls">
<?php echo($_['breadcrumb']); ?>
- <?php if (!isset($_['readonly']) || !$_['readonly']):?>
- <div class="actions <?php if (isset($_['files']) and ! $_['readonly'] and count($_['files'])==0):?>emptyfolder<?php endif; ?>">
+ <?php if ($_['isCreatable']):?>
+ <div class="actions <?php if (isset($_['files']) and count($_['files'])==0):?>emptyfolder<?php endif; ?>">
<div id='new' class='button'>
<a><?php echo $l->t('New');?></a>
<ul class="popup popupTop">
@@ -15,7 +15,7 @@
<form data-upload-id='1' class="file_upload_form" action="<?php echo OCP\Util::linkTo('files', 'ajax/upload.php'); ?>" method="post" enctype="multipart/form-data" target="file_upload_target_1">
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $_['uploadMaxFilesize'] ?>" id="max_upload">
<input type="hidden" class="max_human_file_size" value="(max <?php echo $_['uploadMaxHumanFilesize']; ?>)">
- <input type="hidden" name="dir" value="<?php echo htmlentities($_['dir'],ENT_COMPAT,'utf-8') ?>" id="dir">
+ <input type="hidden" name="dir" value="<?php echo $_['dir'] ?>" id="dir">
<button class="file_upload_filename">&nbsp;<img class='svg action' alt="Upload" src="<?php echo OCP\image_path("core", "actions/upload-white.svg"); ?>" /></button>
<input class="file_upload_start" type="file" name='files[]'/>
<a href="#" class="file_upload_button_wrapper" onclick="return false;" title="<?php echo $l->t('Upload'); echo ' max. '.$_['uploadMaxHumanFilesize'] ?>"></a>
@@ -35,7 +35,7 @@
</div>
<div id='notification'></div>
-<?php if (isset($_['files']) and ! $_['readonly'] and count($_['files'])==0):?>
+<?php if (isset($_['files']) and $_['isCreatable'] and count($_['files'])==0):?>
<div id="emptyfolder"><?php echo $l->t('Nothing in here. Upload something!')?></div>
<?php endif; ?>
@@ -43,7 +43,7 @@
<thead>
<tr>
<th id='headerName'>
- <?php if(!isset($_['readonly']) || !$_['readonly']) { ?><input type="checkbox" id="select_all" /><?php } ?>
+ <input type="checkbox" id="select_all" />
<span class='name'><?php echo $l->t( 'Name' ); ?></span>
<span class='selectedActions'>
<!-- <a href="" class="share"><img class='svg' alt="Share" src="<?php echo OCP\image_path("core", "actions/share.svg"); ?>" /> <?php echo $l->t('Share')?></a> -->
@@ -53,10 +53,10 @@
</span>
</th>
<th id="headerSize"><?php echo $l->t( 'Size' ); ?></th>
- <th id="headerDate"><span id="modified"><?php echo $l->t( 'Modified' ); ?></span><span class="selectedActions"><a href="" class="delete"><?php echo $l->t('Delete all')?> <img class="svg" alt="<?php echo $l->t('Delete')?>" src="<?php echo OCP\image_path("core", "actions/delete.svg"); ?>" /></a></span></th>
+ <th id="headerDate"><span id="modified"><?php echo $l->t( 'Modified' ); ?></span><span class="selectedActions"><a href="" class="delete"><?php echo $l->t('Delete')?> <img class="svg" alt="<?php echo $l->t('Delete')?>" src="<?php echo OCP\image_path("core", "actions/delete.svg"); ?>" /></a></span></th>
</tr>
</thead>
- <tbody id="fileList" data-readonly="<?php echo $_['readonly'];?>">
+ <tbody id="fileList">
<?php echo($_['fileList']); ?>
</tbody>
</table>
diff --git a/apps/files/templates/part.breadcrumb.php b/apps/files/templates/part.breadcrumb.php
index 43fe2d1fa95..22d9bb4490d 100644
--- a/apps/files/templates/part.breadcrumb.php
+++ b/apps/files/templates/part.breadcrumb.php
@@ -1,6 +1,6 @@
<?php for($i=0; $i<count($_["breadcrumb"]); $i++):
$crumb = $_["breadcrumb"][$i]; ?>
<div class="crumb <?php if($i == count($_["breadcrumb"])-1) echo 'last';?> svg" data-dir='<?php echo $crumb["dir"];?>' style='background-image:url("<?php echo OCP\image_path('core','breadcrumb.png');?>")'>
- <a href="<?php echo $_['baseURL'].$crumb["dir"]; ?>"><?php echo htmlentities($crumb["name"],ENT_COMPAT,'utf-8'); ?></a>
+ <a href="<?php echo $_['baseURL'].$crumb["dir"]; ?>"><?php echo OCP\Util::sanitizeHTML($crumb["name"]); ?></a>
</div>
<?php endfor;?>
diff --git a/apps/files/templates/part.list.php b/apps/files/templates/part.list.php
index 4506630c16d..6667b5488af 100644
--- a/apps/files/templates/part.list.php
+++ b/apps/files/templates/part.list.php
@@ -1,5 +1,4 @@
<?php foreach($_['files'] as $file):
- $write = ($file['writable']) ? 'true' : 'false';
$simple_file_size = OCP\simple_file_size($file['size']);
$simple_size_color = intval(200-$file['size']/(1024*1024)*2); // the bigger the file, the darker the shade of grey; megabytes*2
if($simple_size_color<0) $simple_size_color = 0;
@@ -10,7 +9,7 @@
$name = str_replace('%2F','/', $name);
$directory = str_replace('+','%20',urlencode($file['directory']));
$directory = str_replace('%2F','/', $directory); ?>
- <tr data-file="<?php echo $name;?>" data-type="<?php echo ($file['type'] == 'dir')?'dir':'file'?>" data-mime="<?php echo $file['mimetype']?>" data-size='<?php echo $file['size'];?>' data-write='<?php echo $write;?>'>
+ <tr data-file="<?php echo $name;?>" data-type="<?php echo ($file['type'] == 'dir')?'dir':'file'?>" data-mime="<?php echo $file['mimetype']?>" data-size='<?php echo $file['size'];?>' data-permissions='<?php echo $file['permissions']; ?>'>
<td class="filename svg" style="background-image:url(<?php if($file['type'] == 'dir') echo OCP\mimetype_icon('dir'); else echo OCP\mimetype_icon($file['mimetype']); ?>)">
<?php if(!isset($_['readonly']) || !$_['readonly']) { ?><input type="checkbox" /><?php } ?>
<a class="name" href="<?php if($file['type'] == 'dir') echo $_['baseURL'].$directory.'/'.$name; else echo $_['downloadURL'].$directory.'/'.$name; ?>" title="">