summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorBart Visscher <bartv@thisnet.nl>2012-09-28 15:38:49 +0200
committerBart Visscher <bartv@thisnet.nl>2012-09-28 15:38:49 +0200
commitbf1057143cdff8ec289d9d766ab100d64d7ea45d (patch)
tree6c35d0d99a72f27a981a07c93f0ecbf600764cd4 /apps
parent3efe1d3b24e65ed76d521c24b0cfe4e0ff2e7af5 (diff)
parent5144d26088b98685a37c73c776a9a47203efa68a (diff)
downloadnextcloud-server-bf1057143cdff8ec289d9d766ab100d64d7ea45d.tar.gz
nextcloud-server-bf1057143cdff8ec289d9d766ab100d64d7ea45d.zip
Merge branch 'master' into routing
Conflicts: apps/files/js/filelist.js core/js/js.js lib/ocs.php
Diffstat (limited to 'apps')
-rw-r--r--apps/.gitkeep1
-rw-r--r--apps/files/ajax/delete.php6
-rw-r--r--apps/files/ajax/newfile.php14
-rw-r--r--apps/files/ajax/upload.php5
-rw-r--r--apps/files/appinfo/update.php20
-rw-r--r--apps/files/appinfo/version2
-rw-r--r--apps/files/css/files.css16
-rw-r--r--apps/files/js/fileactions.js1
-rw-r--r--apps/files/js/filelist.js101
-rw-r--r--apps/files/js/files.js32
-rw-r--r--apps/files/l10n/ar.php2
-rw-r--r--apps/files/l10n/bg_BG.php2
-rw-r--r--apps/files/l10n/ca.php6
-rw-r--r--apps/files/l10n/cs_CZ.php19
-rw-r--r--apps/files/l10n/da.php9
-rw-r--r--apps/files/l10n/de.php29
-rw-r--r--apps/files/l10n/el.php27
-rw-r--r--apps/files/l10n/eo.php7
-rw-r--r--apps/files/l10n/es.php11
-rw-r--r--apps/files/l10n/es_AR.php59
-rw-r--r--apps/files/l10n/et_EE.php7
-rw-r--r--apps/files/l10n/eu.php9
-rw-r--r--apps/files/l10n/fa.php2
-rw-r--r--apps/files/l10n/fi_FI.php13
-rw-r--r--apps/files/l10n/fr.php20
-rw-r--r--apps/files/l10n/gl.php9
-rw-r--r--apps/files/l10n/he.php3
-rw-r--r--apps/files/l10n/hr.php2
-rw-r--r--apps/files/l10n/hu_HU.php2
-rw-r--r--apps/files/l10n/ia.php2
-rw-r--r--apps/files/l10n/id.php2
-rw-r--r--apps/files/l10n/it.php19
-rw-r--r--apps/files/l10n/ja_JP.php20
-rw-r--r--apps/files/l10n/ko.php2
-rw-r--r--apps/files/l10n/lb.php2
-rw-r--r--apps/files/l10n/lt_LT.php2
-rw-r--r--apps/files/l10n/lv.php2
-rw-r--r--apps/files/l10n/mk.php2
-rw-r--r--apps/files/l10n/ms_MY.php2
-rw-r--r--apps/files/l10n/nb_NO.php3
-rw-r--r--apps/files/l10n/nl.php8
-rw-r--r--apps/files/l10n/nn_NO.php2
-rw-r--r--apps/files/l10n/pl.php7
-rw-r--r--apps/files/l10n/pt_BR.php22
-rw-r--r--apps/files/l10n/pt_PT.php2
-rw-r--r--apps/files/l10n/ro.php39
-rw-r--r--apps/files/l10n/ru.php6
-rw-r--r--apps/files/l10n/ru_RU.php56
-rw-r--r--apps/files/l10n/sk_SK.php22
-rw-r--r--apps/files/l10n/sl.php7
-rw-r--r--apps/files/l10n/sr.php2
-rw-r--r--apps/files/l10n/sr@latin.php2
-rw-r--r--apps/files/l10n/sv.php19
-rw-r--r--apps/files/l10n/th_TH.php19
-rw-r--r--apps/files/l10n/tr.php2
-rw-r--r--apps/files/l10n/uk.php2
-rw-r--r--apps/files/l10n/vi.php27
-rw-r--r--apps/files/l10n/zh_CN.GB2312.php9
-rw-r--r--apps/files/l10n/zh_CN.php19
-rw-r--r--apps/files/l10n/zh_TW.php2
-rw-r--r--apps/files/templates/index.php4
-rw-r--r--apps/files_encryption/l10n/da.php6
-rw-r--r--apps/files_encryption/l10n/es_AR.php6
-rw-r--r--apps/files_encryption/l10n/gl.php6
-rw-r--r--apps/files_encryption/l10n/pt_BR.php6
-rw-r--r--apps/files_encryption/l10n/pt_PT.php6
-rw-r--r--apps/files_encryption/l10n/ro.php6
-rw-r--r--apps/files_encryption/l10n/ru_RU.php6
-rw-r--r--apps/files_encryption/l10n/vi.php6
-rw-r--r--apps/files_encryption/l10n/zh_CN.GB2312.php6
-rw-r--r--apps/files_encryption/l10n/zh_CN.php1
-rw-r--r--apps/files_external/ajax/addRootCertificate.php41
-rw-r--r--apps/files_external/ajax/removeRootCertificate.php11
-rw-r--r--apps/files_external/js/dropbox.js1
-rw-r--r--apps/files_external/l10n/da.php18
-rw-r--r--apps/files_external/l10n/el.php12
-rw-r--r--apps/files_external/l10n/es_AR.php18
-rw-r--r--apps/files_external/l10n/et_EE.php8
-rw-r--r--apps/files_external/l10n/eu.php1
-rw-r--r--apps/files_external/l10n/gl.php18
-rw-r--r--apps/files_external/l10n/pt_BR.php18
-rw-r--r--apps/files_external/l10n/pt_PT.php10
-rw-r--r--apps/files_external/l10n/ro.php18
-rw-r--r--apps/files_external/l10n/ru_RU.php18
-rw-r--r--apps/files_external/l10n/uk.php5
-rw-r--r--apps/files_external/l10n/vi.php18
-rw-r--r--apps/files_external/l10n/zh_CN.GB2312.php18
-rwxr-xr-xapps/files_external/lib/config.php1
-rw-r--r--apps/files_external/settings.php2
-rw-r--r--apps/files_external/templates/settings.php26
-rw-r--r--apps/files_sharing/appinfo/update.php72
-rw-r--r--apps/files_sharing/appinfo/version2
-rw-r--r--apps/files_sharing/css/public.css7
-rw-r--r--apps/files_sharing/js/public.js17
-rw-r--r--apps/files_sharing/l10n/cs_CZ.php2
-rw-r--r--apps/files_sharing/l10n/da.php9
-rw-r--r--apps/files_sharing/l10n/de.php2
-rw-r--r--apps/files_sharing/l10n/el.php5
-rw-r--r--apps/files_sharing/l10n/eo.php5
-rw-r--r--apps/files_sharing/l10n/es.php2
-rw-r--r--apps/files_sharing/l10n/es_AR.php9
-rw-r--r--apps/files_sharing/l10n/et_EE.php6
-rw-r--r--apps/files_sharing/l10n/eu.php2
-rw-r--r--apps/files_sharing/l10n/fi_FI.php2
-rw-r--r--apps/files_sharing/l10n/fr.php2
-rw-r--r--apps/files_sharing/l10n/gl.php7
-rw-r--r--apps/files_sharing/l10n/it.php2
-rw-r--r--apps/files_sharing/l10n/ja_JP.php2
-rw-r--r--apps/files_sharing/l10n/nl.php2
-rw-r--r--apps/files_sharing/l10n/pl.php2
-rw-r--r--apps/files_sharing/l10n/pt_BR.php9
-rw-r--r--apps/files_sharing/l10n/ro.php9
-rw-r--r--apps/files_sharing/l10n/ru.php1
-rw-r--r--apps/files_sharing/l10n/ru_RU.php7
-rw-r--r--apps/files_sharing/l10n/sl.php2
-rw-r--r--apps/files_sharing/l10n/sv.php2
-rw-r--r--apps/files_sharing/l10n/th_TH.php2
-rw-r--r--apps/files_sharing/l10n/uk.php4
-rw-r--r--apps/files_sharing/l10n/vi.php7
-rw-r--r--apps/files_sharing/l10n/zh_CN.GB2312.php7
-rw-r--r--apps/files_sharing/l10n/zh_CN.php9
-rw-r--r--apps/files_sharing/l10n/zh_TW.php6
-rw-r--r--apps/files_sharing/lib/share/file.php14
-rw-r--r--apps/files_sharing/lib/share/folder.php22
-rw-r--r--apps/files_sharing/public.php102
-rw-r--r--[-rwxr-xr-x]apps/files_sharing/templates/public.php34
-rw-r--r--apps/files_versions/js/versions.js67
-rw-r--r--apps/files_versions/l10n/ca.php3
-rw-r--r--apps/files_versions/l10n/cs_CZ.php4
-rw-r--r--apps/files_versions/l10n/da.php8
-rw-r--r--apps/files_versions/l10n/de.php4
-rw-r--r--apps/files_versions/l10n/el.php5
-rw-r--r--apps/files_versions/l10n/eo.php3
-rw-r--r--apps/files_versions/l10n/es.php4
-rw-r--r--apps/files_versions/l10n/es_AR.php8
-rw-r--r--apps/files_versions/l10n/et_EE.php3
-rw-r--r--apps/files_versions/l10n/eu.php4
-rw-r--r--apps/files_versions/l10n/fa.php3
-rw-r--r--apps/files_versions/l10n/fi_FI.php4
-rw-r--r--apps/files_versions/l10n/fr.php4
-rw-r--r--apps/files_versions/l10n/gl.php7
-rw-r--r--apps/files_versions/l10n/he.php3
-rw-r--r--apps/files_versions/l10n/it.php4
-rw-r--r--apps/files_versions/l10n/ja_JP.php4
-rw-r--r--apps/files_versions/l10n/lt_LT.php3
-rw-r--r--apps/files_versions/l10n/nl.php4
-rw-r--r--apps/files_versions/l10n/pl.php4
-rw-r--r--apps/files_versions/l10n/pt_BR.php6
-rw-r--r--apps/files_versions/l10n/pt_PT.php7
-rw-r--r--apps/files_versions/l10n/ro.php8
-rw-r--r--apps/files_versions/l10n/ru.php3
-rw-r--r--apps/files_versions/l10n/ru_RU.php6
-rw-r--r--apps/files_versions/l10n/sk_SK.php8
-rw-r--r--apps/files_versions/l10n/sl.php4
-rw-r--r--apps/files_versions/l10n/sv.php4
-rw-r--r--apps/files_versions/l10n/th_TH.php4
-rw-r--r--apps/files_versions/l10n/vi.php5
-rw-r--r--apps/files_versions/l10n/zh_CN.GB2312.php7
-rw-r--r--apps/files_versions/l10n/zh_CN.php3
-rw-r--r--apps/files_versions/lib/versions.php114
-rw-r--r--apps/files_versions/templates/settings.php3
-rw-r--r--apps/user_ldap/group_ldap.php4
-rw-r--r--apps/user_ldap/l10n/da.php1
-rw-r--r--apps/user_ldap/l10n/de.php2
-rw-r--r--apps/user_ldap/l10n/el.php11
-rw-r--r--apps/user_ldap/l10n/es_AR.php37
-rw-r--r--apps/user_ldap/l10n/et_EE.php22
-rw-r--r--apps/user_ldap/l10n/pt_BR.php37
-rw-r--r--apps/user_ldap/l10n/ru_RU.php22
-rw-r--r--apps/user_ldap/l10n/uk.php4
-rw-r--r--apps/user_ldap/l10n/vi.php13
-rw-r--r--apps/user_ldap/l10n/zh_CN.GB2312.php37
-rw-r--r--apps/user_ldap/l10n/zh_CN.php9
-rw-r--r--apps/user_ldap/lib/access.php59
-rw-r--r--apps/user_ldap/lib/connection.php4
-rw-r--r--apps/user_ldap/lib/jobs.php2
-rw-r--r--apps/user_ldap/user_ldap.php2
177 files changed, 1695 insertions, 391 deletions
diff --git a/apps/.gitkeep b/apps/.gitkeep
deleted file mode 100644
index 8d1c8b69c3f..00000000000
--- a/apps/.gitkeep
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/files/ajax/delete.php b/apps/files/ajax/delete.php
index e9bcea18932..57c8c15c197 100644
--- a/apps/files/ajax/delete.php
+++ b/apps/files/ajax/delete.php
@@ -7,15 +7,15 @@ OCP\JSON::checkLoggedIn();
OCP\JSON::callCheck();
// Get data
-$dir = stripslashes($_GET["dir"]);
-$files = isset($_GET["file"]) ? stripslashes($_GET["file"]) : stripslashes($_GET["files"]);
+$dir = stripslashes($_POST["dir"]);
+$files = isset($_POST["file"]) ? stripslashes($_POST["file"]) : stripslashes($_POST["files"]);
$files = explode(';', $files);
$filesWithError = '';
$success = true;
//Now delete
foreach($files as $file) {
- if( !OC_Files::delete( $dir, $file )) {
+ if( !OC_Files::delete( $dir, $file )) {
$filesWithError .= $file . "\n";
$success = false;
}
diff --git a/apps/files/ajax/newfile.php b/apps/files/ajax/newfile.php
index 4619315ce09..c2d65d718c5 100644
--- a/apps/files/ajax/newfile.php
+++ b/apps/files/ajax/newfile.php
@@ -66,8 +66,10 @@ if($source) {
$target=$dir.'/'.$filename;
$result=OC_Filesystem::file_put_contents($target, $sourceStream);
if($result) {
- $mime=OC_Filesystem::getMimetype($target);
- $eventSource->send('success', $mime);
+ $meta = OC_FileCache::get($target);
+ $mime=$meta['mimetype'];
+ $id = OC_FileCache::getId($target);
+ $eventSource->send('success', array('mime'=>$mime, 'size'=>OC_Filesystem::filesize($target), 'id' => $id));
} else {
$eventSource->send('error', "Error while downloading ".$source. ' to '.$target);
}
@@ -76,11 +78,15 @@ if($source) {
} else {
if($content) {
if(OC_Filesystem::file_put_contents($dir.'/'.$filename, $content)) {
- OCP\JSON::success(array("data" => array('content'=>$content)));
+ $meta = OC_FileCache::get($dir.'/'.$filename);
+ $id = OC_FileCache::getId($dir.'/'.$filename);
+ OCP\JSON::success(array("data" => array('content'=>$content, 'id' => $id)));
exit();
}
}elseif(OC_Files::newFile($dir, $filename, 'file')) {
- OCP\JSON::success(array("data" => array('content'=>$content)));
+ $meta = OC_FileCache::get($dir.'/'.$filename);
+ $id = OC_FileCache::getId($dir.'/'.$filename);
+ OCP\JSON::success(array("data" => array('content'=>$content, 'id' => $id)));
exit();
}
}
diff --git a/apps/files/ajax/upload.php b/apps/files/ajax/upload.php
index 7709becc6a8..a4dcd80a2e2 100644
--- a/apps/files/ajax/upload.php
+++ b/apps/files/ajax/upload.php
@@ -49,8 +49,9 @@ 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_Cached::get($target);
- $result[]=array( "status" => "success", 'mime'=>$meta['mimetype'],'size'=>$meta['size'],'name'=>basename($target));
+ $meta = OC_FileCache::get($target);
+ $id = OC_FileCache::getId($target);
+ $result[]=array( "status" => "success", 'mime'=>$meta['mimetype'],'size'=>$meta['size'], 'id'=>$id, 'name'=>basename($target));
}
}
OCP\JSON::encodedPrint($result);
diff --git a/apps/files/appinfo/update.php b/apps/files/appinfo/update.php
index 35008e345b9..d963b754772 100644
--- a/apps/files/appinfo/update.php
+++ b/apps/files/appinfo/update.php
@@ -1,14 +1,16 @@
<?php
-// 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"] ));
- }
+// fix webdav properties,add namespace in front of the property, update for OC4.5
+$installedVersion=OCP\Config::getAppValue('files', 'installed_version');
+if (version_compare($installedVersion, '1.1.6', '<')) {
+ $query = OC_DB::prepare( "SELECT propertyname, propertypath, userid FROM `*PREFIX*properties`" );
+ $result = $query->execute();
+ while( $row = $result->fetchRow()){
+ if ( $row["propertyname"][0] != '{' ) {
+ $query = OC_DB::prepare( 'UPDATE *PREFIX*properties SET propertyname = ? WHERE userid = ? AND propertypath = ?' );
+ $query->execute( array( '{DAV:}' + $row["propertyname"], $row["userid"], $row["propertypath"] ));
+ }
+ }
}
//update from OC 3
diff --git a/apps/files/appinfo/version b/apps/files/appinfo/version
index e25d8d9f357..0664a8fd291 100644
--- a/apps/files/appinfo/version
+++ b/apps/files/appinfo/version
@@ -1 +1 @@
-1.1.5
+1.1.6
diff --git a/apps/files/css/files.css b/apps/files/css/files.css
index bdd35285e79..db8b8ff57ba 100644
--- a/apps/files/css/files.css
+++ b/apps/files/css/files.css
@@ -3,7 +3,7 @@
See the COPYING-README file. */
/* FILE MENU */
-.actions { padding:.3em; float:left; height:2em; width:10em; }
+.actions { padding:.3em; float:left; height:2em; }
.actions input, .actions button, .actions .button { margin:0; }
#file_menu { right:0; position:absolute; top:0; }
#file_menu a { display:block; float:left; background-image:none; text-decoration:none; }
@@ -12,14 +12,15 @@
.file_upload_wrapper, #file_newfolder_name { background-repeat:no-repeat; background-position:.5em .5em; padding-left:2em; }
.file_upload_wrapper { font-weight:bold; display:-moz-inline-box; /* fallback for older firefox versions*/ display:inline-block; padding-left:0; overflow:hidden; position:relative; margin:0;}
.file_upload_wrapper .file_upload_button_wrapper { position:absolute; top:0; left:0; width:100%; height:100%; cursor:pointer; z-index:1000; }
-#new { float:left; border-top-right-radius:0; border-bottom-right-radius:0; margin:0 0 0 1em; border-right:none; z-index:1010; height:1.3em; }
+#new { background-color:#5bb75b; float:left; border-top-right-radius:0; border-bottom-right-radius:0; margin:0 0 0 1em; border-right:none; z-index:1010; height:1.3em; }
+#new:hover, a.file_upload_button_wrapper:hover + button.file_upload_filename { background-color:#4b964b; }
#new.active { border-bottom-left-radius:0; border-bottom:none; }
#new>a { padding:.5em 1.2em .3em; color:#fff; text-shadow:0 1px 0 #51a351; }
#new>ul { display:none; position:fixed; text-align:left; padding:.5em; background:#f8f8f8; margin-top:0.075em; border:1px solid #ddd; min-width:7em; margin-left:-.5em; z-index:-1; }
#new>ul>li { margin:.3em; padding-left:2em; background-repeat:no-repeat; cursor:pointer; padding-bottom:0.1em }
#new>ul>li>p { cursor:pointer; }
#new>ul>li>input { padding:0.3em; margin:-0.3em; }
-#new, .file_upload_filename { background:#5bb75b; border:1px solid; border-color:#51a351 #419341 #387038; -moz-box-shadow:0 1px 1px #f8f8f8, 1px 1px 1px #ada inset; -webkit-box-shadow:0 1px 1px #f8f8f8, 1px 1px 1px #ada inset; box-shadow:0 1px 1px #f8f8f8, 1px 1px 1px #ada inset; }
+#new, .file_upload_filename { border:1px solid; border-color:#51a351 #419341 #387038; -moz-box-shadow:0 1px 1px #f8f8f8, 1px 1px 1px #ada inset; -webkit-box-shadow:0 1px 1px #f8f8f8, 1px 1px 1px #ada inset; box-shadow:0 1px 1px #f8f8f8, 1px 1px 1px #ada inset; }
#new .popup { border-top-left-radius:0; }
#file_newfolder_name { background-image:url('%webroot%/core/img/places/folder.svg'); font-weight:normal; width:7em; }
@@ -29,8 +30,7 @@
.file_upload_start { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter:alpha(opacity=0); opacity:0; z-index:1; position:absolute; left:0; top:0; width:100%; cursor:pointer;}
.file_upload_filename.active { border-bottom-right-radius:0 }
-.file_upload_filename { z-index:100; padding-left: 0.8em; padding-right: 0.8em; cursor:pointer; border-top-left-radius:0; border-bottom-left-radius:0; }
-.file_upload_filename img { position: absolute; top: 0.4em; left: 0.4em; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter:alpha(opacity=100); opacity:1; }
+.file_upload_filename { background-color:#5bb75b; z-index:100; cursor:pointer; border-top-left-radius:0; border-bottom-left-radius:0; background-image: url('%webroot%/core/img/actions/upload-white.svg'); background-repeat: no-repeat; background-position: center; height: 2.29em; width: 2.5em; }
#upload { position:absolute; right:13.5em; top:0em; }
#upload #uploadprogressbar { position:relative; display:inline-block; width:10em; height:1.5em; top:.4em; }
@@ -47,9 +47,6 @@ tbody a { color:#000; }
span.extension, span.uploading, td.date { color:#999; }
span.extension { text-transform:lowercase; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; filter:alpha(opacity=70); opacity:.7; -webkit-transition:opacity 300ms; -moz-transition:opacity 300ms; -o-transition:opacity 300ms; transition:opacity 300ms; }
tr:hover span.extension { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter:alpha(opacity=100); opacity:1; color:#777; }
-div.crumb { float:left; display:block; background:no-repeat right 0; padding:.75em 1.5em 0 1em; height:2.9em; }
-div.crumb:first-child { padding-left:1em; }
-div.crumb.last { font-weight:bold; }
table tr.mouseOver td { background-color:#eee; }
table th { height:2em; padding:0 .5em; color:#999; }
table th .name { float:left; margin-left:.5em; }
@@ -90,3 +87,6 @@ a.action>img { max-height:16px; max-width:16px; vertical-align:text-bottom; }
#navigation>ul>li:first-child+li { padding-top:2.9em; }
#scanning-message{ top:40%; left:40%; position:absolute; display:none; }
+
+div.crumb a{ padding: 0.9em 0 0.7em 0; }
+
diff --git a/apps/files/js/fileactions.js b/apps/files/js/fileactions.js
index 37e6c91ebe5..ba80c3043b8 100644
--- a/apps/files/js/fileactions.js
+++ b/apps/files/js/fileactions.js
@@ -179,6 +179,7 @@ FileActions.register('all','Delete', OC.PERMISSION_DELETE, function(){return OC.
$('.tipsy').remove();
});
+// t('files', 'Rename')
FileActions.register('all','Rename', OC.PERMISSION_UPDATE, function(){return OC.imagePath('core','actions/rename');},function(filename){
FileList.rename(filename);
});
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 7be4be0e944..f51bb828cb4 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -4,14 +4,15 @@ var FileList={
$('#fileList').empty().html(fileListHtml);
},
addFile:function(name,size,lastModified,loading,hidden){
- var img=(loading)?OC.imagePath('core', 'loading.gif'):OC.imagePath('core', 'filetypes/file.png');
- var html='<tr data-type="file" data-size="'+size+'" data-permissions="'+$('#permissions').val()+'">';
+ var basename, extension, simpleSize, sizeColor, lastModifiedTime, modifiedColor,
+ img=(loading)?OC.imagePath('core', 'loading.gif'):OC.imagePath('core', 'filetypes/file.png'),
+ html='<tr data-type="file" data-size="'+size+'" data-permissions="'+$('#permissions').val()+'">';
if(name.indexOf('.')!=-1){
- var basename=name.substr(0,name.lastIndexOf('.'));
- var extension=name.substr(name.lastIndexOf('.'));
+ basename=name.substr(0,name.lastIndexOf('.'));
+ extension=name.substr(name.lastIndexOf('.'));
}else{
- var basename=name;
- var extension=false;
+ basename=name;
+ extension=false;
}
html+='<td class="filename" style="background-image:url('+img+')"><input type="checkbox" />';
html+='<a class="name" href="download.php?file='+$('#dir').val().replace(/</, '&lt;').replace(/>/, '&gt;')+'/'+name+'"><span class="nametext">'+basename;
@@ -41,10 +42,11 @@ var FileList={
}
},
addDir:function(name,size,lastModified,hidden){
+ var html, td, link_elem, sizeColor, lastModifiedTime, modifiedColor;
html = $('<tr></tr>').attr({ "data-type": "dir", "data-size": size, "data-file": name, "data-permissions": $('#permissions').val()});
td = $('<td></td>').attr({"class": "filename", "style": 'background-image:url('+OC.imagePath('core', 'filetypes/folder.png')+')' });
td.append('<input type="checkbox" />');
- var link_elem = $('<a></a>').attr({ "class": "name", "href": OC.linkTo('files', 'index.php')+"?dir="+ encodeURIComponent($('#dir').val()+'/'+name).replace(/%2F/g, '/') });
+ link_elem = $('<a></a>').attr({ "class": "name", "href": OC.linkTo('files', 'index.php')+"?dir="+ encodeURIComponent($('#dir').val()+'/'+name).replace(/%2F/g, '/') });
link_elem.append($('<span></span>').addClass('nametext').text(name));
link_elem.append($('<span></span>').attr({'class': 'uploadtext', 'currentUploads': 0}));
td.append(link_elem);
@@ -71,7 +73,7 @@ var FileList={
}
},
refresh:function(data) {
- result = jQuery.parseJSON(data.responseText);
+ var result = jQuery.parseJSON(data.responseText);
if(typeof(result.data.breadcrumb) != 'undefined'){
updateBreadcrumb(result.data.breadcrumb);
}
@@ -88,14 +90,13 @@ var FileList={
},
insertElement:function(name,type,element){
//find the correct spot to insert the file or folder
- var fileElements=$('tr[data-file][data-type="'+type+'"]:visible');
- var pos;
+ var pos, fileElements=$('tr[data-file][data-type="'+type+'"]:visible');
if(name.localeCompare($(fileElements[0]).attr('data-file'))<0){
pos=-1;
}else if(name.localeCompare($(fileElements[fileElements.length-1]).attr('data-file'))>0){
pos=fileElements.length-1;
}else{
- for(var pos=0;pos<fileElements.length-1;pos++){
+ for(pos=0;pos<fileElements.length-1;pos++){
if(name.localeCompare($(fileElements[pos]).attr('data-file'))>0 && name.localeCompare($(fileElements[pos+1]).attr('data-file'))<0){
break;
}
@@ -116,9 +117,9 @@ var FileList={
$('.file_upload_filename').removeClass('highlight');
},
loadingDone:function(name){
- var tr=$('tr').filterAttr('data-file',name);
+ var mime, tr=$('tr').filterAttr('data-file',name);
tr.data('loading',false);
- var mime=tr.data('mime');
+ mime=tr.data('mime');
tr.attr('data-mime',mime);
getMimeIcon(mime,function(path){
tr.find('td.filename').attr('style','background-image:url('+path+')');
@@ -129,14 +130,15 @@ var FileList={
return $('tr').filterAttr('data-file',name).data('loading');
},
rename:function(name){
- var tr=$('tr').filterAttr('data-file',name);
+ var tr, td, input, form;
+ tr=$('tr').filterAttr('data-file',name);
tr.data('renaming',true);
- var td=tr.children('td.filename');
- var input=$('<input class="filename"></input>').val(name);
- var form=$('<form></form>')
+ td=tr.children('td.filename');
+ input=$('<input class="filename"></input>').val(name);
+ form=$('<form></form>');
form.append(input);
td.children('a.name').text('');
- td.children('a.name').append(form)
+ td.children('a.name').append(form);
input.focus();
form.submit(function(event){
event.stopPropagation();
@@ -145,31 +147,33 @@ var FileList={
if (newname != name) {
if (FileList.checkName(name, newname, false)) {
newname = name;
- } else {
+ } 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.data('renaming',false);
});
+
+ }
+
+ 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 && tr.data('type') != 'dir') {
+ 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 && tr.data('type') != 'dir') {
+ span.append($('<span class="extension">'+newname.substr(newname.lastIndexOf('.'))+'</span>'));
}
}
- 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) {
- 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) {
- span.append($('<span class="extension">'+newname.substr(newname.lastIndexOf('.'))+'</span>'));
- }
- tr.data('renaming',false);
return false;
});
input.click(function(event){
@@ -255,21 +259,23 @@ var FileList={
},
do_delete:function(files){
// Finish any existing actions
- if (FileList.lastAction || !FileList.useUndo) {
- if(!FileList.deleteFiles) {
- FileList.prepareDeletion(files);
- }
+ if (FileList.lastAction) {
FileList.lastAction();
- return;
}
+
FileList.prepareDeletion(files);
- // NOTE: Temporary fix to change the text to unshared for files in root of Shared folder
- if ($('#dir').val() == '/Shared') {
- $('#notification').html(t('files', 'unshared')+' '+files+'<span class="undo">'+t('files', 'undo')+'</span>');
+
+ if (!FileList.useUndo) {
+ FileList.lastAction();
} else {
- $('#notification').html(t('files', 'deleted')+' '+files+'<span class="undo">'+t('files', 'undo')+'</span>');
+ // NOTE: Temporary fix to change the text to unshared for files in root of Shared folder
+ if ($('#dir').val() == '/Shared') {
+ $('#notification').html(t('files', 'unshared')+' '+files+'<span class="undo">'+t('files', 'undo')+'</span>');
+ } else {
+ $('#notification').html(t('files', 'deleted')+' '+files+'<span class="undo">'+t('files', 'undo')+'</span>');
+ }
+ $('#notification').fadeIn();
}
- $('#notification').fadeIn();
},
finishDelete:function(ready,sync){
if(!FileList.deleteCanceled && FileList.deleteFiles){
@@ -277,6 +283,7 @@ var FileList={
$.ajax({
url: OC.filePath('files', 'ajax', 'delete.php'),
async:!sync,
+ type:'post',
data: {dir:$('#dir').val(),files:fileNames},
complete: function(data){
boolOperationFinished(data, function(){
@@ -312,7 +319,7 @@ var FileList={
FileList.finishDelete(null, true);
};
}
-}
+};
$(document).ready(function(){
$('#notification').hide();
@@ -358,7 +365,7 @@ $(document).ready(function(){
FileList.finishDelete(null, true);
}
});
- FileList.useUndo=('onbeforeunload' in window)
+ FileList.useUndo=(window.onbeforeunload)?true:false;
$(window).bind('beforeunload', function (){
if (FileList.lastAction) {
FileList.lastAction();
diff --git a/apps/files/js/files.js b/apps/files/js/files.js
index 101e2bad2e4..0c00fe8c922 100644
--- a/apps/files/js/files.js
+++ b/apps/files/js/files.js
@@ -253,10 +253,10 @@ $(document).ready(function() {
var img = OC.imagePath('core', 'loading.gif');
var tr=$('tr').filterAttr('data-file',dirName);
tr.find('td.filename').attr('style','background-image:url('+img+')');
- uploadtext.text('1 file uploading');
+ uploadtext.text(t('files', '1 file uploading'));
uploadtext.show();
} else {
- uploadtext.text(currentUploads + ' files uploading')
+ uploadtext.text(currentUploads + ' ' + t('files', 'files uploading'));
}
}
}
@@ -301,7 +301,7 @@ $(document).ready(function() {
uploadtext.text('');
uploadtext.hide();
} else {
- uploadtext.text(currentUploads + ' files uploading')
+ uploadtext.text(currentUploads + ' ' + t('files', 'files uploading'));
}
})
.error(function(jqXHR, textStatus, errorThrown) {
@@ -316,7 +316,7 @@ $(document).ready(function() {
uploadtext.text('');
uploadtext.hide();
} else {
- uploadtext.text(currentUploads + ' files uploading')
+ uploadtext.text(currentUploads + ' ' + t('files', 'files uploading'));
}
$('#notification').hide();
$('#notification').text(t('files', 'Upload cancelled.'));
@@ -336,7 +336,7 @@ $(document).ready(function() {
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);
+ $('tr').filterAttr('data-file',file.name).data('mime',file.mime).data('id',file.id);
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);
@@ -356,16 +356,17 @@ $(document).ready(function() {
$('#notification').fadeIn();
}
});
- uploadingFiles[files[i].name] = jqXHR;
+ uploadingFiles[uniqueName] = jqXHR;
}
}
}else{
data.submit().success(function(data, status) {
- response = jQuery.parseJSON(data[0].body.innerText);
+ // in safari data is a string
+ response = jQuery.parseJSON(typeof data === 'string' ? data : 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);
+ $('tr').filterAttr('data-file',file.name).data('mime',file.mime).data('id',file.id);
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);
@@ -511,7 +512,7 @@ $(document).ready(function() {
var date=new Date();
FileList.addFile(name,0,date,false,hidden);
var tr=$('tr').filterAttr('data-file',name);
- tr.data('mime','text/plain');
+ tr.data('mime','text/plain').data('id',result.data.id);
getMimeIcon('text/plain',function(path){
tr.find('td.filename').attr('style','background-image:url('+path+')');
});
@@ -556,12 +557,15 @@ $(document).ready(function() {
eventSource.listen('progress',function(progress){
$('#uploadprogressbar').progressbar('value',progress);
});
- eventSource.listen('success',function(mime){
+ eventSource.listen('success',function(data){
+ var mime=data.mime;
+ var size=data.size;
+ var id=data.id;
$('#uploadprogressbar').fadeOut();
var date=new Date();
- FileList.addFile(localName,0,date,false,hidden);
+ FileList.addFile(localName,size,date,false,hidden);
var tr=$('tr').filterAttr('data-file',localName);
- tr.data('mime',mime);
+ tr.data('mime',mime).data('id',id);
getMimeIcon(mime,function(path){
tr.find('td.filename').attr('style','background-image:url('+path+')');
});
@@ -661,7 +665,7 @@ function scanFiles(force,dir){
var scannerEventSource=new OC.EventSource(OC.filePath('files','ajax','scan.php'),{force:force,dir:dir});
scanFiles.cancel=scannerEventSource.close.bind(scannerEventSource);
scannerEventSource.listen('scanning',function(data){
- $('#scan-count').text(data.count+' files scanned');
+ $('#scan-count').text(data.count + ' ' + t('files', 'files scanned'));
$('#scan-current').text(data.file+'/');
});
scannerEventSource.listen('success',function(success){
@@ -669,7 +673,7 @@ function scanFiles(force,dir){
if(success){
window.location.reload();
}else{
- alert('error while scanning');
+ alert(t('files', 'error while scanning'));
}
});
}
diff --git a/apps/files/l10n/ar.php b/apps/files/l10n/ar.php
index 52480ce7ff8..a5530851d2e 100644
--- a/apps/files/l10n/ar.php
+++ b/apps/files/l10n/ar.php
@@ -7,6 +7,7 @@
"Missing a temporary folder" => "المجلد المؤقت غير موجود",
"Files" => "الملفات",
"Delete" => "محذوف",
+"Name" => "الاسم",
"Size" => "حجم",
"Modified" => "معدل",
"Maximum upload size" => "الحد الأقصى لحجم الملفات التي يمكن رفعها",
@@ -15,7 +16,6 @@
"Folder" => "مجلد",
"Upload" => "إرفع",
"Nothing in here. Upload something!" => "لا يوجد شيء هنا. إرفع بعض الملفات!",
-"Name" => "الاسم",
"Download" => "تحميل",
"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 624e08959fe..86f26a1798c 100644
--- a/apps/files/l10n/bg_BG.php
+++ b/apps/files/l10n/bg_BG.php
@@ -11,6 +11,7 @@
"Upload Error" => "Грешка при качване",
"Upload cancelled." => "Качването е отменено.",
"Invalid name, '/' is not allowed." => "Неправилно име – \"/\" не е позволено.",
+"Name" => "Име",
"Size" => "Размер",
"Modified" => "Променено",
"folder" => "папка",
@@ -25,7 +26,6 @@
"Upload" => "Качване",
"Cancel upload" => "Отказване на качването",
"Nothing in here. Upload something!" => "Няма нищо, качете нещо!",
-"Name" => "Име",
"Share" => "Споделяне",
"Download" => "Изтегляне",
"Upload too large" => "Файлът е прекалено голям",
diff --git a/apps/files/l10n/ca.php b/apps/files/l10n/ca.php
index 336f59ae86d..e86c1960753 100644
--- a/apps/files/l10n/ca.php
+++ b/apps/files/l10n/ca.php
@@ -7,6 +7,7 @@
"Missing a temporary folder" => "S'ha perdut un fitxer temporal",
"Failed to write to disk" => "Ha fallat en escriure al disc",
"Files" => "Fitxers",
+"Unshare" => "Deixa de compartir",
"Delete" => "Suprimeix",
"already exists" => "ja existeix",
"replace" => "substitueix",
@@ -15,6 +16,7 @@
"replaced" => "substituït",
"undo" => "desfés",
"with" => "per",
+"unshared" => "No compartits",
"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",
@@ -23,6 +25,9 @@
"Upload cancelled." => "La pujada s'ha cancel·lat.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Hi ha una pujada en curs. Si abandoneu la pàgina la pujada es cancel·larà.",
"Invalid name, '/' is not allowed." => "El nom no és vàlid, no es permet '/'.",
+"files scanned" => "arxius escanejats",
+"error while scanning" => "error durant l'escaneig",
+"Name" => "Nom",
"Size" => "Mida",
"Modified" => "Modificat",
"folder" => "carpeta",
@@ -44,7 +49,6 @@
"Upload" => "Puja",
"Cancel upload" => "Cancel·la la pujada",
"Nothing in here. Upload something!" => "Res per aquí. Pugeu alguna cosa!",
-"Name" => "Nom",
"Share" => "Comparteix",
"Download" => "Baixa",
"Upload too large" => "La pujada és massa gran",
diff --git a/apps/files/l10n/cs_CZ.php b/apps/files/l10n/cs_CZ.php
index f29df70ee68..04db7316f90 100644
--- a/apps/files/l10n/cs_CZ.php
+++ b/apps/files/l10n/cs_CZ.php
@@ -7,7 +7,9 @@
"Missing a temporary folder" => "Chybí adresář pro dočasné soubory",
"Failed to write to disk" => "Zápis na disk selhal",
"Files" => "Soubory",
+"Unshare" => "Zrušit sdílení",
"Delete" => "Smazat",
+"Rename" => "Přejmenovat",
"already exists" => "již existuje",
"replace" => "nahradit",
"suggest name" => "navrhnout název",
@@ -15,20 +17,36 @@
"replaced" => "nahrazeno",
"undo" => "zpět",
"with" => "s",
+"unshared" => "sdílení zrušeno",
"deleted" => "smazáno",
"generating ZIP-file, it may take some time." => "generuji ZIP soubor, může to nějakou dobu trvat.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nelze odeslat Váš soubor, protože je to adresář nebo má velikost 0 bajtů",
"Upload Error" => "Chyba odesílání",
"Pending" => "Čekající",
+"1 file uploading" => "odesílá se 1 soubor",
+"files uploading" => "souborů se odesílá",
"Upload cancelled." => "Odesílání zrušeno.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Probíhá odesílání souboru. Opuštění stránky vyústí ve zrušení nahrávání.",
"Invalid name, '/' is not allowed." => "Neplatný název, znak '/' není povolen",
+"files scanned" => "soubory prohledány",
+"error while scanning" => "chyba při prohledávání",
+"Name" => "Název",
"Size" => "Velikost",
"Modified" => "Změněno",
"folder" => "složka",
"folders" => "složky",
"file" => "soubor",
"files" => "soubory",
+"seconds ago" => "před pár sekundami",
+"minute ago" => "před minutou",
+"minutes ago" => "před pár minutami",
+"today" => "dnes",
+"yesterday" => "včera",
+"days ago" => "před pár dny",
+"last month" => "minulý měsíc",
+"months ago" => "před pár měsíci",
+"last year" => "minulý rok",
+"years ago" => "před pár lety",
"File handling" => "Zacházení se soubory",
"Maximum upload size" => "Maximální velikost pro odesílání",
"max. possible: " => "největší možná: ",
@@ -44,7 +62,6 @@
"Upload" => "Odeslat",
"Cancel upload" => "Zrušit odesílání",
"Nothing in here. Upload something!" => "Žádný obsah. Nahrajte něco.",
-"Name" => "Název",
"Share" => "Sdílet",
"Download" => "Stáhnout",
"Upload too large" => "Odeslaný soubor je příliš velký",
diff --git a/apps/files/l10n/da.php b/apps/files/l10n/da.php
index 020f6142ec6..4a1372de529 100644
--- a/apps/files/l10n/da.php
+++ b/apps/files/l10n/da.php
@@ -7,13 +7,17 @@
"Missing a temporary folder" => "Mangler en midlertidig mappe",
"Failed to write to disk" => "Fejl ved skrivning til disk.",
"Files" => "Filer",
+"Unshare" => "Fjern deling",
"Delete" => "Slet",
+"Rename" => "Omdøb",
"already exists" => "findes allerede",
"replace" => "erstat",
+"suggest name" => "foreslå navn",
"cancel" => "fortryd",
"replaced" => "erstattet",
"undo" => "fortryd",
"with" => "med",
+"unshared" => "udelt",
"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",
@@ -22,6 +26,9 @@
"Upload cancelled." => "Upload afbrudt.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Fil upload kører. Hvis du forlader siden nu, vil uploadet blive annuleret.",
"Invalid name, '/' is not allowed." => "Ugyldigt navn, '/' er ikke tilladt.",
+"files scanned" => "filer scannet",
+"error while scanning" => "fejl under scanning",
+"Name" => "Navn",
"Size" => "Størrelse",
"Modified" => "Ændret",
"folder" => "mappe",
@@ -35,6 +42,7 @@
"Enable ZIP-download" => "Muliggør ZIP-download",
"0 is unlimited" => "0 er ubegrænset",
"Maximum input size for ZIP files" => "Maksimal størrelse på ZIP filer",
+"Save" => "Gem",
"New" => "Ny",
"Text file" => "Tekstfil",
"Folder" => "Mappe",
@@ -42,7 +50,6 @@
"Upload" => "Upload",
"Cancel upload" => "Fortryd upload",
"Nothing in here. Upload something!" => "Her er tomt. Upload noget!",
-"Name" => "Navn",
"Share" => "Del",
"Download" => "Download",
"Upload too large" => "Upload for stor",
diff --git a/apps/files/l10n/de.php b/apps/files/l10n/de.php
index 3db6af8477d..fc07c9b911e 100644
--- a/apps/files/l10n/de.php
+++ b/apps/files/l10n/de.php
@@ -7,7 +7,9 @@
"Missing a temporary folder" => "Temporärer Ordner fehlt.",
"Failed to write to disk" => "Fehler beim Schreiben auf die Festplatte",
"Files" => "Dateien",
+"Unshare" => "Nicht mehr freigeben",
"Delete" => "Löschen",
+"Rename" => "Umbenennen",
"already exists" => "ist bereits vorhanden",
"replace" => "ersetzen",
"suggest name" => "Name vorschlagen",
@@ -15,20 +17,36 @@
"replaced" => "ersetzt",
"undo" => "rückgängig machen",
"with" => "mit",
+"unshared" => "Nicht mehr freigegeben",
"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",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Ihre Datei kann nicht hochgeladen werden, da sie entweder ein Verzeichnis oder 0 Bytes groß ist.",
+"Upload Error" => "Fehler beim Upload",
"Pending" => "Ausstehend",
-"Upload cancelled." => "Hochladen abgebrochen.",
+"1 file uploading" => "Eine Datei wird hoch geladen",
+"files uploading" => "Dateien werden hoch geladen",
+"Upload cancelled." => "Upload abgebrochen.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Dateiupload läuft. Wenn Sie die Seite jetzt verlassen, wird der Upload abgebrochen.",
"Invalid name, '/' is not allowed." => "Ungültiger Name: \"/\" ist nicht erlaubt.",
+"files scanned" => "Dateien gescannt",
+"error while scanning" => "Fehler beim Scannen",
+"Name" => "Name",
"Size" => "Größe",
"Modified" => "Bearbeitet",
"folder" => "Ordner",
"folders" => "Ordner",
"file" => "Datei",
"files" => "Dateien",
+"seconds ago" => "Sekunden her",
+"minute ago" => "Minute her",
+"minutes ago" => "Minuten her",
+"today" => "Heute",
+"yesterday" => "Gestern",
+"days ago" => "Tage her",
+"last month" => "Letzten Monat",
+"months ago" => "Monate her",
+"last year" => "Letztes Jahr",
+"years ago" => "Jahre her",
"File handling" => "Dateibehandlung",
"Maximum upload size" => "Maximale Upload-Größe",
"max. possible: " => "maximal möglich:",
@@ -40,15 +58,14 @@
"New" => "Neu",
"Text file" => "Textdatei",
"Folder" => "Ordner",
-"From url" => "Von der URL",
+"From url" => "Von einer URL",
"Upload" => "Hochladen",
"Cancel upload" => "Upload abbrechen",
"Nothing in here. Upload something!" => "Alles leer. Lade etwas hoch!",
-"Name" => "Name",
"Share" => "Teilen",
"Download" => "Herunterladen",
"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." => "Dateien werden gescannt, bitte warten.",
-"Current scanning" => "Scannen"
+"Current scanning" => "Scanne"
);
diff --git a/apps/files/l10n/el.php b/apps/files/l10n/el.php
index 9f311c6b28e..1206f7f0f48 100644
--- a/apps/files/l10n/el.php
+++ b/apps/files/l10n/el.php
@@ -3,24 +3,31 @@
"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Το αρχείο που μεταφορτώθηκε υπερβαίνει την οδηγία μέγιστου επιτρεπτού μεγέθους \"upload_max_filesize\" του php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Το αρχείο υπερβαίνει την οδηγία μέγιστου επιτρεπτού μεγέθους \"MAX_FILE_SIZE\" που έχει οριστεί στην HTML φόρμα",
"The uploaded file was only partially uploaded" => "Το αρχείο μεταφορώθηκε μόνο εν μέρει",
-"No file was uploaded" => "Το αρχείο δεν μεταφορτώθηκε",
-"Missing a temporary folder" => "Λείπει ένας προσωρινός φάκελος",
-"Failed to write to disk" => "Η εγγραφή στο δίσκο απέτυχε",
+"No file was uploaded" => "Κανένα αρχείο δεν μεταφορτώθηκε",
+"Missing a temporary folder" => "Λείπει ο προσωρινός φάκελος",
+"Failed to write to disk" => "Αποτυχία εγγραφής στο δίσκο",
"Files" => "Αρχεία",
+"Unshare" => "Διακοπή κοινής χρήσης",
"Delete" => "Διαγραφή",
"already exists" => "υπάρχει ήδη",
"replace" => "αντικατέστησε",
+"suggest name" => "συνιστώμενο όνομα",
"cancel" => "ακύρωση",
"replaced" => "αντικαταστάθηκε",
"undo" => "αναίρεση",
"with" => "με",
+"unshared" => "Διακόπηκε ο διαμοιρασμός",
"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" => "Εν αναμονή",
+"Pending" => "Εκκρεμεί",
"Upload cancelled." => "Η μεταφόρτωση ακυρώθηκε.",
+"File upload is in progress. Leaving the page now will cancel the upload." => "Η μεταφόρτωση του αρχείου βρίσκεται σε εξέλιξη. Έξοδος από την σελίδα τώρα θα ακυρώσει την μεταφόρτωση.",
"Invalid name, '/' is not allowed." => "Μη έγκυρο όνομα, το '/' δεν επιτρέπεται.",
+"files scanned" => "αρχεία σαρώθηκαν",
+"error while scanning" => "σφάλμα κατά την ανίχνευση",
+"Name" => "Όνομα",
"Size" => "Μέγεθος",
"Modified" => "Τροποποιήθηκε",
"folder" => "φάκελος",
@@ -34,18 +41,18 @@
"Enable ZIP-download" => "Ενεργοποίηση κατεβάσματος ZIP",
"0 is unlimited" => "0 για απεριόριστο",
"Maximum input size for ZIP files" => "Μέγιστο μέγεθος για αρχεία ZIP",
+"Save" => "Αποθήκευση",
"New" => "Νέο",
"Text file" => "Αρχείο κειμένου",
"Folder" => "Φάκελος",
"From url" => "Από την διεύθυνση",
"Upload" => "Μεταφόρτωση",
-"Cancel upload" => "Ακύρωση ανεβάσματος",
+"Cancel upload" => "Ακύρωση μεταφόρτωσης",
"Nothing in here. Upload something!" => "Δεν υπάρχει τίποτα εδώ. Ανέβασε κάτι!",
-"Name" => "Όνομα",
-"Share" => "Διαμοίρασε",
+"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." => "Τα αρχεία ανιχνεύονται, παρακαλώ περιμένετε",
+"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/eo.php b/apps/files/l10n/eo.php
index bf17b97244c..03d44587448 100644
--- a/apps/files/l10n/eo.php
+++ b/apps/files/l10n/eo.php
@@ -7,20 +7,25 @@
"Missing a temporary folder" => "Mankas tempa dosierujo",
"Failed to write to disk" => "Malsukcesis skribo al disko",
"Files" => "Dosieroj",
+"Unshare" => "Malkunhavigi",
"Delete" => "Forigi",
"already exists" => "jam ekzistas",
"replace" => "anstataŭigi",
+"suggest name" => "sugesti nomon",
"cancel" => "nuligi",
"replaced" => "anstataŭigita",
"undo" => "malfari",
"with" => "kun",
+"unshared" => "malkunhavigita",
"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.",
+"File upload is in progress. Leaving the page now will cancel the upload." => "Dosieralŝuto plenumiĝas. Lasi la paĝon nun nuligus la alŝuton.",
"Invalid name, '/' is not allowed." => "Nevalida nomo, “/” ne estas permesata.",
+"Name" => "Nomo",
"Size" => "Grando",
"Modified" => "Modifita",
"folder" => "dosierujo",
@@ -34,6 +39,7 @@
"Enable ZIP-download" => "Kapabligi ZIP-elŝuton",
"0 is unlimited" => "0 signifas senlime",
"Maximum input size for ZIP files" => "Maksimuma enirgrando por ZIP-dosieroj",
+"Save" => "Konservi",
"New" => "Nova",
"Text file" => "Tekstodosiero",
"Folder" => "Dosierujo",
@@ -41,7 +47,6 @@
"Upload" => "Alŝuti",
"Cancel upload" => "Nuligi alŝuton",
"Nothing in here. Upload something!" => "Nenio estas ĉi tie. Alŝutu ion!",
-"Name" => "Nomo",
"Share" => "Kunhavigi",
"Download" => "Elŝuti",
"Upload too large" => "Elŝuto tro larĝa",
diff --git a/apps/files/l10n/es.php b/apps/files/l10n/es.php
index 0ba3c56aa1f..7e92576fe11 100644
--- a/apps/files/l10n/es.php
+++ b/apps/files/l10n/es.php
@@ -7,7 +7,9 @@
"Missing a temporary folder" => "Falta un directorio temporal",
"Failed to write to disk" => "La escritura en disco ha fallado",
"Files" => "Archivos",
-"Delete" => "Eliminado",
+"Unshare" => "Dejar de compartir",
+"Delete" => "Eliminar",
+"Rename" => "Renombrar",
"already exists" => "ya existe",
"replace" => "reemplazar",
"suggest name" => "sugerir nombre",
@@ -15,6 +17,7 @@
"replaced" => "reemplazado",
"undo" => "deshacer",
"with" => "con",
+"unshared" => "no compartido",
"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",
@@ -23,6 +26,9 @@
"Upload cancelled." => "Subida cancelada.",
"File upload is in progress. Leaving the page now will cancel the upload." => "La subida del archivo está en proceso. Salir de la página ahora cancelará la subida.",
"Invalid name, '/' is not allowed." => "Nombre no válido, '/' no está permitido.",
+"files scanned" => "archivos escaneados",
+"error while scanning" => "error escaneando",
+"Name" => "Nombre",
"Size" => "Tamaño",
"Modified" => "Modificado",
"folder" => "carpeta",
@@ -44,11 +50,10 @@
"Upload" => "Subir",
"Cancel upload" => "Cancelar subida",
"Nothing in here. Upload something!" => "Aquí no hay nada. ¡Sube algo!",
-"Name" => "Nombre",
"Share" => "Compartir",
"Download" => "Descargar",
"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.",
"Files are being scanned, please wait." => "Se están escaneando los archivos, por favor espere.",
-"Current scanning" => "Escaneo actual"
+"Current scanning" => "Ahora escaneando"
);
diff --git a/apps/files/l10n/es_AR.php b/apps/files/l10n/es_AR.php
new file mode 100644
index 00000000000..f3290ef4e3c
--- /dev/null
+++ b/apps/files/l10n/es_AR.php
@@ -0,0 +1,59 @@
+<?php $TRANSLATIONS = array(
+"There is no error, the file uploaded with success" => "No se han producido errores, el archivo se ha subido con éxito",
+"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "El archivo que intentás subir sobrepasa el tamaño definido por la variable upload_max_filesize en php.ini",
+"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "El archivo que intentás subir sobrepasa el tamaño definido por la variable MAX_FILE_SIZE especificada en el formulario HTML",
+"The uploaded file was only partially uploaded" => "El archivo que intentás subir solo se subió parcialmente",
+"No file was uploaded" => "El archivo no fue subido",
+"Missing a temporary folder" => "Falta un directorio temporal",
+"Failed to write to disk" => "La escritura en disco falló",
+"Files" => "Archivos",
+"Unshare" => "Dejar de compartir",
+"Delete" => "Borrar",
+"Rename" => "cambiar nombre",
+"already exists" => "ya existe",
+"replace" => "reemplazar",
+"suggest name" => "sugerir nombre",
+"cancel" => "cancelar",
+"replaced" => "reemplazado",
+"undo" => "deshacer",
+"with" => "con",
+"unshared" => "no compartido",
+"deleted" => "borrado",
+"generating ZIP-file, it may take some time." => "generando un archivo ZIP, puede llevar un tiempo.",
+"Unable to upload your file as it is a directory or has 0 bytes" => "No fue posible subir tu archivo porque es un directorio o su tamaño es 0 bytes",
+"Upload Error" => "Error al subir el archivo",
+"Pending" => "Pendiente",
+"Upload cancelled." => "La subida fue cancelada",
+"File upload is in progress. Leaving the page now will cancel the upload." => "La subida del archivo está en proceso. Si salís de la página ahora, la subida se cancelará.",
+"Invalid name, '/' is not allowed." => "Nombre no válido, '/' no está permitido.",
+"files scanned" => "archivos escaneados",
+"error while scanning" => "error mientras se escaneaba",
+"Name" => "Nombre",
+"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:",
+"Needed for multi-file and folder downloads." => "Se necesita para descargas multi-archivo y de carpetas",
+"Enable ZIP-download" => "Habilitar descarga en formato ZIP",
+"0 is unlimited" => "0 significa ilimitado",
+"Maximum input size for ZIP files" => "Tamaño máximo para archivos ZIP de entrada",
+"Save" => "Guardar",
+"New" => "Nuevo",
+"Text file" => "Archivo de texto",
+"Folder" => "Carpeta",
+"From url" => "Desde la URL",
+"Upload" => "Subir",
+"Cancel upload" => "Cancelar subida",
+"Nothing in here. Upload something!" => "Aquí no hay nada. ¡Subí contenido!",
+"Share" => "Compartir",
+"Download" => "Descargar",
+"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 intentás subir sobrepasan el tamaño máximo ",
+"Files are being scanned, please wait." => "Se están escaneando los archivos, por favor espere.",
+"Current scanning" => "Escaneo actual"
+);
diff --git a/apps/files/l10n/et_EE.php b/apps/files/l10n/et_EE.php
index 0763745788b..f2721b194e2 100644
--- a/apps/files/l10n/et_EE.php
+++ b/apps/files/l10n/et_EE.php
@@ -7,20 +7,25 @@
"Missing a temporary folder" => "Ajutiste failide kaust puudub",
"Failed to write to disk" => "Kettale kirjutamine ebaõnnestus",
"Files" => "Failid",
+"Unshare" => "Lõpeta jagamine",
"Delete" => "Kustuta",
"already exists" => "on juba olemas",
"replace" => "asenda",
+"suggest name" => "soovita nime",
"cancel" => "loobu",
"replaced" => "asendatud",
"undo" => "tagasi",
"with" => "millega",
+"unshared" => "jagamata",
"deleted" => "kustutatud",
"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.",
+"File upload is in progress. Leaving the page now will cancel the upload." => "Faili üleslaadimine on töös. Lehelt lahkumine katkestab selle üleslaadimise.",
"Invalid name, '/' is not allowed." => "Vigane nimi, '/' pole lubatud.",
+"Name" => "Nimi",
"Size" => "Suurus",
"Modified" => "Muudetud",
"folder" => "kaust",
@@ -34,6 +39,7 @@
"Enable ZIP-download" => "Luba ZIP-ina allalaadimine",
"0 is unlimited" => "0 tähendab piiramatut",
"Maximum input size for ZIP files" => "Maksimaalne ZIP-faili sisestatava faili suurus",
+"Save" => "Salvesta",
"New" => "Uus",
"Text file" => "Tekstifail",
"Folder" => "Kaust",
@@ -41,7 +47,6 @@
"Upload" => "Lae üles",
"Cancel upload" => "Tühista üleslaadimine",
"Nothing in here. Upload something!" => "Siin pole midagi. Lae midagi üles!",
-"Name" => "Nimi",
"Share" => "Jaga",
"Download" => "Lae alla",
"Upload too large" => "Üleslaadimine on liiga suur",
diff --git a/apps/files/l10n/eu.php b/apps/files/l10n/eu.php
index 3897a5580f3..9c504880008 100644
--- a/apps/files/l10n/eu.php
+++ b/apps/files/l10n/eu.php
@@ -7,20 +7,27 @@
"Missing a temporary folder" => "Aldi baterako karpeta falta da",
"Failed to write to disk" => "Errore bat izan da diskoan idazterakoan",
"Files" => "Fitxategiak",
+"Unshare" => "Ez partekatu",
"Delete" => "Ezabatu",
"already exists" => "dagoeneko existitzen da",
"replace" => "ordeztu",
+"suggest name" => "aholkatu izena",
"cancel" => "ezeztatu",
"replaced" => "ordeztua",
"undo" => "desegin",
"with" => "honekin",
+"unshared" => "Ez partekatuta",
"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",
+"File upload is in progress. Leaving the page now will cancel the upload." => "Fitxategien igoera martxan da. Orria orain uzteak igoera ezeztatutko du.",
"Invalid name, '/' is not allowed." => "Baliogabeko izena, '/' ezin da erabili. ",
+"files scanned" => "fitxategiak eskaneatuta",
+"error while scanning" => "errore bat egon da eskaneatzen zen bitartean",
+"Name" => "Izena",
"Size" => "Tamaina",
"Modified" => "Aldatuta",
"folder" => "karpeta",
@@ -34,6 +41,7 @@
"Enable ZIP-download" => "Gaitu ZIP-deskarga",
"0 is unlimited" => "0 mugarik gabe esan nahi du",
"Maximum input size for ZIP files" => "ZIP fitxategien gehienezko tamaina",
+"Save" => "Gorde",
"New" => "Berria",
"Text file" => "Testu fitxategia",
"Folder" => "Karpeta",
@@ -41,7 +49,6 @@
"Upload" => "Igo",
"Cancel upload" => "Ezeztatu igoera",
"Nothing in here. Upload something!" => "Ez dago ezer. Igo zerbait!",
-"Name" => "Izena",
"Share" => "Elkarbanatu",
"Download" => "Deskargatu",
"Upload too large" => "Igotakoa handiegia da",
diff --git a/apps/files/l10n/fa.php b/apps/files/l10n/fa.php
index e6ddd50f917..979e58c5578 100644
--- a/apps/files/l10n/fa.php
+++ b/apps/files/l10n/fa.php
@@ -21,6 +21,7 @@
"Pending" => "در انتظار",
"Upload cancelled." => "بار گذاری لغو شد",
"Invalid name, '/' is not allowed." => "نام نامناسب '/' غیرفعال است",
+"Name" => "نام",
"Size" => "اندازه",
"Modified" => "تغییر یافته",
"folder" => "پوشه",
@@ -41,7 +42,6 @@
"Upload" => "بارگذاری",
"Cancel upload" => "متوقف کردن بار گذاری",
"Nothing in here. Upload something!" => "اینجا هیچ چیز نیست.",
-"Name" => "نام",
"Share" => "به اشتراک گذاری",
"Download" => "بارگیری",
"Upload too large" => "حجم بارگذاری بسیار زیاد است",
diff --git a/apps/files/l10n/fi_FI.php b/apps/files/l10n/fi_FI.php
index 757d0594d30..8e874ad4d95 100644
--- a/apps/files/l10n/fi_FI.php
+++ b/apps/files/l10n/fi_FI.php
@@ -8,6 +8,7 @@
"Failed to write to disk" => "Levylle kirjoitus epäonnistui",
"Files" => "Tiedostot",
"Delete" => "Poista",
+"Rename" => "Nimeä uudelleen",
"already exists" => "on jo olemassa",
"replace" => "korvaa",
"suggest name" => "ehdota nimeä",
@@ -23,12 +24,23 @@
"Upload cancelled." => "Lähetys peruttu.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Tiedoston lähetys on meneillään. Sivulta poistuminen nyt peruu tiedoston lähetyksen.",
"Invalid name, '/' is not allowed." => "Virheellinen nimi, merkki '/' ei ole sallittu.",
+"Name" => "Nimi",
"Size" => "Koko",
"Modified" => "Muutettu",
"folder" => "kansio",
"folders" => "kansiota",
"file" => "tiedosto",
"files" => "tiedostoa",
+"seconds ago" => "sekuntia sitten",
+"minute ago" => "minuutti sitten",
+"minutes ago" => "minuuttia sitten",
+"today" => "tänään",
+"yesterday" => "eilen",
+"days ago" => "päivää sitten",
+"last month" => "viime kuussa",
+"months ago" => "kuukautta sitten",
+"last year" => "viime vuonna",
+"years ago" => "vuotta sitten",
"File handling" => "Tiedostonhallinta",
"Maximum upload size" => "Lähetettävän tiedoston suurin sallittu koko",
"max. possible: " => "suurin mahdollinen:",
@@ -44,7 +56,6 @@
"Upload" => "Lähetä",
"Cancel upload" => "Peru lähetys",
"Nothing in here. Upload something!" => "Täällä ei ole mitään. Lähetä tänne jotakin!",
-"Name" => "Nimi",
"Share" => "Jaa",
"Download" => "Lataa",
"Upload too large" => "Lähetettävä tiedosto on liian suuri",
diff --git a/apps/files/l10n/fr.php b/apps/files/l10n/fr.php
index 0b7d226de74..f58bfa5cc5e 100644
--- a/apps/files/l10n/fr.php
+++ b/apps/files/l10n/fr.php
@@ -7,27 +7,46 @@
"Missing a temporary folder" => "Il manque un répertoire temporaire",
"Failed to write to disk" => "Erreur d'écriture sur le disque",
"Files" => "Fichiers",
+"Unshare" => "Ne plus partager",
"Delete" => "Supprimer",
+"Rename" => "Renommer",
"already exists" => "existe déjà",
"replace" => "remplacer",
+"suggest name" => "Suggérer un nom",
"cancel" => "annuler",
"replaced" => "remplacé",
"undo" => "annuler",
"with" => "avec",
+"unshared" => "non partagée",
"deleted" => "supprimé",
"generating ZIP-file, it may take some time." => "Fichier ZIP en cours d'assemblage ; 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",
+"1 file uploading" => "1 fichier en cours de téléchargement",
+"files uploading" => "fichiers en cours de téléchargement",
"Upload cancelled." => "Chargement annulé.",
"File upload is in progress. Leaving the page now will cancel the upload." => "L'envoi du fichier est en cours. Quitter cette page maintenant annulera l'envoi du fichier.",
"Invalid name, '/' is not allowed." => "Nom invalide, '/' n'est pas autorisé.",
+"files scanned" => "fichiers indexés",
+"error while scanning" => "erreur lors de l'indexation",
+"Name" => "Nom",
"Size" => "Taille",
"Modified" => "Modifié",
"folder" => "dossier",
"folders" => "dossiers",
"file" => "fichier",
"files" => "fichiers",
+"seconds ago" => "secondes passées",
+"minute ago" => "minute passée",
+"minutes ago" => "minutes passées",
+"today" => "aujourd'hui",
+"yesterday" => "hier",
+"days ago" => "jours passés",
+"last month" => "mois dernier",
+"months ago" => "mois passés",
+"last year" => "année dernière",
+"years ago" => "années passées",
"File handling" => "Gestion des fichiers",
"Maximum upload size" => "Taille max. d'envoi",
"max. possible: " => "Max. possible :",
@@ -43,7 +62,6 @@
"Upload" => "Envoyer",
"Cancel upload" => "Annuler l'envoi",
"Nothing in here. Upload something!" => "Il n'y a rien ici ! Envoyez donc quelque chose :)",
-"Name" => "Nom",
"Share" => "Partager",
"Download" => "Téléchargement",
"Upload too large" => "Fichier trop volumineux",
diff --git a/apps/files/l10n/gl.php b/apps/files/l10n/gl.php
index 67293de5cb7..77e87ee282c 100644
--- a/apps/files/l10n/gl.php
+++ b/apps/files/l10n/gl.php
@@ -7,20 +7,27 @@
"Missing a temporary folder" => "Falta un cartafol temporal",
"Failed to write to disk" => "Erro ao escribir no disco",
"Files" => "Ficheiros",
+"Unshare" => "Deixar de compartir",
"Delete" => "Eliminar",
"already exists" => "xa existe",
"replace" => "substituír",
+"suggest name" => "suxira nome",
"cancel" => "cancelar",
"replaced" => "substituído",
"undo" => "desfacer",
"with" => "con",
+"unshared" => "non compartido",
"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.",
+"File upload is in progress. Leaving the page now will cancel the upload." => "A subida do ficheiro está en curso. Saír agora da páxina cancelará a subida.",
"Invalid name, '/' is not allowed." => "Nome non válido, '/' non está permitido.",
+"files scanned" => "ficheiros analizados",
+"error while scanning" => "erro mentras analizaba",
+"Name" => "Nome",
"Size" => "Tamaño",
"Modified" => "Modificado",
"folder" => "cartafol",
@@ -34,6 +41,7 @@
"Enable ZIP-download" => "Habilitar a descarga-ZIP",
"0 is unlimited" => "0 significa ilimitado",
"Maximum input size for ZIP files" => "Tamaño máximo de descarga para os ZIP",
+"Save" => "Gardar",
"New" => "Novo",
"Text file" => "Ficheiro de texto",
"Folder" => "Cartafol",
@@ -41,7 +49,6 @@
"Upload" => "Enviar",
"Cancel upload" => "Cancelar subida",
"Nothing in here. Upload something!" => "Nada por aquí. Envíe algo.",
-"Name" => "Nome",
"Share" => "Compartir",
"Download" => "Descargar",
"Upload too large" => "Envío demasiado grande",
diff --git a/apps/files/l10n/he.php b/apps/files/l10n/he.php
index 65d093e3662..84c669cba31 100644
--- a/apps/files/l10n/he.php
+++ b/apps/files/l10n/he.php
@@ -8,12 +8,14 @@
"Failed to write to disk" => "הכתיבה לכונן נכשלה",
"Files" => "קבצים",
"Delete" => "מחיקה",
+"already exists" => "כבר קיים",
"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." => "שם לא חוקי, '/' אסור לשימוש.",
+"Name" => "שם",
"Size" => "גודל",
"Modified" => "זמן שינוי",
"folder" => "תקיה",
@@ -34,7 +36,6 @@
"Upload" => "העלאה",
"Cancel upload" => "ביטול ההעלאה",
"Nothing in here. Upload something!" => "אין כאן שום דבר. אולי ברצונך להעלות משהו?",
-"Name" => "שם",
"Share" => "שיתוף",
"Download" => "הורדה",
"Upload too large" => "העלאה גדולה מידי",
diff --git a/apps/files/l10n/hr.php b/apps/files/l10n/hr.php
index b05b7c568b4..f3b26999e8f 100644
--- a/apps/files/l10n/hr.php
+++ b/apps/files/l10n/hr.php
@@ -21,6 +21,7 @@
"Pending" => "U tijeku",
"Upload cancelled." => "Slanje poništeno.",
"Invalid name, '/' is not allowed." => "Neispravan naziv, znak '/' nije dozvoljen.",
+"Name" => "Naziv",
"Size" => "Veličina",
"Modified" => "Zadnja promjena",
"folder" => "mapa",
@@ -41,7 +42,6 @@
"Upload" => "Pošalji",
"Cancel upload" => "Prekini upload",
"Nothing in here. Upload something!" => "Nema ničega u ovoj mapi. Pošalji nešto!",
-"Name" => "Naziv",
"Share" => "podjeli",
"Download" => "Preuzmi",
"Upload too large" => "Prijenos je preobiman",
diff --git a/apps/files/l10n/hu_HU.php b/apps/files/l10n/hu_HU.php
index 95b3c57ce11..0d44e6e157a 100644
--- a/apps/files/l10n/hu_HU.php
+++ b/apps/files/l10n/hu_HU.php
@@ -21,6 +21,7 @@
"Pending" => "Folyamatban",
"Upload cancelled." => "Feltöltés megszakítva",
"Invalid name, '/' is not allowed." => "Érvénytelen név, a '/' nem megengedett",
+"Name" => "Név",
"Size" => "Méret",
"Modified" => "Módosítva",
"folder" => "mappa",
@@ -41,7 +42,6 @@
"Upload" => "Feltöltés",
"Cancel upload" => "Feltöltés megszakítása",
"Nothing in here. Upload something!" => "Töltsön fel egy fájlt.",
-"Name" => "Név",
"Share" => "Megosztás",
"Download" => "Letöltés",
"Upload too large" => "Feltöltés túl nagy",
diff --git a/apps/files/l10n/ia.php b/apps/files/l10n/ia.php
index f9205cb5f64..21a0bb52374 100644
--- a/apps/files/l10n/ia.php
+++ b/apps/files/l10n/ia.php
@@ -3,6 +3,7 @@
"No file was uploaded" => "Nulle file esseva incargate",
"Files" => "Files",
"Delete" => "Deler",
+"Name" => "Nomine",
"Size" => "Dimension",
"Modified" => "Modificate",
"Maximum upload size" => "Dimension maxime de incargamento",
@@ -11,7 +12,6 @@
"Folder" => "Dossier",
"Upload" => "Incargar",
"Nothing in here. Upload something!" => "Nihil hic. Incarga alcun cosa!",
-"Name" => "Nomine",
"Download" => "Discargar",
"Upload too large" => "Incargamento troppo longe"
);
diff --git a/apps/files/l10n/id.php b/apps/files/l10n/id.php
index 351d0641388..07bccdc597d 100644
--- a/apps/files/l10n/id.php
+++ b/apps/files/l10n/id.php
@@ -21,6 +21,7 @@
"Pending" => "Menunggu",
"Upload cancelled." => "Pengunggahan dibatalkan.",
"Invalid name, '/' is not allowed." => "Kesalahan nama, '/' tidak diijinkan.",
+"Name" => "Nama",
"Size" => "Ukuran",
"Modified" => "Dimodifikasi",
"folder" => "folder",
@@ -41,7 +42,6 @@
"Upload" => "Unggah",
"Cancel upload" => "Batal mengunggah",
"Nothing in here. Upload something!" => "Tidak ada apa-apa di sini. Unggah sesuatu!",
-"Name" => "Nama",
"Share" => "Bagikan",
"Download" => "Unduh",
"Upload too large" => "Unggahan terlalu besar",
diff --git a/apps/files/l10n/it.php b/apps/files/l10n/it.php
index 0df60832c5b..86f2ff84fcf 100644
--- a/apps/files/l10n/it.php
+++ b/apps/files/l10n/it.php
@@ -7,7 +7,9 @@
"Missing a temporary folder" => "Cartella temporanea mancante",
"Failed to write to disk" => "Scrittura su disco non riuscita",
"Files" => "File",
+"Unshare" => "Rimuovi condivisione",
"Delete" => "Elimina",
+"Rename" => "Rinomina",
"already exists" => "esiste già",
"replace" => "sostituisci",
"suggest name" => "suggerisci nome",
@@ -15,20 +17,36 @@
"replaced" => "sostituito",
"undo" => "annulla",
"with" => "con",
+"unshared" => "condivisione rimossa",
"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",
+"1 file uploading" => "1 file in fase di caricamento",
+"files uploading" => "file in fase di caricamento",
"Upload cancelled." => "Invio annullato",
"File upload is in progress. Leaving the page now will cancel the upload." => "Caricamento del file in corso. La chiusura della pagina annullerà il caricamento.",
"Invalid name, '/' is not allowed." => "Nome non valido",
+"files scanned" => "file analizzati",
+"error while scanning" => "errore durante la scansione",
+"Name" => "Nome",
"Size" => "Dimensione",
"Modified" => "Modificato",
"folder" => "cartella",
"folders" => "cartelle",
"file" => "file",
"files" => "file",
+"seconds ago" => "secondi fa",
+"minute ago" => "minuto fa",
+"minutes ago" => "minuti fa",
+"today" => "oggi",
+"yesterday" => "ieri",
+"days ago" => "giorni fa",
+"last month" => "mese scorso",
+"months ago" => "mesi fa",
+"last year" => "anno scorso",
+"years ago" => "anni fa",
"File handling" => "Gestione file",
"Maximum upload size" => "Dimensione massima upload",
"max. possible: " => "numero mass.: ",
@@ -44,7 +62,6 @@
"Upload" => "Carica",
"Cancel upload" => "Annulla invio",
"Nothing in here. Upload something!" => "Non c'è niente qui. Carica qualcosa!",
-"Name" => "Nome",
"Share" => "Condividi",
"Download" => "Scarica",
"Upload too large" => "Il file caricato è troppo grande",
diff --git a/apps/files/l10n/ja_JP.php b/apps/files/l10n/ja_JP.php
index 2de716fec8a..7aa246f9644 100644
--- a/apps/files/l10n/ja_JP.php
+++ b/apps/files/l10n/ja_JP.php
@@ -7,27 +7,46 @@
"Missing a temporary folder" => "テンポラリフォルダが見つかりません",
"Failed to write to disk" => "ディスクへの書き込みに失敗しました",
"Files" => "ファイル",
+"Unshare" => "共有しない",
"Delete" => "削除",
+"Rename" => "名前の変更",
"already exists" => "既に存在します",
"replace" => "置き換え",
+"suggest name" => "推奨名称",
"cancel" => "キャンセル",
"replaced" => "置換:",
"undo" => "元に戻す",
"with" => "←",
+"unshared" => "未共有",
"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" => "保留",
+"1 file uploading" => "ファイルを1つアップロード中",
+"files uploading" => "ファイルをアップロード中",
"Upload cancelled." => "アップロードはキャンセルされました。",
"File upload is in progress. Leaving the page now will cancel the upload." => "ファイル転送を実行中です。今このページから移動するとアップロードが中止されます。",
"Invalid name, '/' is not allowed." => "無効な名前、'/' は使用できません。",
+"files scanned" => "ファイルをスキャンしました",
+"error while scanning" => "スキャン中のエラー",
+"Name" => "名前",
"Size" => "サイズ",
"Modified" => "更新日時",
"folder" => "フォルダ",
"folders" => "フォルダ",
"file" => "ファイル",
"files" => "ファイル",
+"seconds ago" => "秒前",
+"minute ago" => "分前",
+"minutes ago" => "分前",
+"today" => "今日",
+"yesterday" => "昨日",
+"days ago" => "日前",
+"last month" => "一月前",
+"months ago" => "月前",
+"last year" => "一年前",
+"years ago" => "年前",
"File handling" => "ファイル操作",
"Maximum upload size" => "最大アップロードサイズ",
"max. possible: " => "最大容量: ",
@@ -43,7 +62,6 @@
"Upload" => "アップロード",
"Cancel upload" => "アップロードをキャンセル",
"Nothing in here. Upload something!" => "ここには何もありません。何かアップロードしてください。",
-"Name" => "名前",
"Share" => "共有",
"Download" => "ダウンロード",
"Upload too large" => "ファイルサイズが大きすぎます",
diff --git a/apps/files/l10n/ko.php b/apps/files/l10n/ko.php
index 121be7d1abb..e54d696c34e 100644
--- a/apps/files/l10n/ko.php
+++ b/apps/files/l10n/ko.php
@@ -21,6 +21,7 @@
"Pending" => "보류 중",
"Upload cancelled." => "업로드 취소.",
"Invalid name, '/' is not allowed." => "잘못된 이름, '/' 은 허용이 되지 않습니다.",
+"Name" => "이름",
"Size" => "크기",
"Modified" => "수정됨",
"folder" => "폴더",
@@ -41,7 +42,6 @@
"Upload" => "업로드",
"Cancel upload" => "업로드 취소",
"Nothing in here. Upload something!" => "내용이 없습니다. 업로드할 수 있습니다!",
-"Name" => "이름",
"Share" => "공유",
"Download" => "다운로드",
"Upload too large" => "업로드 용량 초과",
diff --git a/apps/files/l10n/lb.php b/apps/files/l10n/lb.php
index 92acea1d117..a51980348c7 100644
--- a/apps/files/l10n/lb.php
+++ b/apps/files/l10n/lb.php
@@ -21,6 +21,7 @@
"Upload cancelled." => "Upload ofgebrach.",
"File upload is in progress. Leaving the page now will cancel the upload." => "File Upload am gaang. Wann's de des Säit verléiss gëtt den Upload ofgebrach.",
"Invalid name, '/' is not allowed." => "Ongültege Numm, '/' net erlaabt.",
+"Name" => "Numm",
"Size" => "Gréisst",
"Modified" => "Geännert",
"folder" => "Dossier",
@@ -41,7 +42,6 @@
"Upload" => "Eroplueden",
"Cancel upload" => "Upload ofbriechen",
"Nothing in here. Upload something!" => "Hei ass näischt. Lued eppes rop!",
-"Name" => "Numm",
"Share" => "Share",
"Download" => "Eroflueden",
"Upload too large" => "Upload ze grouss",
diff --git a/apps/files/l10n/lt_LT.php b/apps/files/l10n/lt_LT.php
index 90b03143074..47a79c4a5a0 100644
--- a/apps/files/l10n/lt_LT.php
+++ b/apps/files/l10n/lt_LT.php
@@ -15,6 +15,7 @@
"Pending" => "Laukiantis",
"Upload cancelled." => "Įkėlimas atšauktas.",
"Invalid name, '/' is not allowed." => "Pavadinime negali būti naudojamas ženklas \"/\".",
+"Name" => "Pavadinimas",
"Size" => "Dydis",
"Modified" => "Pakeista",
"folder" => "katalogas",
@@ -33,7 +34,6 @@
"Upload" => "Įkelti",
"Cancel upload" => "Atšaukti siuntimą",
"Nothing in here. Upload something!" => "Čia tuščia. Įkelkite ką nors!",
-"Name" => "Pavadinimas",
"Share" => "Dalintis",
"Download" => "Atsisiųsti",
"Upload too large" => "Įkėlimui failas per didelis",
diff --git a/apps/files/l10n/lv.php b/apps/files/l10n/lv.php
index eedab2546c5..813d693f94a 100644
--- a/apps/files/l10n/lv.php
+++ b/apps/files/l10n/lv.php
@@ -16,6 +16,7 @@
"Pending" => "Gaida savu kārtu",
"Upload cancelled." => "Augšuplāde ir atcelta",
"Invalid name, '/' is not allowed." => "Šis simbols '/', nav atļauts.",
+"Name" => "Nosaukums",
"Size" => "Izmērs",
"Modified" => "Izmainīts",
"folder" => "mape",
@@ -33,7 +34,6 @@
"Upload" => "Augšuplādet",
"Cancel upload" => "Atcelt augšuplādi",
"Nothing in here. Upload something!" => "Te vēl nekas nav. Rīkojies, sāc augšuplādēt",
-"Name" => "Nosaukums",
"Share" => "Līdzdalīt",
"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 4e1eccff255..f4aee5ba178 100644
--- a/apps/files/l10n/mk.php
+++ b/apps/files/l10n/mk.php
@@ -14,6 +14,7 @@
"Pending" => "Чека",
"Upload cancelled." => "Преземањето е прекинато.",
"Invalid name, '/' is not allowed." => "неисправно име, '/' не е дозволено.",
+"Name" => "Име",
"Size" => "Големина",
"Modified" => "Променето",
"folder" => "фолдер",
@@ -34,7 +35,6 @@
"Upload" => "Подигни",
"Cancel upload" => "Откажи прикачување",
"Nothing in here. Upload something!" => "Тука нема ништо. Снимете нешто!",
-"Name" => "Име",
"Share" => "Сподели",
"Download" => "Преземи",
"Upload too large" => "Датотеката е премногу голема",
diff --git a/apps/files/l10n/ms_MY.php b/apps/files/l10n/ms_MY.php
index de472a7c651..bfa47969b3c 100644
--- a/apps/files/l10n/ms_MY.php
+++ b/apps/files/l10n/ms_MY.php
@@ -20,6 +20,7 @@
"Pending" => "Dalam proses",
"Upload cancelled." => "Muatnaik dibatalkan.",
"Invalid name, '/' is not allowed." => "penggunaa nama tidak sah, '/' tidak dibenarkan.",
+"Name" => "Nama ",
"Size" => "Saiz",
"Modified" => "Dimodifikasi",
"folder" => "direktori",
@@ -40,7 +41,6 @@
"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",
"Upload too large" => "Muat naik terlalu besar",
diff --git a/apps/files/l10n/nb_NO.php b/apps/files/l10n/nb_NO.php
index 4a747af2f3a..cda1d51ed2f 100644
--- a/apps/files/l10n/nb_NO.php
+++ b/apps/files/l10n/nb_NO.php
@@ -21,6 +21,7 @@
"Pending" => "Ventende",
"Upload cancelled." => "Opplasting avbrutt.",
"Invalid name, '/' is not allowed." => "Ugyldig navn, '/' er ikke tillatt. ",
+"Name" => "Navn",
"Size" => "Størrelse",
"Modified" => "Endret",
"folder" => "mappe",
@@ -34,6 +35,7 @@
"Enable ZIP-download" => "Aktiver nedlasting av ZIP",
"0 is unlimited" => "0 er ubegrenset",
"Maximum input size for ZIP files" => "Maksimal størrelse på ZIP-filer",
+"Save" => "Lagre",
"New" => "Ny",
"Text file" => "Tekstfil",
"Folder" => "Mappe",
@@ -41,7 +43,6 @@
"Upload" => "Last opp",
"Cancel upload" => "Avbryt opplasting",
"Nothing in here. Upload something!" => "Ingenting her. Last opp noe!",
-"Name" => "Navn",
"Share" => "Del",
"Download" => "Last ned",
"Upload too large" => "Opplasting for stor",
diff --git a/apps/files/l10n/nl.php b/apps/files/l10n/nl.php
index 7acb15054c5..016f7341ab7 100644
--- a/apps/files/l10n/nl.php
+++ b/apps/files/l10n/nl.php
@@ -7,13 +7,17 @@
"Missing a temporary folder" => "Een tijdelijke map mist",
"Failed to write to disk" => "Schrijven naar schijf mislukt",
"Files" => "Bestanden",
+"Unshare" => "Stop delen",
"Delete" => "Verwijder",
+"Rename" => "Hernoem",
"already exists" => "bestaat al",
"replace" => "vervang",
+"suggest name" => "Stel een naam voor",
"cancel" => "annuleren",
"replaced" => "vervangen",
"undo" => "ongedaan maken",
"with" => "door",
+"unshared" => "niet gedeeld",
"deleted" => "verwijderd",
"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",
@@ -22,6 +26,9 @@
"Upload cancelled." => "Uploaden geannuleerd.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Bestands upload is bezig. Wanneer de pagina nu verlaten wordt, stopt de upload.",
"Invalid name, '/' is not allowed." => "Ongeldige naam, '/' is niet toegestaan.",
+"files scanned" => "Gescande bestanden",
+"error while scanning" => "Fout tijdens het scannen",
+"Name" => "Naam",
"Size" => "Bestandsgrootte",
"Modified" => "Laatst aangepast",
"folder" => "map",
@@ -43,7 +50,6 @@
"Upload" => "Upload",
"Cancel upload" => "Upload afbreken",
"Nothing in here. Upload something!" => "Er bevindt zich hier niets. Upload een bestand!",
-"Name" => "Naam",
"Share" => "Delen",
"Download" => "Download",
"Upload too large" => "Bestanden te groot",
diff --git a/apps/files/l10n/nn_NO.php b/apps/files/l10n/nn_NO.php
index d6af7302494..7af37057ce0 100644
--- a/apps/files/l10n/nn_NO.php
+++ b/apps/files/l10n/nn_NO.php
@@ -7,6 +7,7 @@
"Missing a temporary folder" => "Manglar ei mellombels mappe",
"Files" => "Filer",
"Delete" => "Slett",
+"Name" => "Namn",
"Size" => "Storleik",
"Modified" => "Endra",
"Maximum upload size" => "Maksimal opplastingsstorleik",
@@ -15,7 +16,6 @@
"Folder" => "Mappe",
"Upload" => "Last opp",
"Nothing in here. Upload something!" => "Ingenting her. Last noko opp!",
-"Name" => "Namn",
"Download" => "Last ned",
"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 d3814333aca..1f823d0bb5e 100644
--- a/apps/files/l10n/pl.php
+++ b/apps/files/l10n/pl.php
@@ -7,7 +7,9 @@
"Missing a temporary folder" => "Brak katalogu tymczasowego",
"Failed to write to disk" => "Błąd zapisu na dysk",
"Files" => "Pliki",
+"Unshare" => "Nie udostępniaj",
"Delete" => "Usuwa element",
+"Rename" => "Zmień nazwę",
"already exists" => "Już istnieje",
"replace" => "zastap",
"suggest name" => "zasugeruj nazwę",
@@ -15,6 +17,7 @@
"replaced" => "zastąpione",
"undo" => "wróć",
"with" => "z",
+"unshared" => "Nie udostępnione",
"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",
@@ -23,6 +26,9 @@
"Upload cancelled." => "Wczytywanie anulowane.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Wysyłanie pliku jest w toku. Teraz opuszczając stronę wysyłanie zostanie anulowane.",
"Invalid name, '/' is not allowed." => "Nieprawidłowa nazwa '/' jest niedozwolone.",
+"files scanned" => "Pliki skanowane",
+"error while scanning" => "Wystąpił błąd podczas skanowania",
+"Name" => "Nazwa",
"Size" => "Rozmiar",
"Modified" => "Czas modyfikacji",
"folder" => "folder",
@@ -44,7 +50,6 @@
"Upload" => "Prześlij",
"Cancel upload" => "Przestań wysyłać",
"Nothing in here. Upload something!" => "Brak zawartości. Proszę wysłać pliki!",
-"Name" => "Nazwa",
"Share" => "Współdziel",
"Download" => "Pobiera element",
"Upload too large" => "Wysyłany plik ma za duży rozmiar",
diff --git a/apps/files/l10n/pt_BR.php b/apps/files/l10n/pt_BR.php
index e9fe7747c13..59ec8a8a018 100644
--- a/apps/files/l10n/pt_BR.php
+++ b/apps/files/l10n/pt_BR.php
@@ -7,26 +7,46 @@
"Missing a temporary folder" => "Pasta temporária não encontrada",
"Failed to write to disk" => "Falha ao escrever no disco",
"Files" => "Arquivos",
+"Unshare" => "Descompartilhar",
"Delete" => "Excluir",
+"Rename" => "Renomear",
"already exists" => "já existe",
"replace" => "substituir",
+"suggest name" => "sugerir nome",
"cancel" => "cancelar",
"replaced" => "substituido ",
"undo" => "desfazer",
"with" => "com",
+"unshared" => "descompartilhado",
"deleted" => "deletado",
"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",
+"1 file uploading" => "enviando 1 arquivo",
+"files uploading" => "enviando arquivos",
"Upload cancelled." => "Envio cancelado.",
+"File upload is in progress. Leaving the page now will cancel the upload." => "Upload em andamento. Sair da página agora resultará no cancelamento do envio.",
"Invalid name, '/' is not allowed." => "Nome inválido, '/' não é permitido.",
+"files scanned" => "arquivos verificados",
+"error while scanning" => "erro durante verificação",
+"Name" => "Nome",
"Size" => "Tamanho",
"Modified" => "Modificado",
"folder" => "pasta",
"folders" => "pastas",
"file" => "arquivo",
"files" => "arquivos",
+"seconds ago" => "segundos atrás",
+"minute ago" => "minuto atrás",
+"minutes ago" => "minutos atrás",
+"today" => "hoje",
+"yesterday" => "ontem",
+"days ago" => "dias atrás",
+"last month" => "último mês",
+"months ago" => "meses atrás",
+"last year" => "último ano",
+"years ago" => "anos atrás",
"File handling" => "Tratamento de Arquivo",
"Maximum upload size" => "Tamanho máximo para carregar",
"max. possible: " => "max. possível:",
@@ -34,6 +54,7 @@
"Enable ZIP-download" => "Habilitar ZIP-download",
"0 is unlimited" => "0 para ilimitado",
"Maximum input size for ZIP files" => "Tamanho máximo para arquivo ZIP",
+"Save" => "Salvar",
"New" => "Novo",
"Text file" => "Arquivo texto",
"Folder" => "Pasta",
@@ -41,7 +62,6 @@
"Upload" => "Carregar",
"Cancel upload" => "Cancelar upload",
"Nothing in here. Upload something!" => "Nada aqui.Carrege alguma coisa!",
-"Name" => "Nome",
"Share" => "Compartilhar",
"Download" => "Baixar",
"Upload too large" => "Arquivo muito grande",
diff --git a/apps/files/l10n/pt_PT.php b/apps/files/l10n/pt_PT.php
index 998c494a695..ffd15ae1d06 100644
--- a/apps/files/l10n/pt_PT.php
+++ b/apps/files/l10n/pt_PT.php
@@ -21,6 +21,7 @@
"Pending" => "Pendente",
"Upload cancelled." => "O upload foi cancelado.",
"Invalid name, '/' is not allowed." => "nome inválido, '/' não permitido.",
+"Name" => "Nome",
"Size" => "Tamanho",
"Modified" => "Modificado",
"folder" => "pasta",
@@ -41,7 +42,6 @@
"Upload" => "Enviar",
"Cancel upload" => "Cancelar upload",
"Nothing in here. Upload something!" => "Vazio. Envia alguma coisa!",
-"Name" => "Nome",
"Share" => "Partilhar",
"Download" => "Transferir",
"Upload too large" => "Envio muito grande",
diff --git a/apps/files/l10n/ro.php b/apps/files/l10n/ro.php
index 58a6d2454f5..8d651e23827 100644
--- a/apps/files/l10n/ro.php
+++ b/apps/files/l10n/ro.php
@@ -7,9 +7,46 @@
"Missing a temporary folder" => "Lipsește un dosar temporar",
"Failed to write to disk" => "Eroare la scriere pe disc",
"Files" => "Fișiere",
+"Unshare" => "Anulează partajarea",
"Delete" => "Șterge",
+"Rename" => "Redenumire",
+"already exists" => "deja există",
+"replace" => "înlocuire",
+"suggest name" => "sugerează nume",
+"cancel" => "anulare",
+"replaced" => "înlocuit",
+"undo" => "Anulează ultima acțiune",
+"with" => "cu",
+"unshared" => "nepartajat",
+"deleted" => "șters",
+"generating ZIP-file, it may take some time." => "se generază fișierul ZIP, va dura ceva timp.",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Nu s-a putut încărca fișierul tău deoarece pare să fie un director sau are 0 bytes.",
+"Upload Error" => "Eroare la încărcare",
+"Pending" => "În așteptare",
+"1 file uploading" => "un fișier se încarcă",
+"files uploading" => "fișiere se încarcă",
+"Upload cancelled." => "Încărcare anulată.",
+"File upload is in progress. Leaving the page now will cancel the upload." => "Fișierul este în curs de încărcare. Părăsirea paginii va întrerupe încărcarea.",
+"Invalid name, '/' is not allowed." => "Nume invalid, '/' nu este permis.",
+"files scanned" => "fișiere scanate",
+"error while scanning" => "eroare la scanarea",
+"Name" => "Nume",
"Size" => "Dimensiune",
"Modified" => "Modificat",
+"folder" => "director",
+"folders" => "directoare",
+"file" => "fișier",
+"files" => "fișiere",
+"seconds ago" => "secunde în urmă",
+"minute ago" => "minut în urmă",
+"minutes ago" => "minute în urmă",
+"today" => "astăzi",
+"yesterday" => "ieri",
+"days ago" => "zile în urmă",
+"last month" => "ultima lună",
+"months ago" => "luni în urmă",
+"last year" => "ultimul an",
+"years ago" => "ani în urmă",
"File handling" => "Manipulare fișiere",
"Maximum upload size" => "Dimensiune maximă admisă la încărcare",
"max. possible: " => "max. posibil:",
@@ -17,6 +54,7 @@
"Enable ZIP-download" => "Activează descărcare fișiere compresate",
"0 is unlimited" => "0 e nelimitat",
"Maximum input size for ZIP files" => "Dimensiunea maximă de intrare pentru fișiere compresate",
+"Save" => "Salvare",
"New" => "Nou",
"Text file" => "Fișier text",
"Folder" => "Dosar",
@@ -24,7 +62,6 @@
"Upload" => "Încarcă",
"Cancel upload" => "Anulează încărcarea",
"Nothing in here. Upload something!" => "Nimic aici. Încarcă ceva!",
-"Name" => "Nume",
"Share" => "Partajează",
"Download" => "Descarcă",
"Upload too large" => "Fișierul încărcat este prea mare",
diff --git a/apps/files/l10n/ru.php b/apps/files/l10n/ru.php
index 6a76c254047..d21d6e3a6d8 100644
--- a/apps/files/l10n/ru.php
+++ b/apps/files/l10n/ru.php
@@ -7,13 +7,16 @@
"Missing a temporary folder" => "Невозможно найти временную папку",
"Failed to write to disk" => "Ошибка записи на диск",
"Files" => "Файлы",
+"Unshare" => "Отменить публикацию",
"Delete" => "Удалить",
"already exists" => "уже существует",
"replace" => "заменить",
+"suggest name" => "предложить название",
"cancel" => "отмена",
"replaced" => "заменён",
"undo" => "отмена",
"with" => "с",
+"unshared" => "публикация отменена",
"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 байт в каталог",
@@ -22,6 +25,7 @@
"Upload cancelled." => "Загрузка отменена.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Файл в процессе загрузки. Покинув страницу вы прервёте загрузку.",
"Invalid name, '/' is not allowed." => "Неверное имя, '/' не допускается.",
+"Name" => "Название",
"Size" => "Размер",
"Modified" => "Изменён",
"folder" => "папка",
@@ -35,6 +39,7 @@
"Enable ZIP-download" => "Включить ZIP-скачивание",
"0 is unlimited" => "0 - без ограничений",
"Maximum input size for ZIP files" => "Максимальный исходный размер для ZIP файлов",
+"Save" => "Сохранить",
"New" => "Новый",
"Text file" => "Текстовый файл",
"Folder" => "Папка",
@@ -42,7 +47,6 @@
"Upload" => "Загрузить",
"Cancel upload" => "Отмена загрузки",
"Nothing in here. Upload something!" => "Здесь ничего нет. Загрузите что-нибудь!",
-"Name" => "Название",
"Share" => "Опубликовать",
"Download" => "Скачать",
"Upload too large" => "Файл слишком большой",
diff --git a/apps/files/l10n/ru_RU.php b/apps/files/l10n/ru_RU.php
new file mode 100644
index 00000000000..0574e2dfcde
--- /dev/null
+++ b/apps/files/l10n/ru_RU.php
@@ -0,0 +1,56 @@
+<?php $TRANSLATIONS = array(
+"There is no error, the file uploaded with success" => "Ошибка отсутствует, файл загружен успешно.",
+"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Размер загруженного файла превышает заданный в директиве upload_max_filesize в php.ini",
+"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Размер загруженного",
+"The uploaded file was only partially uploaded" => "Загружаемый файл был загружен частично",
+"No file was uploaded" => "Файл не был загружен",
+"Missing a temporary folder" => "Отсутствует временная папка",
+"Failed to write to disk" => "Не удалось записать на диск",
+"Files" => "Файлы",
+"Unshare" => "Скрыть",
+"Delete" => "Удалить",
+"already exists" => "уже существует",
+"replace" => "отмена",
+"suggest name" => "подобрать название",
+"cancel" => "отменить",
+"replaced" => "заменено",
+"undo" => "отменить действие",
+"with" => "с",
+"unshared" => "скрытый",
+"deleted" => "удалено",
+"generating ZIP-file, it may take some time." => "Создание ZIP-файла, это может занять некоторое время.",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Невозможно загрузить файл,\n так как он имеет нулевой размер или является директорией",
+"Upload Error" => "Ошибка загрузки",
+"Pending" => "Ожидающий решения",
+"Upload cancelled." => "Загрузка отменена",
+"File upload is in progress. Leaving the page now will cancel the upload." => "Процесс загрузки файла. Если покинуть страницу сейчас, загрузка будет отменена.",
+"Invalid name, '/' is not allowed." => "Неправильное имя, '/' не допускается.",
+"Name" => "Имя",
+"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-файлов ",
+"Save" => "Сохранить",
+"New" => "Новый",
+"Text file" => "Текстовый файл",
+"Folder" => "Папка",
+"From url" => "Из url",
+"Upload" => "Загрузить ",
+"Cancel upload" => "Отмена загрузки",
+"Nothing in here. Upload something!" => "Здесь ничего нет. Загрузите что-нибудь!",
+"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/sk_SK.php b/apps/files/l10n/sk_SK.php
index 8a31c550320..f25e6bb9bb7 100644
--- a/apps/files/l10n/sk_SK.php
+++ b/apps/files/l10n/sk_SK.php
@@ -7,13 +7,27 @@
"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",
+"Unshare" => "Nezdielať",
"Delete" => "Odstrániť",
+"already exists" => "už existuje",
+"replace" => "nahradiť",
+"suggest name" => "pomôcť s menom",
+"cancel" => "zrušiť",
+"replaced" => "zmenené",
+"undo" => "vrátiť",
+"with" => "s",
+"unshared" => "zdielané",
+"deleted" => "zmazané",
"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é",
+"File upload is in progress. Leaving the page now will cancel the upload." => "Opustenie stránky zruší práve prebiehajúce odosielanie súboru.",
"Invalid name, '/' is not allowed." => "Chybný názov, \"/\" nie je povolené",
+"files scanned" => "skontrolovaných súborov",
+"error while scanning" => "chyba počas kontroly",
+"Name" => "Meno",
"Size" => "Veľkosť",
"Modified" => "Upravené",
"folder" => "priečinok",
@@ -21,23 +35,23 @@
"file" => "súbor",
"files" => "súbory",
"File handling" => "Nastavenie správanie k súborom",
-"Maximum upload size" => "Maximálna veľkosť nahratia",
+"Maximum upload size" => "Maximálna veľkosť odosielaného súboru",
"max. possible: " => "najväčšie možné:",
"Needed for multi-file and folder downloads." => "Vyžadované pre sťahovanie viacerých súborov a adresárov.",
"Enable ZIP-download" => "Povoliť sťahovanie ZIP súborov",
"0 is unlimited" => "0 znamená neobmedzené",
"Maximum input size for ZIP files" => "Najväčšia veľkosť ZIP súborov",
+"Save" => "Uložiť",
"New" => "Nový",
"Text file" => "Textový súbor",
"Folder" => "Priečinok",
"From url" => "Z url",
"Upload" => "Nahrať",
"Cancel upload" => "Zrušiť odosielanie",
-"Nothing in here. Upload something!" => "Nič tu nie je. Nahrajte niečo!",
-"Name" => "Meno",
+"Nothing in here. Upload something!" => "Žiadny súbor. Nahrajte niečo!",
"Share" => "Zdielať",
"Download" => "Stiahnuť",
-"Upload too large" => "Nahrávanie príliš veľké",
+"Upload too large" => "Odosielaný súbor je 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.",
"Current scanning" => "Práve prehliadané"
diff --git a/apps/files/l10n/sl.php b/apps/files/l10n/sl.php
index 0d56a0c6476..2a733d2c26a 100644
--- a/apps/files/l10n/sl.php
+++ b/apps/files/l10n/sl.php
@@ -7,7 +7,9 @@
"Missing a temporary folder" => "Manjka začasna mapa",
"Failed to write to disk" => "Pisanje na disk je spodletelo",
"Files" => "Datoteke",
+"Unshare" => "Odstrani iz souporabe",
"Delete" => "Izbriši",
+"Rename" => "Preimenuj",
"already exists" => "že obstaja",
"replace" => "nadomesti",
"suggest name" => "predlagaj ime",
@@ -15,6 +17,7 @@
"replaced" => "nadomeščen",
"undo" => "razveljavi",
"with" => "z",
+"unshared" => "odstranjeno iz souporabe",
"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.",
@@ -23,6 +26,9 @@
"Upload cancelled." => "Nalaganje je bilo preklicano.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Nalaganje datoteke je v teku. Če zapustite to stran zdaj, boste nalaganje preklicali.",
"Invalid name, '/' is not allowed." => "Neveljavno ime. Znak '/' ni dovoljen.",
+"files scanned" => "pregledanih datotek",
+"error while scanning" => "napaka med pregledovanjem datotek",
+"Name" => "Ime",
"Size" => "Velikost",
"Modified" => "Spremenjeno",
"folder" => "mapa",
@@ -44,7 +50,6 @@
"Upload" => "Naloži",
"Cancel upload" => "Prekliči nalaganje",
"Nothing in here. Upload something!" => "Tukaj ni ničesar. Naložite kaj!",
-"Name" => "Ime",
"Share" => "Souporaba",
"Download" => "Prenesi",
"Upload too large" => "Nalaganje ni mogoče, ker je preveliko",
diff --git a/apps/files/l10n/sr.php b/apps/files/l10n/sr.php
index 84164e25c62..99e4b12697c 100644
--- a/apps/files/l10n/sr.php
+++ b/apps/files/l10n/sr.php
@@ -7,6 +7,7 @@
"Missing a temporary folder" => "Недостаје привремена фасцикла",
"Files" => "Фајлови",
"Delete" => "Обриши",
+"Name" => "Име",
"Size" => "Величина",
"Modified" => "Задња измена",
"Maximum upload size" => "Максимална величина пошиљке",
@@ -15,7 +16,6 @@
"Folder" => "фасцикла",
"Upload" => "Пошаљи",
"Nothing in here. Upload something!" => "Овде нема ничег. Пошаљите нешто!",
-"Name" => "Име",
"Download" => "Преузми",
"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 96c567aec41..d8c7ef18989 100644
--- a/apps/files/l10n/sr@latin.php
+++ b/apps/files/l10n/sr@latin.php
@@ -7,12 +7,12 @@
"Missing a temporary folder" => "Nedostaje privremena fascikla",
"Files" => "Fajlovi",
"Delete" => "Obriši",
+"Name" => "Ime",
"Size" => "Veličina",
"Modified" => "Zadnja izmena",
"Maximum upload size" => "Maksimalna veličina pošiljke",
"Upload" => "Pošalji",
"Nothing in here. Upload something!" => "Ovde nema ničeg. Pošaljite nešto!",
-"Name" => "Ime",
"Download" => "Preuzmi",
"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 137222b4178..d5dcf1ad2e8 100644
--- a/apps/files/l10n/sv.php
+++ b/apps/files/l10n/sv.php
@@ -7,7 +7,9 @@
"Missing a temporary folder" => "Saknar en tillfällig mapp",
"Failed to write to disk" => "Misslyckades spara till disk",
"Files" => "Filer",
+"Unshare" => "Sluta dela",
"Delete" => "Radera",
+"Rename" => "Byt namn",
"already exists" => "finns redan",
"replace" => "ersätt",
"suggest name" => "föreslå namn",
@@ -15,20 +17,36 @@
"replaced" => "ersatt",
"undo" => "ångra",
"with" => "med",
+"unshared" => "Ej delad",
"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",
+"1 file uploading" => "1 filuppladdning",
+"files uploading" => "filer laddas upp",
"Upload cancelled." => "Uppladdning avbruten.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Filuppladdning pågår. Lämnar du sidan så avbryts uppladdningen.",
"Invalid name, '/' is not allowed." => "Ogiltigt namn, '/' är inte tillåten.",
+"files scanned" => "filer skannade",
+"error while scanning" => "fel vid skanning",
+"Name" => "Namn",
"Size" => "Storlek",
"Modified" => "Ändrad",
"folder" => "mapp",
"folders" => "mappar",
"file" => "fil",
"files" => "filer",
+"seconds ago" => "sekunder sedan",
+"minute ago" => "minut sedan",
+"minutes ago" => "minuter sedan",
+"today" => "i dag",
+"yesterday" => "i går",
+"days ago" => "dagar sedan",
+"last month" => "förra månaden",
+"months ago" => "månader sedan",
+"last year" => "förra året",
+"years ago" => "år sedan",
"File handling" => "Filhantering",
"Maximum upload size" => "Maximal storlek att ladda upp",
"max. possible: " => "max. möjligt:",
@@ -44,7 +62,6 @@
"Upload" => "Ladda upp",
"Cancel upload" => "Avbryt uppladdning",
"Nothing in here. Upload something!" => "Ingenting här. Ladda upp något!",
-"Name" => "Namn",
"Share" => "Dela",
"Download" => "Ladda ner",
"Upload too large" => "För stor uppladdning",
diff --git a/apps/files/l10n/th_TH.php b/apps/files/l10n/th_TH.php
index 5809ac1f098..dc94ddc7de5 100644
--- a/apps/files/l10n/th_TH.php
+++ b/apps/files/l10n/th_TH.php
@@ -7,7 +7,9 @@
"Missing a temporary folder" => "แฟ้มเอกสารชั่วคราวเกิดการสูญหาย",
"Failed to write to disk" => "เขียนข้อมูลลงแผ่นดิสก์ล้มเหลว",
"Files" => "ไฟล์",
+"Unshare" => "ยกเลิกการแชร์ข้อมูล",
"Delete" => "ลบ",
+"Rename" => "เปลี่ยนชื่อ",
"already exists" => "มีอยู่แล้ว",
"replace" => "แทนที่",
"suggest name" => "แนะนำชื่อ",
@@ -15,20 +17,36 @@
"replaced" => "แทนที่แล้ว",
"undo" => "เลิกทำ",
"with" => "กับ",
+"unshared" => "ยกเลิกการแชร์ข้อมูลแล้ว",
"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" => "อยู่ระหว่างดำเนินการ",
+"1 file uploading" => "กำลังอัพโหลดไฟล์ 1 ไฟล์",
+"files uploading" => "การอัพโหลดไฟล์",
"Upload cancelled." => "การอัพโหลดถูกยกเลิก",
"File upload is in progress. Leaving the page now will cancel the upload." => "การอัพโหลดไฟล์กำลังอยู่ในระหว่างดำเนินการ การออกจากหน้าเว็บนี้จะทำให้การอัพโหลดถูกยกเลิก",
"Invalid name, '/' is not allowed." => "ชื่อที่ใช้ไม่ถูกต้อง '/' ไม่อนุญาตให้ใช้งาน",
+"files scanned" => "ไฟล์ต่างๆได้รับการสแกนแล้ว",
+"error while scanning" => "พบข้อผิดพลาดในระหว่างการสแกนไฟล์",
+"Name" => "ชื่อ",
"Size" => "ขนาด",
"Modified" => "ปรับปรุงล่าสุด",
"folder" => "โฟลเดอร์",
"folders" => "โฟลเดอร์",
"file" => "ไฟล์",
"files" => "ไฟล์",
+"seconds ago" => "วินาที ก่อนหน้านี้",
+"minute ago" => "นาที ที่ผ่านมา",
+"minutes ago" => "นาที ที่ผ่านมา",
+"today" => "วันนี้",
+"yesterday" => "เมื่อวานนี้",
+"days ago" => "วัน ที่ผ่านมา",
+"last month" => "เดือนที่แล้ว",
+"months ago" => "เดือน ที่ผ่านมา",
+"last year" => "ปีที่แล้ว",
+"years ago" => "ปี ที่ผ่านมา",
"File handling" => "การจัดกาไฟล์",
"Maximum upload size" => "ขนาดไฟล์สูงสุดที่อัพโหลดได้",
"max. possible: " => "จำนวนสูงสุดที่สามารถทำได้: ",
@@ -44,7 +62,6 @@
"Upload" => "อัพโหลด",
"Cancel upload" => "ยกเลิกการอัพโหลด",
"Nothing in here. Upload something!" => "ยังไม่มีไฟล์ใดๆอยู่ที่นี่ กรุณาอัพโหลดไฟล์!",
-"Name" => "ชื่อ",
"Share" => "แชร์",
"Download" => "ดาวน์โหลด",
"Upload too large" => "ไฟล์ที่อัพโหลดมีขนาดใหญ่เกินไป",
diff --git a/apps/files/l10n/tr.php b/apps/files/l10n/tr.php
index 72e0e1427d3..bcbee7c5aca 100644
--- a/apps/files/l10n/tr.php
+++ b/apps/files/l10n/tr.php
@@ -22,6 +22,7 @@
"Upload cancelled." => "Yükleme iptal edildi.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Dosya yükleme işlemi sürüyor. Şimdi sayfadan ayrılırsanız işleminiz iptal olur.",
"Invalid name, '/' is not allowed." => "Geçersiz isim, '/' işaretine izin verilmiyor.",
+"Name" => "Ad",
"Size" => "Boyut",
"Modified" => "Değiştirilme",
"folder" => "dizin",
@@ -42,7 +43,6 @@
"Upload" => "Yükle",
"Cancel upload" => "Yüklemeyi iptal et",
"Nothing in here. Upload something!" => "Burada hiçbir şey yok. Birşeyler yükleyin!",
-"Name" => "Ad",
"Share" => "Paylaş",
"Download" => "İndir",
"Upload too large" => "Yüklemeniz çok büyük",
diff --git a/apps/files/l10n/uk.php b/apps/files/l10n/uk.php
index dc7e9d18b70..7e72683b8ba 100644
--- a/apps/files/l10n/uk.php
+++ b/apps/files/l10n/uk.php
@@ -15,6 +15,7 @@
"Pending" => "Очікування",
"Upload cancelled." => "Завантаження перервано.",
"Invalid name, '/' is not allowed." => "Некоректне ім'я, '/' не дозволено.",
+"Name" => "Ім'я",
"Size" => "Розмір",
"Modified" => "Змінено",
"folder" => "тека",
@@ -31,7 +32,6 @@
"Upload" => "Відвантажити",
"Cancel upload" => "Перервати завантаження",
"Nothing in here. Upload something!" => "Тут нічого немає. Відвантажте що-небудь!",
-"Name" => "Ім'я",
"Share" => "Поділитися",
"Download" => "Завантажити",
"Upload too large" => "Файл занадто великий",
diff --git a/apps/files/l10n/vi.php b/apps/files/l10n/vi.php
index c2284d5feb9..d6593022d8b 100644
--- a/apps/files/l10n/vi.php
+++ b/apps/files/l10n/vi.php
@@ -1,10 +1,30 @@
<?php $TRANSLATIONS = array(
+"There is no error, the file uploaded with success" => "Không có lỗi, các tập tin đã được tải lên thành công",
+"The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Những tập tin được tải lên vượt quá upload_max_filesize được chỉ định trong php.ini",
+"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Kích thước những tập tin tải lên vượt quá MAX_FILE_SIZE đã được quy định",
+"The uploaded file was only partially uploaded" => "Tập tin tải lên mới chỉ tải lên được một phần",
+"No file was uploaded" => "Không có tập tin nào được tải lên",
+"Missing a temporary folder" => "Không tìm thấy thư mục tạm",
+"Failed to write to disk" => "Không thể ghi vào đĩa cứng",
"Files" => "Tập tin",
+"Unshare" => "Không chia sẽ",
"Delete" => "Xóa",
+"already exists" => "đã tồn tại",
+"replace" => "thay thế",
+"suggest name" => "tên gợi ý",
+"cancel" => "hủy",
+"replaced" => "đã được thay thế",
+"undo" => "lùi lại",
+"with" => "với",
+"deleted" => "đã xóa",
+"generating ZIP-file, it may take some time." => "Tạo tập tinh ZIP, điều này có thể mất một ít thời gian",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Không thể tải lên tập tin này do nó là một thư mục hoặc kích thước tập tin bằng 0 byte",
"Upload Error" => "Tải lên lỗi",
"Pending" => "Chờ",
"Upload cancelled." => "Hủy tải lên",
+"File upload is in progress. Leaving the page now will cancel the upload." => "Tập tin tải lên đang được xử lý. Nếu bạn rời khỏi trang bây giờ sẽ hủy quá trình này.",
"Invalid name, '/' is not allowed." => "Tên không hợp lệ ,không được phép dùng '/'",
+"Name" => "Tên",
"Size" => "Kích cỡ",
"Modified" => "Thay đổi",
"folder" => "folder",
@@ -13,9 +33,11 @@
"files" => "files",
"File handling" => "Xử lý tập tin",
"Maximum upload size" => "Kích thước tối đa ",
+"Needed for multi-file and folder downloads." => "Cần thiết cho tải nhiều tập tin và thư mục.",
"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",
+"Save" => "Lưu",
"New" => "Mới",
"Text file" => "Tập tin văn bản",
"Folder" => "Folder",
@@ -23,9 +45,10 @@
"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ờ."
+"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Các tập tin bạn đang cố gắng tải lên vượt quá kích thước tối đa cho phép trên máy chủ này.",
+"Files are being scanned, please wait." => "Tập tin đang được quét ,vui lòng chờ.",
+"Current scanning" => "Hiện tại đang quét"
);
diff --git a/apps/files/l10n/zh_CN.GB2312.php b/apps/files/l10n/zh_CN.GB2312.php
index 42063712eac..b60ad3d4cdd 100644
--- a/apps/files/l10n/zh_CN.GB2312.php
+++ b/apps/files/l10n/zh_CN.GB2312.php
@@ -7,20 +7,27 @@
"Missing a temporary folder" => "丢失了一个临时文件夹",
"Failed to write to disk" => "写磁盘失败",
"Files" => "文件",
+"Unshare" => "取消共享",
"Delete" => "删除",
"already exists" => "已经存在了",
"replace" => "替换",
+"suggest name" => "推荐名称",
"cancel" => "取消",
"replaced" => "替换过了",
"undo" => "撤销",
"with" => "随着",
+"unshared" => "已取消共享",
"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." => "上传取消了",
+"File upload is in progress. Leaving the page now will cancel the upload." => "文件正在上传。关闭页面会取消上传。",
"Invalid name, '/' is not allowed." => "非法文件名,\"/\"是不被许可的",
+"files scanned" => "文件已扫描",
+"error while scanning" => "扫描出错",
+"Name" => "名字",
"Size" => "大小",
"Modified" => "修改日期",
"folder" => "文件夹",
@@ -34,6 +41,7 @@
"Enable ZIP-download" => "支持ZIP下载",
"0 is unlimited" => "0是无限的",
"Maximum input size for ZIP files" => "最大的ZIP文件输入大小",
+"Save" => "保存",
"New" => "新建",
"Text file" => "文本文档",
"Folder" => "文件夹",
@@ -41,7 +49,6 @@
"Upload" => "上传",
"Cancel upload" => "取消上传",
"Nothing in here. Upload something!" => "这里没有东西.上传点什么!",
-"Name" => "名字",
"Share" => "分享",
"Download" => "下载",
"Upload too large" => "上传的文件太大了",
diff --git a/apps/files/l10n/zh_CN.php b/apps/files/l10n/zh_CN.php
index 3fdb5b6af3e..f2ea43ae81e 100644
--- a/apps/files/l10n/zh_CN.php
+++ b/apps/files/l10n/zh_CN.php
@@ -7,7 +7,9 @@
"Missing a temporary folder" => "缺少临时目录",
"Failed to write to disk" => "写入磁盘失败",
"Files" => "文件",
+"Unshare" => "取消分享",
"Delete" => "删除",
+"Rename" => "重命名",
"already exists" => "已经存在",
"replace" => "替换",
"suggest name" => "建议名称",
@@ -15,20 +17,36 @@
"replaced" => "已经替换",
"undo" => "撤销",
"with" => "随着",
+"unshared" => "已取消分享",
"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" => "操作等待中",
+"1 file uploading" => "1个文件上传中",
+"files uploading" => "文件上传中",
"Upload cancelled." => "上传已取消",
"File upload is in progress. Leaving the page now will cancel the upload." => "文件正在上传中。现在离开此页会导致上传动作被取消。",
"Invalid name, '/' is not allowed." => "非法的名称,不允许使用‘/’。",
+"files scanned" => "已扫描文件",
+"error while scanning" => "扫描时出错",
+"Name" => "名称",
"Size" => "大小",
"Modified" => "修改日期",
"folder" => "文件夹",
"folders" => "文件夹",
"file" => "文件",
"files" => "文件",
+"seconds ago" => "几秒前",
+"minute ago" => "1分钟前",
+"minutes ago" => "分钟前",
+"today" => "今天",
+"yesterday" => "昨天",
+"days ago" => "%d 天前",
+"last month" => "上月",
+"months ago" => "月前",
+"last year" => "上年",
+"years ago" => "几年前",
"File handling" => "文件处理",
"Maximum upload size" => "最大上传大小",
"max. possible: " => "最大可能: ",
@@ -44,7 +62,6 @@
"Upload" => "上传",
"Cancel upload" => "取消上传",
"Nothing in here. Upload something!" => "这里还什么都没有。上传些东西吧!",
-"Name" => "名称",
"Share" => "共享",
"Download" => "下载",
"Upload too large" => "上传文件过大",
diff --git a/apps/files/l10n/zh_TW.php b/apps/files/l10n/zh_TW.php
index 9652fb5a073..30ab1901a20 100644
--- a/apps/files/l10n/zh_TW.php
+++ b/apps/files/l10n/zh_TW.php
@@ -17,6 +17,7 @@
"Upload cancelled." => "上傳取消",
"File upload is in progress. Leaving the page now will cancel the upload." => "檔案上傳中. 離開此頁面將會取消上傳.",
"Invalid name, '/' is not allowed." => "無效的名稱, '/'是不被允許的",
+"Name" => "名稱",
"Size" => "大小",
"Modified" => "修改",
"File handling" => "檔案處理",
@@ -33,7 +34,6 @@
"Upload" => "上傳",
"Cancel upload" => "取消上傳",
"Nothing in here. Upload something!" => "沒有任何東西。請上傳內容!",
-"Name" => "名稱",
"Share" => "分享",
"Download" => "下載",
"Upload too large" => "上傳過大",
diff --git a/apps/files/templates/index.php b/apps/files/templates/index.php
index 911a312fb9a..aff484f0a7a 100644
--- a/apps/files/templates/index.php
+++ b/apps/files/templates/index.php
@@ -16,9 +16,9 @@
<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 $_['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>
+ <a href="#" class="file_upload_button_wrapper" onclick="return false;" title="<?php echo $l->t('Upload'); echo ' max. '.$_['uploadMaxHumanFilesize'] ?>"></a>
+ <button class="file_upload_filename"></button>
<iframe name="file_upload_target_1" class='file_upload_target' src=""></iframe>
</form>
</div>
diff --git a/apps/files_encryption/l10n/da.php b/apps/files_encryption/l10n/da.php
new file mode 100644
index 00000000000..144c9f97084
--- /dev/null
+++ b/apps/files_encryption/l10n/da.php
@@ -0,0 +1,6 @@
+<?php $TRANSLATIONS = array(
+"Encryption" => "Kryptering",
+"Exclude the following file types from encryption" => "Ekskluder følgende filtyper fra kryptering",
+"None" => "Ingen",
+"Enable Encryption" => "Aktivér kryptering"
+);
diff --git a/apps/files_encryption/l10n/es_AR.php b/apps/files_encryption/l10n/es_AR.php
new file mode 100644
index 00000000000..a15c37e730e
--- /dev/null
+++ b/apps/files_encryption/l10n/es_AR.php
@@ -0,0 +1,6 @@
+<?php $TRANSLATIONS = array(
+"Encryption" => "Encriptación",
+"Exclude the following file types from encryption" => "Exceptuar de la encriptación los siguientes tipos de archivo",
+"None" => "Ninguno",
+"Enable Encryption" => "Habilitar encriptación"
+);
diff --git a/apps/files_encryption/l10n/gl.php b/apps/files_encryption/l10n/gl.php
new file mode 100644
index 00000000000..1434ff48aac
--- /dev/null
+++ b/apps/files_encryption/l10n/gl.php
@@ -0,0 +1,6 @@
+<?php $TRANSLATIONS = array(
+"Encryption" => "Encriptado",
+"Exclude the following file types from encryption" => "Excluír os seguintes tipos de ficheiro da encriptación",
+"None" => "Nada",
+"Enable Encryption" => "Habilitar encriptación"
+);
diff --git a/apps/files_encryption/l10n/pt_BR.php b/apps/files_encryption/l10n/pt_BR.php
new file mode 100644
index 00000000000..5c02f52217f
--- /dev/null
+++ b/apps/files_encryption/l10n/pt_BR.php
@@ -0,0 +1,6 @@
+<?php $TRANSLATIONS = array(
+"Encryption" => "Criptografia",
+"Exclude the following file types from encryption" => "Excluir os seguintes tipos de arquivo da criptografia",
+"None" => "Nenhuma",
+"Enable Encryption" => "Habilitar Criptografia"
+);
diff --git a/apps/files_encryption/l10n/pt_PT.php b/apps/files_encryption/l10n/pt_PT.php
new file mode 100644
index 00000000000..570462b414f
--- /dev/null
+++ b/apps/files_encryption/l10n/pt_PT.php
@@ -0,0 +1,6 @@
+<?php $TRANSLATIONS = array(
+"Encryption" => "Encriptação",
+"Exclude the following file types from encryption" => "Excluir da encriptação os seguintes tipo de ficheiros",
+"None" => "Nenhum",
+"Enable Encryption" => "Activar Encriptação"
+);
diff --git a/apps/files_encryption/l10n/ro.php b/apps/files_encryption/l10n/ro.php
new file mode 100644
index 00000000000..97f3f262d76
--- /dev/null
+++ b/apps/files_encryption/l10n/ro.php
@@ -0,0 +1,6 @@
+<?php $TRANSLATIONS = array(
+"Encryption" => "Încriptare",
+"Exclude the following file types from encryption" => "Exclude următoarele tipuri de fișiere de la încriptare",
+"None" => "Niciuna",
+"Enable Encryption" => "Activare încriptare"
+);
diff --git a/apps/files_encryption/l10n/ru_RU.php b/apps/files_encryption/l10n/ru_RU.php
new file mode 100644
index 00000000000..1328b0d0359
--- /dev/null
+++ b/apps/files_encryption/l10n/ru_RU.php
@@ -0,0 +1,6 @@
+<?php $TRANSLATIONS = array(
+"Encryption" => "Шифрование",
+"Exclude the following file types from encryption" => "Исключите следующие типы файлов из шифрования",
+"None" => "Ни один",
+"Enable Encryption" => "Включить шифрование"
+);
diff --git a/apps/files_encryption/l10n/vi.php b/apps/files_encryption/l10n/vi.php
new file mode 100644
index 00000000000..cabf2da7dce
--- /dev/null
+++ b/apps/files_encryption/l10n/vi.php
@@ -0,0 +1,6 @@
+<?php $TRANSLATIONS = array(
+"Encryption" => "Mã hóa",
+"Exclude the following file types from encryption" => "Loại trừ các loại tập tin sau đây từ mã hóa",
+"None" => "none",
+"Enable Encryption" => "BẬT mã hóa"
+);
diff --git a/apps/files_encryption/l10n/zh_CN.GB2312.php b/apps/files_encryption/l10n/zh_CN.GB2312.php
new file mode 100644
index 00000000000..297444fcf55
--- /dev/null
+++ b/apps/files_encryption/l10n/zh_CN.GB2312.php
@@ -0,0 +1,6 @@
+<?php $TRANSLATIONS = array(
+"Encryption" => "加密",
+"Exclude the following file types from encryption" => "从加密中排除如下文件类型",
+"None" => "无",
+"Enable Encryption" => "启用加密"
+);
diff --git a/apps/files_encryption/l10n/zh_CN.php b/apps/files_encryption/l10n/zh_CN.php
index 139ae909709..1e1247d15ff 100644
--- a/apps/files_encryption/l10n/zh_CN.php
+++ b/apps/files_encryption/l10n/zh_CN.php
@@ -1,5 +1,6 @@
<?php $TRANSLATIONS = array(
"Encryption" => "加密",
+"Exclude the following file types from encryption" => "从加密中排除列出的文件类型",
"None" => "None",
"Enable Encryption" => "开启加密"
);
diff --git a/apps/files_external/ajax/addRootCertificate.php b/apps/files_external/ajax/addRootCertificate.php
index a8719fc7a3d..e0a0239c954 100644
--- a/apps/files_external/ajax/addRootCertificate.php
+++ b/apps/files_external/ajax/addRootCertificate.php
@@ -2,26 +2,35 @@
OCP\JSON::checkAppEnabled('files_external');
-$view = \OCP\Files::getStorage("files_external");
-$from = $_FILES['rootcert_import']['tmp_name'];
-$path = \OCP\Config::getSystemValue('datadirectory').$view->getAbsolutePath("").'uploads/';
-if(!file_exists($path)) mkdir($path,0700,true);
-$to = $path.$_FILES['rootcert_import']['name'];
-move_uploaded_file($from, $to);
+if ( !($filename = $_FILES['rootcert_import']['name']) ) {
+ header("Location: settings/personal.php");
+ exit;
+}
-//check if it is a PEM certificate, otherwise convert it if possible
-$fh = fopen($to, 'r');
-$data = fread($fh, filesize($to));
+$fh = fopen($_FILES['rootcert_import']['tmp_name'], 'r');
+$data = fread($fh, filesize($_FILES['rootcert_import']['tmp_name']));
fclose($fh);
-if (!strpos($data, 'BEGIN CERTIFICATE')) {
- $pem = chunk_split(base64_encode($data), 64, "\n");
- $pem = "-----BEGIN CERTIFICATE-----\n".$pem."-----END CERTIFICATE-----\n";
- $fh = fopen($to, 'w');
- fwrite($fh, $pem);
- fclose($fh);
+$filename = $_FILES['rootcert_import']['name'];
+
+$view = new \OC_FilesystemView('/'.\OCP\User::getUser().'/files_external/uploads');
+if (!$view->file_exists('')) $view->mkdir('');
+
+$isValid = openssl_pkey_get_public($data);
+
+//maybe it was just the wrong file format, try to convert it...
+if ($isValid == false) {
+ $data = chunk_split(base64_encode($data), 64, "\n");
+ $data = "-----BEGIN CERTIFICATE-----\n".$data."-----END CERTIFICATE-----\n";
+ $isValid = openssl_pkey_get_public($data);
}
-OC_Mount_Config::createCertificateBundle();
+// add the certificate if it could be verified
+if ( $isValid ) {
+ $view->file_put_contents($filename, $data);
+ OC_Mount_Config::createCertificateBundle();
+} else {
+ OCP\Util::writeLog("files_external", "Couldn't import SSL root certificate ($filename), allowed formats: PEM and DER", OCP\Util::WARN);
+}
header("Location: settings/personal.php");
exit;
diff --git a/apps/files_external/ajax/removeRootCertificate.php b/apps/files_external/ajax/removeRootCertificate.php
index 9b78e180d9e..6871b0fd1d4 100644
--- a/apps/files_external/ajax/removeRootCertificate.php
+++ b/apps/files_external/ajax/removeRootCertificate.php
@@ -5,7 +5,10 @@ OCP\JSON::checkLoggedIn();
OCP\JSON::callCheck();
$view = \OCP\Files::getStorage("files_external");
-$cert = $_POST['cert'];
-$file = \OCP\Config::getSystemValue('datadirectory').$view->getAbsolutePath("").'uploads/'.$cert;
-unlink($file);
-OC_Mount_Config::createCertificateBundle();
+$file = 'uploads/'.ltrim($_POST['cert'], "/\\.");
+
+if ( $view->file_exists($file) ) {
+ $view->unlink($file);
+ OC_Mount_Config::createCertificateBundle();
+}
+
diff --git a/apps/files_external/js/dropbox.js b/apps/files_external/js/dropbox.js
index dd3a1cb1858..6082fdd2cb7 100644
--- a/apps/files_external/js/dropbox.js
+++ b/apps/files_external/js/dropbox.js
@@ -19,6 +19,7 @@ $(document).ready(function() {
if (result && result.status == 'success') {
$(token).val(result.access_token);
$(token_secret).val(result.access_token_secret);
+ $(configured).val('true');
OC.MountConfig.saveStorage(tr);
$(tr).find('.configuration input').attr('disabled', 'disabled');
$(tr).find('.configuration').append('<span id="access" style="padding-left:0.5em;">Access granted</span>');
diff --git a/apps/files_external/l10n/da.php b/apps/files_external/l10n/da.php
new file mode 100644
index 00000000000..e4f1b9bb5ec
--- /dev/null
+++ b/apps/files_external/l10n/da.php
@@ -0,0 +1,18 @@
+<?php $TRANSLATIONS = array(
+"External Storage" => "Ekstern opbevaring",
+"Mount point" => "Monteringspunkt",
+"Backend" => "Backend",
+"Configuration" => "Opsætning",
+"Options" => "Valgmuligheder",
+"Applicable" => "Kan anvendes",
+"Add mount point" => "Tilføj monteringspunkt",
+"None set" => "Ingen sat",
+"All Users" => "Alle brugere",
+"Groups" => "Grupper",
+"Users" => "Brugere",
+"Delete" => "Slet",
+"Enable User External Storage" => "Aktiver ekstern opbevaring for brugere",
+"Allow users to mount their own external storage" => "Tillad brugere at montere deres egne eksterne opbevaring",
+"SSL root certificates" => "SSL-rodcertifikater",
+"Import Root Certificate" => "Importer rodcertifikat"
+);
diff --git a/apps/files_external/l10n/el.php b/apps/files_external/l10n/el.php
index 7dcf13b3972..3de151eb751 100644
--- a/apps/files_external/l10n/el.php
+++ b/apps/files_external/l10n/el.php
@@ -1,10 +1,18 @@
<?php $TRANSLATIONS = array(
-"External Storage" => "Εξωτερική αποθήκευση",
+"External Storage" => "Εξωτερικό Αποθηκευτικό Μέσο",
"Mount point" => "Σημείο προσάρτησης",
+"Backend" => "Σύστημα υποστήριξης",
"Configuration" => "Ρυθμίσεις",
"Options" => "Επιλογές",
+"Applicable" => "Εφαρμόσιμο",
+"Add mount point" => "Προσθήκη σημείου προσάρτησης",
+"None set" => "Κανένα επιλεγμένο",
"All Users" => "Όλοι οι χρήστες",
"Groups" => "Ομάδες",
"Users" => "Χρήστες",
-"Delete" => "Διαγραφή"
+"Delete" => "Διαγραφή",
+"SSL root certificates" => "Πιστοποιητικά SSL root",
+"Import Root Certificate" => "Εισαγωγή Πιστοποιητικού Root",
+"Enable User External Storage" => "Ενεργοποίηση Εξωτερικού Αποθηκευτικού Χώρου Χρήστη",
+"Allow users to mount their own external storage" => "Να επιτρέπεται στους χρήστες να προσαρτούν δικό τους εξωτερικό αποθηκευτικό χώρο"
);
diff --git a/apps/files_external/l10n/es_AR.php b/apps/files_external/l10n/es_AR.php
new file mode 100644
index 00000000000..52ed44556ab
--- /dev/null
+++ b/apps/files_external/l10n/es_AR.php
@@ -0,0 +1,18 @@
+<?php $TRANSLATIONS = array(
+"External Storage" => "Almacenamiento externo",
+"Mount point" => "Punto de montaje",
+"Backend" => "Motor",
+"Configuration" => "Configuración",
+"Options" => "Opciones",
+"Applicable" => "Aplicable",
+"Add mount point" => "Añadir punto de montaje",
+"None set" => "No fue configurado",
+"All Users" => "Todos los usuarios",
+"Groups" => "Grupos",
+"Users" => "Usuarios",
+"Delete" => "Borrar",
+"SSL root certificates" => "certificados SSL raíz",
+"Import Root Certificate" => "Importar certificado raíz",
+"Enable User External Storage" => "Habilitar almacenamiento de usuario externo",
+"Allow users to mount their own external storage" => "Permitir a los usuarios montar su propio almacenamiento externo"
+);
diff --git a/apps/files_external/l10n/et_EE.php b/apps/files_external/l10n/et_EE.php
index a6907e775bc..f47ebc936b5 100644
--- a/apps/files_external/l10n/et_EE.php
+++ b/apps/files_external/l10n/et_EE.php
@@ -1,12 +1,18 @@
<?php $TRANSLATIONS = array(
"External Storage" => "Väline salvestuskoht",
"Mount point" => "Ühenduspunkt",
+"Backend" => "Admin",
"Configuration" => "Seadistamine",
"Options" => "Valikud",
+"Applicable" => "Rakendatav",
"Add mount point" => "Lisa ühenduspunkt",
"None set" => "Pole määratud",
"All Users" => "Kõik kasutajad",
"Groups" => "Grupid",
"Users" => "Kasutajad",
-"Delete" => "Kustuta"
+"Delete" => "Kustuta",
+"SSL root certificates" => "SSL root sertifikaadid",
+"Import Root Certificate" => "Impordi root sertifikaadid",
+"Enable User External Storage" => "Luba kasutajatele väline salvestamine",
+"Allow users to mount their own external storage" => "Luba kasutajatel ühendada külge nende enda välised salvestusseadmed"
);
diff --git a/apps/files_external/l10n/eu.php b/apps/files_external/l10n/eu.php
index d1028d2b9bb..6299390c266 100644
--- a/apps/files_external/l10n/eu.php
+++ b/apps/files_external/l10n/eu.php
@@ -4,6 +4,7 @@
"Backend" => "Motorra",
"Configuration" => "Konfigurazioa",
"Options" => "Aukerak",
+"Applicable" => "Aplikagarria",
"Add mount point" => "Gehitu muntatze puntua",
"None set" => "Ezarri gabe",
"All Users" => "Erabiltzaile guztiak",
diff --git a/apps/files_external/l10n/gl.php b/apps/files_external/l10n/gl.php
new file mode 100644
index 00000000000..c6de7b837a6
--- /dev/null
+++ b/apps/files_external/l10n/gl.php
@@ -0,0 +1,18 @@
+<?php $TRANSLATIONS = array(
+"External Storage" => "Almacenamento externo",
+"Mount point" => "Punto de montaxe",
+"Backend" => "Almacén",
+"Configuration" => "Configuración",
+"Options" => "Opcións",
+"Applicable" => "Aplicable",
+"Add mount point" => "Engadir punto de montaxe",
+"None set" => "Non establecido",
+"All Users" => "Tódolos usuarios",
+"Groups" => "Grupos",
+"Users" => "Usuarios",
+"Delete" => "Eliminar",
+"SSL root certificates" => "Certificados raíz SSL",
+"Import Root Certificate" => "Importar Certificado Raíz",
+"Enable User External Storage" => "Habilitar almacenamento externo do usuario",
+"Allow users to mount their own external storage" => "Permitir aos usuarios montar os seus propios almacenamentos externos"
+);
diff --git a/apps/files_external/l10n/pt_BR.php b/apps/files_external/l10n/pt_BR.php
new file mode 100644
index 00000000000..3251e4561a1
--- /dev/null
+++ b/apps/files_external/l10n/pt_BR.php
@@ -0,0 +1,18 @@
+<?php $TRANSLATIONS = array(
+"External Storage" => "Armazenamento Externo",
+"Mount point" => "Ponto de montagem",
+"Backend" => "Backend",
+"Configuration" => "Configuração",
+"Options" => "Opções",
+"Applicable" => "Aplicável",
+"Add mount point" => "Adicionar ponto de montagem",
+"None set" => "Nenhum definido",
+"All Users" => "Todos os Usuários",
+"Groups" => "Grupos",
+"Users" => "Usuários",
+"Delete" => "Remover",
+"SSL root certificates" => "Certificados SSL raíz",
+"Import Root Certificate" => "Importar Certificado Raíz",
+"Enable User External Storage" => "Habilitar Armazenamento Externo do Usuário",
+"Allow users to mount their own external storage" => "Permitir usuários a montar seus próprios armazenamentos externos"
+);
diff --git a/apps/files_external/l10n/pt_PT.php b/apps/files_external/l10n/pt_PT.php
new file mode 100644
index 00000000000..8b4680b3711
--- /dev/null
+++ b/apps/files_external/l10n/pt_PT.php
@@ -0,0 +1,10 @@
+<?php $TRANSLATIONS = array(
+"Configuration" => "Configuração",
+"Options" => "Opções",
+"Applicable" => "Aplicável",
+"All Users" => "Todos os utilizadores",
+"Groups" => "Grupos",
+"Users" => "Utilizadores",
+"Delete" => "Apagar",
+"Import Root Certificate" => "Importar Certificado Root"
+);
diff --git a/apps/files_external/l10n/ro.php b/apps/files_external/l10n/ro.php
new file mode 100644
index 00000000000..f5114f61791
--- /dev/null
+++ b/apps/files_external/l10n/ro.php
@@ -0,0 +1,18 @@
+<?php $TRANSLATIONS = array(
+"External Storage" => "Stocare externă",
+"Mount point" => "Punctul de montare",
+"Backend" => "Backend",
+"Configuration" => "Configurație",
+"Options" => "Opțiuni",
+"Applicable" => "Aplicabil",
+"Add mount point" => "Adaugă punct de montare",
+"None set" => "Niciunul",
+"All Users" => "Toți utilizatorii",
+"Groups" => "Grupuri",
+"Users" => "Utilizatori",
+"Delete" => "Șterge",
+"SSL root certificates" => "Certificate SSL root",
+"Import Root Certificate" => "Importă certificat root",
+"Enable User External Storage" => "Permite stocare externă pentru utilizatori",
+"Allow users to mount their own external storage" => "Permite utilizatorilor să monteze stocare externă proprie"
+);
diff --git a/apps/files_external/l10n/ru_RU.php b/apps/files_external/l10n/ru_RU.php
new file mode 100644
index 00000000000..5b0cf1b6aaa
--- /dev/null
+++ b/apps/files_external/l10n/ru_RU.php
@@ -0,0 +1,18 @@
+<?php $TRANSLATIONS = array(
+"External Storage" => "Внешние системы хранения данных",
+"Mount point" => "Точка монтирования",
+"Backend" => "Бэкэнд",
+"Configuration" => "Конфигурация",
+"Options" => "Опции",
+"Applicable" => "Применимый",
+"Add mount point" => "Добавить точку монтирования",
+"None set" => "Не задан",
+"All Users" => "Все пользователи",
+"Groups" => "Группы",
+"Users" => "Пользователи",
+"Delete" => "Удалить",
+"SSL root certificates" => "Корневые сертификаты SSL",
+"Import Root Certificate" => "Импортировать корневые сертификаты",
+"Enable User External Storage" => "Включить пользовательскую внешнюю систему хранения данных",
+"Allow users to mount their own external storage" => "Разрешить пользователям монтировать их собственную внешнюю систему хранения данных"
+);
diff --git a/apps/files_external/l10n/uk.php b/apps/files_external/l10n/uk.php
new file mode 100644
index 00000000000..79920b9014a
--- /dev/null
+++ b/apps/files_external/l10n/uk.php
@@ -0,0 +1,5 @@
+<?php $TRANSLATIONS = array(
+"Groups" => "Групи",
+"Users" => "Користувачі",
+"Delete" => "Видалити"
+);
diff --git a/apps/files_external/l10n/vi.php b/apps/files_external/l10n/vi.php
new file mode 100644
index 00000000000..35312329da1
--- /dev/null
+++ b/apps/files_external/l10n/vi.php
@@ -0,0 +1,18 @@
+<?php $TRANSLATIONS = array(
+"External Storage" => "Lưu trữ ngoài",
+"Mount point" => "Điểm gắn",
+"Backend" => "phụ trợ",
+"Configuration" => "Cấu hình",
+"Options" => "Tùy chọn",
+"Applicable" => "Áp dụng",
+"Add mount point" => "Thêm điểm lắp",
+"None set" => "không",
+"All Users" => "Tất cả người dùng",
+"Groups" => "Nhóm",
+"Users" => "Người dùng",
+"Delete" => "Xóa",
+"SSL root certificates" => "Chứng chỉ SSL root",
+"Import Root Certificate" => "Nhập Root Certificate",
+"Enable User External Storage" => "Kích hoạt tính năng lưu trữ ngoài",
+"Allow users to mount their own external storage" => "Cho phép người dùng kết nối với lưu trữ riêng bên ngoài của họ"
+);
diff --git a/apps/files_external/l10n/zh_CN.GB2312.php b/apps/files_external/l10n/zh_CN.GB2312.php
new file mode 100644
index 00000000000..6a6d1c6d12f
--- /dev/null
+++ b/apps/files_external/l10n/zh_CN.GB2312.php
@@ -0,0 +1,18 @@
+<?php $TRANSLATIONS = array(
+"External Storage" => "外部存储",
+"Mount point" => "挂载点",
+"Backend" => "后端",
+"Configuration" => "配置",
+"Options" => "选项",
+"Applicable" => "可应用",
+"Add mount point" => "添加挂载点",
+"None set" => "未设置",
+"All Users" => "所有用户",
+"Groups" => "群组",
+"Users" => "用户",
+"Delete" => "删除",
+"SSL root certificates" => "SSL 根证书",
+"Import Root Certificate" => "导入根证书",
+"Enable User External Storage" => "启用用户外部存储",
+"Allow users to mount their own external storage" => "允许用户挂载他们的外部存储"
+);
diff --git a/apps/files_external/lib/config.php b/apps/files_external/lib/config.php
index eec31ec2ef9..f87a042b386 100755
--- a/apps/files_external/lib/config.php
+++ b/apps/files_external/lib/config.php
@@ -270,6 +270,7 @@ class OC_Mount_Config {
fclose($fh);
if (strpos($data, 'BEGIN CERTIFICATE')) {
fwrite($fh_certs, $data);
+ fwrite($fh_certs, "\r\n");
}
}
diff --git a/apps/files_external/settings.php b/apps/files_external/settings.php
index b586ce1e8cd..d2be21b7116 100644
--- a/apps/files_external/settings.php
+++ b/apps/files_external/settings.php
@@ -21,7 +21,9 @@
*/
OCP\Util::addScript('files_external', 'settings');
+OCP\Util::addscript('3rdparty', 'chosen/chosen.jquery.min');
OCP\Util::addStyle('files_external', 'settings');
+OCP\Util::addStyle('3rdparty', 'chosen/chosen');
$tmpl = new OCP\Template('files_external', 'settings');
$tmpl->assign('isAdminPage', true, false);
$tmpl->assign('mounts', OC_Mount_Config::getSystemMountPoints());
diff --git a/apps/files_external/templates/settings.php b/apps/files_external/templates/settings.php
index c44b09b180f..367ce2bc03e 100644
--- a/apps/files_external/templates/settings.php
+++ b/apps/files_external/templates/settings.php
@@ -1,4 +1,4 @@
-<form id="files_external" method="post" enctype="multipart/form-data" action="<?php echo OCP\Util::linkTo('files_external', 'ajax/addRootCertificate.php'); ?>">
+<form id="files_external">
<fieldset class="personalblock">
<legend><strong><?php echo $l->t('External Storage'); ?></strong></legend>
<table id="externalStorage" data-admin='<?php echo json_encode($_['isAdminPage']); ?>'>
@@ -81,7 +81,18 @@
</table>
<br />
- <?php if (!$_['isAdminPage']): ?>
+ <?php if ($_['isAdminPage']): ?>
+ <br />
+ <input type="checkbox" name="allowUserMounting" id="allowUserMounting" value="1" <?php if ($_['allowUserMounting'] == 'yes') echo ' checked="checked"'; ?> />
+ <label for="allowUserMounting"><?php echo $l->t('Enable User External Storage'); ?></label><br/>
+ <em><?php echo $l->t('Allow users to mount their own external storage'); ?></em>
+ <?php endif; ?>
+ </fieldset>
+</form>
+
+<form id="files_external" method="post" enctype="multipart/form-data" action="<?php echo OCP\Util::linkTo('files_external', 'ajax/addRootCertificate.php'); ?>">
+<fieldset class="personalblock">
+<?php if (!$_['isAdminPage']): ?>
<table id="sslCertificate" data-admin='<?php echo json_encode($_['isAdminPage']); ?>'>
<thead>
<tr>
@@ -101,12 +112,5 @@
<input type="file" id="rootcert_import" name="rootcert_import" style="width:230px;">
<input type="submit" name="cert_import" value="<?php echo $l->t('Import Root Certificate'); ?>" />
<?php endif; ?>
-
- <?php if ($_['isAdminPage']): ?>
- <br />
- <input type="checkbox" name="allowUserMounting" id="allowUserMounting" value="1" <?php if ($_['allowUserMounting'] == 'yes') echo ' checked="checked"'; ?> />
- <label for="allowUserMounting"><?php echo $l->t('Enable User External Storage'); ?></label><br/>
- <em><?php echo $l->t('Allow users to mount their own external storage'); ?></em>
- <?php endif; ?>
- </fieldset>
-</form>
+</fieldset>
+</form> \ No newline at end of file
diff --git a/apps/files_sharing/appinfo/update.php b/apps/files_sharing/appinfo/update.php
index feafa5fb992..2beeb6316bd 100644
--- a/apps/files_sharing/appinfo/update.php
+++ b/apps/files_sharing/appinfo/update.php
@@ -1,16 +1,64 @@
<?php
-
-// touch shared directories to trigger one-time re-scan for all users
-$datadir = \OCP\Config::getSystemValue('datadirectory');
-$currentVersion=OC_Appconfig::getValue('files_sharing', 'installed_version');
-if (version_compare($currentVersion, '0.2.2', '<')) {
- if ($handle = opendir($datadir)) {
- while (false !== ($entry = readdir($handle))) {
- $sharedFolder = $datadir.'/'.$entry.'/files/Shared';
- if ($entry != "." && $entry != ".." && is_dir($sharedFolder)) {
- touch($sharedFolder);
+$installedVersion = OCP\Config::getAppValue('files_sharing', 'installed_version');
+if (version_compare($installedVersion, '0.3', '<')) {
+ $update_error = false;
+ $query = OCP\DB::prepare('SELECT * FROM `*PREFIX*sharing`');
+ $result = $query->execute();
+ $groupShares = array();
+ //we need to set up user backends, otherwise creating the shares will fail with "because user does not exist"
+ OC_User::useBackend(new OC_User_Database());
+ OC_Group::useBackend(new OC_Group_Database());
+ OC_App::loadApps(array('authentication'));
+ while ($row = $result->fetchRow()) {
+ $itemSource = OC_FileCache::getId($row['source'], '');
+ if ($itemSource != -1) {
+ $file = OC_FileCache::get($row['source'], '');
+ if ($file['mimetype'] == 'httpd/unix-directory') {
+ $itemType = 'folder';
+ } else {
+ $itemType = 'file';
}
+ if ($row['permissions'] == 0) {
+ $permissions = OCP\Share::PERMISSION_READ | OCP\Share::PERMISSION_SHARE;
+ } else {
+ $permissions = OCP\Share::PERMISSION_READ | OCP\Share::PERMISSION_UPDATE | OCP\Share::PERMISSION_SHARE;
+ if ($itemType == 'folder') {
+ $permissions |= OCP\Share::PERMISSION_CREATE;
+ }
+ }
+ $pos = strrpos($row['uid_shared_with'], '@');
+ if ($pos !== false && OC_Group::groupExists(substr($row['uid_shared_with'], $pos + 1))) {
+ $shareType = OCP\Share::SHARE_TYPE_GROUP;
+ $shareWith = substr($row['uid_shared_with'], 0, $pos);
+ if (isset($groupShares[$shareWith][$itemSource])) {
+ continue;
+ } else {
+ $groupShares[$shareWith][$itemSource] = true;
+ }
+ } else if ($row['uid_shared_with'] == 'public') {
+ $shareType = OCP\Share::SHARE_TYPE_LINK;
+ $shareWith = null;
+ } else {
+ $shareType = OCP\Share::SHARE_TYPE_USER;
+ $shareWith = $row['uid_shared_with'];
+ }
+ OC_User::setUserId($row['uid_owner']);
+ //we need to setup the filesystem for the user, otherwise OC_FileSystem::getRoot will fail and break
+ OC_Util::setupFS($row['uid_owner']);
+ try {
+ OCP\Share::shareItem($itemType, $itemSource, $shareType, $shareWith, $permissions);
+ }
+ catch (Exception $e) {
+ $update_error = true;
+ OCP\Util::writeLog('files_sharing', 'Upgrade Routine: Skipping sharing "'.$row['source'].'" to "'.$shareWith.'" (error is "'.$e->getMessage().'")', OCP\Util::WARN);
+ }
+ OC_Util::tearDownFS();
}
- closedir($handle);
}
-} \ No newline at end of file
+ if ($update_error) {
+ OCP\Util::writeLog('files_sharing', 'There were some problems upgrading the sharing of files', OCP\Util::ERROR);
+ }
+ // NOTE: Let's drop the table after more testing
+// $query = OCP\DB::prepare('DROP TABLE `*PREFIX*sharing`');
+// $query->execute();
+}
diff --git a/apps/files_sharing/appinfo/version b/apps/files_sharing/appinfo/version
index a2268e2de44..9fc80f937fa 100644
--- a/apps/files_sharing/appinfo/version
+++ b/apps/files_sharing/appinfo/version
@@ -1 +1 @@
-0.3.1 \ No newline at end of file
+0.3.2 \ No newline at end of file
diff --git a/apps/files_sharing/css/public.css b/apps/files_sharing/css/public.css
index a700cc2169b..fb4794e0474 100644
--- a/apps/files_sharing/css/public.css
+++ b/apps/files_sharing/css/public.css
@@ -1,8 +1,11 @@
body { background:#ddd; }
#header { position:fixed; top:0; left:0; right:0; z-index:100; height:2.5em; line-height:2.5em; padding:.5em; background:#1d2d44; -moz-box-shadow:0 0 10px rgba(0, 0, 0, .5), inset 0 -2px 10px #222; -webkit-box-shadow:0 0 10px rgba(0, 0, 0, .5), inset 0 -2px 10px #222; box-shadow:0 0 10px rgba(0, 0, 0, .5), inset 0 -2px 10px #222; }
#details { color:#fff; }
-#header #download { margin-left:2em; font-weight:bold; color:#fff; }
+#header #download { margin-left:2em; font-weight:bold; }
+#header #download img { padding-left: 0.1em; padding-right: 0.3em; vertical-align: text-bottom; }
#preview { min-height:30em; margin:50px auto; padding-top:2em; border-bottom:1px solid #f8f8f8; background:#eee; text-align:center; }
#noPreview { display:none; padding-top:5em; }
p.info { width:22em; text-align: center; margin:2em auto; color:#777; text-shadow:#fff 0 1px 0; }
-p.info a { font-weight:bold; color:#777; } \ No newline at end of file
+p.info a { font-weight:bold; color:#777; }
+#imgframe { width:80%; height: 75%; margin: 0 auto; padding-bottom:2em; }
+#imgframe img { max-height:100%; max-width: 100%; } \ No newline at end of file
diff --git a/apps/files_sharing/js/public.js b/apps/files_sharing/js/public.js
index 92b626bba18..def02374804 100644
--- a/apps/files_sharing/js/public.js
+++ b/apps/files_sharing/js/public.js
@@ -1,6 +1,10 @@
// Override download path to files_sharing/public.php
function fileDownloadPath(dir, file) {
- return $('#downloadURL').val();
+ var url = $('#downloadURL').val();
+ if (url.indexOf('&path=') != -1) {
+ url += '/'+file;
+ }
+ return url;
}
$(document).ready(function() {
@@ -13,10 +17,21 @@ $(document).ready(function() {
var action = FileActions.getDefault(mimetype, 'file', OC.PERMISSION_READ);
if (typeof action === 'undefined') {
$('#noPreview').show();
+ if (mimetype != 'httpd/unix-directory') {
+ // NOTE: Remove when a better file previewer solution exists
+ $('#content').remove();
+ $('table').remove();
+ }
} else {
action($('#filename').val());
}
}
+ FileActions.register('dir', 'Open', OC.PERMISSION_READ, '', function(filename) {
+ var tr = $('tr').filterAttr('data-file', filename)
+ if (tr.length > 0) {
+ window.location = $(tr).find('a.name').attr('href');
+ }
+ });
}
}); \ No newline at end of file
diff --git a/apps/files_sharing/l10n/cs_CZ.php b/apps/files_sharing/l10n/cs_CZ.php
index e9185e979cd..9889fae488a 100644
--- a/apps/files_sharing/l10n/cs_CZ.php
+++ b/apps/files_sharing/l10n/cs_CZ.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Password" => "Heslo",
"Submit" => "Odeslat",
+"%s shared the folder %s with you" => "%s s Vámi sdílí složku %s",
+"%s shared the file %s with you" => "%s s Vámi sdílí soubor %s",
"Download" => "Stáhnout",
"No preview available for" => "Náhled není dostupný pro",
"web services under your control" => "služby webu pod Vaší kontrolou"
diff --git a/apps/files_sharing/l10n/da.php b/apps/files_sharing/l10n/da.php
new file mode 100644
index 00000000000..75fbdabe16f
--- /dev/null
+++ b/apps/files_sharing/l10n/da.php
@@ -0,0 +1,9 @@
+<?php $TRANSLATIONS = array(
+"Password" => "Kodeord",
+"Submit" => "Send",
+"%s shared the folder %s with you" => "%s delte mappen %s med dig",
+"%s shared the file %s with you" => "%s delte filen %s med dig",
+"Download" => "Download",
+"No preview available for" => "Forhåndsvisning ikke tilgængelig for",
+"web services under your control" => "Webtjenester under din kontrol"
+);
diff --git a/apps/files_sharing/l10n/de.php b/apps/files_sharing/l10n/de.php
index 90dce8ec623..b9a50387aa0 100644
--- a/apps/files_sharing/l10n/de.php
+++ b/apps/files_sharing/l10n/de.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Password" => "Passwort",
"Submit" => "Absenden",
+"%s shared the folder %s with you" => "%s hat mit Ihnen den Ordner %s geteilt",
+"%s shared the file %s with you" => "%s hat mit Ihnen die Datei %s geteilt",
"Download" => "Download",
"No preview available for" => "Es ist keine Vorschau verfügbar für",
"web services under your control" => "Web-Services unter Ihrer Kontrolle"
diff --git a/apps/files_sharing/l10n/el.php b/apps/files_sharing/l10n/el.php
index 123a008e554..3406c508e61 100644
--- a/apps/files_sharing/l10n/el.php
+++ b/apps/files_sharing/l10n/el.php
@@ -1,4 +1,7 @@
<?php $TRANSLATIONS = array(
"Password" => "Συνθηματικό",
-"Submit" => "Καταχώρηση"
+"Submit" => "Καταχώρηση",
+"Download" => "Λήψη",
+"No preview available for" => "Δεν υπάρχει διαθέσιμη προεπισκόπηση για",
+"web services under your control" => "υπηρεσίες δικτύου υπό τον έλεγχό σας"
);
diff --git a/apps/files_sharing/l10n/eo.php b/apps/files_sharing/l10n/eo.php
index 5ef330a53e2..e71715f0f1f 100644
--- a/apps/files_sharing/l10n/eo.php
+++ b/apps/files_sharing/l10n/eo.php
@@ -1,4 +1,7 @@
<?php $TRANSLATIONS = array(
"Password" => "Pasvorto",
-"Submit" => "Sendi"
+"Submit" => "Sendi",
+"Download" => "Elŝuti",
+"No preview available for" => "Ne haveblas antaŭvido por",
+"web services under your control" => "TTT-servoj regataj de vi"
);
diff --git a/apps/files_sharing/l10n/es.php b/apps/files_sharing/l10n/es.php
index b1d44e5485e..2023d35903e 100644
--- a/apps/files_sharing/l10n/es.php
+++ b/apps/files_sharing/l10n/es.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Password" => "Contraseña",
"Submit" => "Enviar",
+"%s shared the folder %s with you" => "%s compartió la carpeta %s contigo",
+"%s shared the file %s with you" => "%s compartió el fichero %s contigo",
"Download" => "Descargar",
"No preview available for" => "No hay vista previa disponible para",
"web services under your control" => "Servicios web bajo su control"
diff --git a/apps/files_sharing/l10n/es_AR.php b/apps/files_sharing/l10n/es_AR.php
new file mode 100644
index 00000000000..a2d6e232f20
--- /dev/null
+++ b/apps/files_sharing/l10n/es_AR.php
@@ -0,0 +1,9 @@
+<?php $TRANSLATIONS = array(
+"Password" => "Contraseña",
+"Submit" => "Enviar",
+"%s shared the folder %s with you" => "%s compartió la carpeta %s con vos",
+"%s shared the file %s with you" => "%s compartió el archivo %s con vos",
+"Download" => "Descargar",
+"No preview available for" => "La vista preliminar no está disponible para",
+"web services under your control" => "servicios web controlados por vos"
+);
diff --git a/apps/files_sharing/l10n/et_EE.php b/apps/files_sharing/l10n/et_EE.php
index da299f4ff70..94b9b1d7aef 100644
--- a/apps/files_sharing/l10n/et_EE.php
+++ b/apps/files_sharing/l10n/et_EE.php
@@ -1,3 +1,7 @@
<?php $TRANSLATIONS = array(
-"Delete" => "Kustutamine"
+"Password" => "Parool",
+"Submit" => "Saada",
+"Download" => "Lae alla",
+"No preview available for" => "Eelvaadet pole saadaval",
+"web services under your control" => "veebitenused sinu kontrolli all"
);
diff --git a/apps/files_sharing/l10n/eu.php b/apps/files_sharing/l10n/eu.php
index 70ff2e8876c..ebef0f445ed 100644
--- a/apps/files_sharing/l10n/eu.php
+++ b/apps/files_sharing/l10n/eu.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Password" => "Pasahitza",
"Submit" => "Bidali",
+"%s shared the folder %s with you" => "%sk zurekin %s karpeta elkarbanatu du",
+"%s shared the file %s with you" => "%sk zurekin %s fitxategia elkarbanatu du",
"Download" => "Deskargatu",
"No preview available for" => "Ez dago aurrebista eskuragarririk hauentzat ",
"web services under your control" => "web zerbitzuak zure kontrolpean"
diff --git a/apps/files_sharing/l10n/fi_FI.php b/apps/files_sharing/l10n/fi_FI.php
index 85c6c7a7132..6c441342133 100644
--- a/apps/files_sharing/l10n/fi_FI.php
+++ b/apps/files_sharing/l10n/fi_FI.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Password" => "Salasana",
"Submit" => "Lähetä",
+"%s shared the folder %s with you" => "%s jakoi kansion %s kanssasi",
+"%s shared the file %s with you" => "%s jakoi tiedoston %s kanssasi",
"Download" => "Lataa",
"No preview available for" => "Ei esikatselua kohteelle",
"web services under your control" => "verkkopalvelut hallinnassasi"
diff --git a/apps/files_sharing/l10n/fr.php b/apps/files_sharing/l10n/fr.php
index 54d9e9ec567..1038d819330 100644
--- a/apps/files_sharing/l10n/fr.php
+++ b/apps/files_sharing/l10n/fr.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Password" => "Mot de passe",
"Submit" => "Envoyer",
+"%s shared the folder %s with you" => "%s a partagé le répertoire %s avec vous",
+"%s shared the file %s with you" => "%s a partagé le fichier %s avec vous",
"Download" => "Télécharger",
"No preview available for" => "Pas d'aperçu disponible pour",
"web services under your control" => "services web sous votre contrôle"
diff --git a/apps/files_sharing/l10n/gl.php b/apps/files_sharing/l10n/gl.php
new file mode 100644
index 00000000000..c9644d720e3
--- /dev/null
+++ b/apps/files_sharing/l10n/gl.php
@@ -0,0 +1,7 @@
+<?php $TRANSLATIONS = array(
+"Password" => "Contrasinal",
+"Submit" => "Enviar",
+"Download" => "Baixar",
+"No preview available for" => "Sen vista previa dispoñible para ",
+"web services under your control" => "servizos web baixo o seu control"
+);
diff --git a/apps/files_sharing/l10n/it.php b/apps/files_sharing/l10n/it.php
index 5bedabde9bb..f83ca1446d6 100644
--- a/apps/files_sharing/l10n/it.php
+++ b/apps/files_sharing/l10n/it.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Password" => "Password",
"Submit" => "Invia",
+"%s shared the folder %s with you" => "%s ha condiviso la cartella %s con te",
+"%s shared the file %s with you" => "%s ha condiviso il file %s con te",
"Download" => "Scarica",
"No preview available for" => "Nessuna anteprima disponibile per",
"web services under your control" => "servizi web nelle tue mani"
diff --git a/apps/files_sharing/l10n/ja_JP.php b/apps/files_sharing/l10n/ja_JP.php
index 5d63f371d56..058e4f2cd7e 100644
--- a/apps/files_sharing/l10n/ja_JP.php
+++ b/apps/files_sharing/l10n/ja_JP.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Password" => "パスワード",
"Submit" => "送信",
+"%s shared the folder %s with you" => "%s はフォルダー %s をあなたと共有",
+"%s shared the file %s with you" => "%s はファイル %s をあなたと共有",
"Download" => "ダウンロード",
"No preview available for" => "プレビューはありません",
"web services under your control" => "管理下のウェブサービス"
diff --git a/apps/files_sharing/l10n/nl.php b/apps/files_sharing/l10n/nl.php
index 2f732ed662f..2cef0254398 100644
--- a/apps/files_sharing/l10n/nl.php
+++ b/apps/files_sharing/l10n/nl.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Password" => "Wachtwoord",
"Submit" => "Verzenden",
+"%s shared the folder %s with you" => "%s deelt de map %s met u",
+"%s shared the file %s with you" => "%s deelt het bestand %s met u",
"Download" => "Downloaden",
"No preview available for" => "Geen voorbeeldweergave beschikbaar voor",
"web services under your control" => "Webdiensten in eigen beheer"
diff --git a/apps/files_sharing/l10n/pl.php b/apps/files_sharing/l10n/pl.php
index 1d5e6261ef0..9db5e87c9ba 100644
--- a/apps/files_sharing/l10n/pl.php
+++ b/apps/files_sharing/l10n/pl.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Password" => "Hasło",
"Submit" => "Wyślij",
+"%s shared the folder %s with you" => "%s współdzieli folder z tobą %s",
+"%s shared the file %s with you" => "%s współdzieli z tobą plik %s",
"Download" => "Pobierz",
"No preview available for" => "Podgląd nie jest dostępny dla",
"web services under your control" => "Kontrolowane serwisy"
diff --git a/apps/files_sharing/l10n/pt_BR.php b/apps/files_sharing/l10n/pt_BR.php
new file mode 100644
index 00000000000..4dde4bb5ad5
--- /dev/null
+++ b/apps/files_sharing/l10n/pt_BR.php
@@ -0,0 +1,9 @@
+<?php $TRANSLATIONS = array(
+"Password" => "Senha",
+"Submit" => "Submeter",
+"%s shared the folder %s with you" => "%s compartilhou a pasta %s com você",
+"%s shared the file %s with you" => "%s compartilhou o arquivo %s com você",
+"Download" => "Baixar",
+"No preview available for" => "Nenhuma visualização disponível para",
+"web services under your control" => "web services sob seu controle"
+);
diff --git a/apps/files_sharing/l10n/ro.php b/apps/files_sharing/l10n/ro.php
new file mode 100644
index 00000000000..eb9977dc585
--- /dev/null
+++ b/apps/files_sharing/l10n/ro.php
@@ -0,0 +1,9 @@
+<?php $TRANSLATIONS = array(
+"Password" => "Parolă",
+"Submit" => "Trimite",
+"%s shared the folder %s with you" => "%s a partajat directorul %s cu tine",
+"%s shared the file %s with you" => "%s a partajat fișierul %s cu tine",
+"Download" => "Descarcă",
+"No preview available for" => "Nici o previzualizare disponibilă pentru ",
+"web services under your control" => "servicii web controlate de tine"
+);
diff --git a/apps/files_sharing/l10n/ru.php b/apps/files_sharing/l10n/ru.php
index 958ac1030d7..398d9a8bbc3 100644
--- a/apps/files_sharing/l10n/ru.php
+++ b/apps/files_sharing/l10n/ru.php
@@ -2,5 +2,6 @@
"Password" => "Пароль",
"Submit" => "Отправить",
"Download" => "Скачать",
+"No preview available for" => "Предпросмотр недоступен для",
"web services under your control" => "веб-сервисы под вашим управлением"
);
diff --git a/apps/files_sharing/l10n/ru_RU.php b/apps/files_sharing/l10n/ru_RU.php
new file mode 100644
index 00000000000..a1579efc8f9
--- /dev/null
+++ b/apps/files_sharing/l10n/ru_RU.php
@@ -0,0 +1,7 @@
+<?php $TRANSLATIONS = array(
+"Password" => "Пароль",
+"Submit" => "Передать",
+"Download" => "Загрузка",
+"No preview available for" => "Предварительный просмотр недоступен",
+"web services under your control" => "веб-сервисы под Вашим контролем"
+);
diff --git a/apps/files_sharing/l10n/sl.php b/apps/files_sharing/l10n/sl.php
index 5e7d2d5004b..6d5556ea4b0 100644
--- a/apps/files_sharing/l10n/sl.php
+++ b/apps/files_sharing/l10n/sl.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Password" => "Geslo",
"Submit" => "Pošlji",
+"%s shared the folder %s with you" => "%s je dal v souporabo z vami mapo %s",
+"%s shared the file %s with you" => "%s je dal v souporabo z vami datoteko %s",
"Download" => "Prenesi",
"No preview available for" => "Predogled ni na voljo za",
"web services under your control" => "spletne storitve pod vašim nadzorom"
diff --git a/apps/files_sharing/l10n/sv.php b/apps/files_sharing/l10n/sv.php
index 78b19836497..d1c9afff07c 100644
--- a/apps/files_sharing/l10n/sv.php
+++ b/apps/files_sharing/l10n/sv.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Password" => "Lösenord",
"Submit" => "Skicka",
+"%s shared the folder %s with you" => "%s delade mappen %s med dig",
+"%s shared the file %s with you" => "%s delade filen %s med dig",
"Download" => "Ladda ner",
"No preview available for" => "Ingen förhandsgranskning tillgänglig för",
"web services under your control" => "webbtjänster under din kontroll"
diff --git a/apps/files_sharing/l10n/th_TH.php b/apps/files_sharing/l10n/th_TH.php
index 8a3f1207db4..9d53d65f8ab 100644
--- a/apps/files_sharing/l10n/th_TH.php
+++ b/apps/files_sharing/l10n/th_TH.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Password" => "รหัสผ่าน",
"Submit" => "ส่ง",
+"%s shared the folder %s with you" => "%s ได้แชร์โฟลเดอร์ %s ให้กับคุณ",
+"%s shared the file %s with you" => "%s ได้แชร์ไฟล์ %s ให้กับคุณ",
"Download" => "ดาวน์โหลด",
"No preview available for" => "ไม่สามารถดูตัวอย่างได้สำหรับ",
"web services under your control" => "เว็บเซอร์วิสที่คุณควบคุมการใช้งานได้"
diff --git a/apps/files_sharing/l10n/uk.php b/apps/files_sharing/l10n/uk.php
new file mode 100644
index 00000000000..43b86a28c17
--- /dev/null
+++ b/apps/files_sharing/l10n/uk.php
@@ -0,0 +1,4 @@
+<?php $TRANSLATIONS = array(
+"Password" => "Пароль",
+"Download" => "Завантажити"
+);
diff --git a/apps/files_sharing/l10n/vi.php b/apps/files_sharing/l10n/vi.php
new file mode 100644
index 00000000000..d4faee06bf2
--- /dev/null
+++ b/apps/files_sharing/l10n/vi.php
@@ -0,0 +1,7 @@
+<?php $TRANSLATIONS = array(
+"Password" => "Mật khẩu",
+"Submit" => "Xác nhận",
+"Download" => "Tải về",
+"No preview available for" => "Không có xem trước cho",
+"web services under your control" => "dịch vụ web dưới sự kiểm soát của bạn"
+);
diff --git a/apps/files_sharing/l10n/zh_CN.GB2312.php b/apps/files_sharing/l10n/zh_CN.GB2312.php
new file mode 100644
index 00000000000..fdde2c641f6
--- /dev/null
+++ b/apps/files_sharing/l10n/zh_CN.GB2312.php
@@ -0,0 +1,7 @@
+<?php $TRANSLATIONS = array(
+"Password" => "密码",
+"Submit" => "提交",
+"Download" => "下载",
+"No preview available for" => "没有预览可用于",
+"web services under your control" => "您控制的网络服务"
+);
diff --git a/apps/files_sharing/l10n/zh_CN.php b/apps/files_sharing/l10n/zh_CN.php
new file mode 100644
index 00000000000..64e7af3e0cd
--- /dev/null
+++ b/apps/files_sharing/l10n/zh_CN.php
@@ -0,0 +1,9 @@
+<?php $TRANSLATIONS = array(
+"Password" => "密码",
+"Submit" => "提交",
+"%s shared the folder %s with you" => "%s与您共享了%s文件夹",
+"%s shared the file %s with you" => "%s与您共享了%s文件",
+"Download" => "下载",
+"No preview available for" => "没有预览",
+"web services under your control" => "您控制的web服务"
+);
diff --git a/apps/files_sharing/l10n/zh_TW.php b/apps/files_sharing/l10n/zh_TW.php
new file mode 100644
index 00000000000..27fa634c03d
--- /dev/null
+++ b/apps/files_sharing/l10n/zh_TW.php
@@ -0,0 +1,6 @@
+<?php $TRANSLATIONS = array(
+"Password" => "密碼",
+"Submit" => "送出",
+"Download" => "下載",
+"No preview available for" => "無法預覽"
+);
diff --git a/apps/files_sharing/lib/share/file.php b/apps/files_sharing/lib/share/file.php
index c8821ee0fe8..074ca9928d4 100644
--- a/apps/files_sharing/lib/share/file.php
+++ b/apps/files_sharing/lib/share/file.php
@@ -30,7 +30,7 @@ class OC_Share_Backend_File implements OCP\Share_Backend_File_Dependent {
public function isValidSource($itemSource, $uidOwner) {
$path = OC_FileCache::getPath($itemSource, $uidOwner);
- if (OC_Filesystem::file_exists($path)) {
+ if ($path) {
$this->path = $path;
return true;
}
@@ -47,7 +47,7 @@ class OC_Share_Backend_File implements OCP\Share_Backend_File_Dependent {
}
public function generateTarget($filePath, $shareWith, $exclude = null) {
- $target = $filePath;
+ $target = '/'.basename($filePath);
if (isset($exclude)) {
if ($pos = strrpos($target, '.')) {
$name = substr($target, 0, $pos);
@@ -72,8 +72,16 @@ class OC_Share_Backend_File implements OCP\Share_Backend_File_Dependent {
// Only 1 item should come through for this format call
return array('path' => $items[key($items)]['path'], 'permissions' => $items[key($items)]['permissions']);
} else if ($format == self::FORMAT_FILE_APP) {
+ if (isset($parameters['mimetype_filter']) && $parameters['mimetype_filter']) {
+ $mimetype_filter = $parameters['mimetype_filter'];
+ }
$files = array();
foreach ($items as $item) {
+ if (isset($mimetype_filter)
+ && strpos($item['mimetype'], $mimetype_filter) !== 0
+ && $item['mimetype'] != 'httpd/unix-directory') {
+ continue;
+ }
$file = array();
$file['id'] = $item['file_source'];
$file['path'] = $item['file_target'];
@@ -116,4 +124,4 @@ class OC_Share_Backend_File implements OCP\Share_Backend_File_Dependent {
return array();
}
-} \ No newline at end of file
+}
diff --git a/apps/files_sharing/lib/share/folder.php b/apps/files_sharing/lib/share/folder.php
index 665583e83ad..e29e9b7e002 100644
--- a/apps/files_sharing/lib/share/folder.php
+++ b/apps/files_sharing/lib/share/folder.php
@@ -19,7 +19,7 @@
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
-class OC_Share_Backend_Folder extends OC_Share_Backend_File {
+class OC_Share_Backend_Folder extends OC_Share_Backend_File implements OCP\Share_Backend_Collection {
public function formatItems($items, $format, $parameters = null) {
if ($format == self::FORMAT_SHARED_STORAGE) {
@@ -50,12 +50,22 @@ class OC_Share_Backend_Folder extends OC_Share_Backend_File {
}
public function getChildren($itemSource) {
- $files = OC_FileCache::getFolderContent($itemSource);
- $sources = array();
- foreach ($files as $file) {
- $sources[] = $file['path'];
+ $children = array();
+ $parents = array($itemSource);
+ while (!empty($parents)) {
+ $parents = "'".implode("','", $parents)."'";
+ $query = OC_DB::prepare('SELECT `id`, `name`, `mimetype` FROM `*PREFIX*fscache` WHERE `parent` IN ('.$parents.')');
+ $result = $query->execute();
+ $parents = array();
+ while ($file = $result->fetchRow()) {
+ $children[] = array('source' => $file['id'], 'file_path' => $file['name']);
+ // If a child folder is found look inside it
+ if ($file['mimetype'] == 'httpd/unix-directory') {
+ $parents[] = $file['id'];
+ }
+ }
}
- return $sources;
+ return $children;
}
} \ No newline at end of file
diff --git a/apps/files_sharing/public.php b/apps/files_sharing/public.php
index 010f6b9de18..525ffa83578 100644
--- a/apps/files_sharing/public.php
+++ b/apps/files_sharing/public.php
@@ -1,13 +1,21 @@
<?php
// Load other apps for file previews
OC_App::loadApps();
-if (isset($_GET['file'])) {
- $pos = strpos($_GET['file'], '/', 1);
- $uidOwner = substr($_GET['file'], 1, $pos - 1);
+if (isset($_GET['file']) || isset($_GET['dir'])) {
+ if (isset($_GET['dir'])) {
+ $type = 'folder';
+ $path = $_GET['dir'];
+ $baseDir = basename($path);
+ $dir = $baseDir;
+ } else {
+ $type = 'file';
+ $path = $_GET['file'];
+ }
+ $uidOwner = substr($path, 1, strpos($path, '/', 1) - 1);
if (OCP\User::userExists($uidOwner)) {
OC_Util::setupFS($uidOwner);
- $fileSource = OC_Filecache::getId($_GET['file'], '');
- if ($fileSource != -1 && ($linkItem = OCP\Share::getItemSharedWithByLink('file', $fileSource, $uidOwner))) {
+ $fileSource = OC_Filecache::getId($path, '');
+ if ($fileSource != -1 && ($linkItem = OCP\Share::getItemSharedWithByLink($type, $fileSource, $uidOwner))) {
if (isset($linkItem['share_with'])) {
// Check password
if (isset($_POST['password'])) {
@@ -35,6 +43,16 @@ if (isset($_GET['file'])) {
}
}
$path = $linkItem['path'];
+ if (isset($_GET['path'])) {
+ $path .= $_GET['path'];
+ $dir .= $_GET['path'];
+ if (!OC_Filesystem::file_exists($path)) {
+ header('HTTP/1.0 404 Not Found');
+ $tmpl = new OCP\Template('', '404', 'guest');
+ $tmpl->printPage();
+ exit();
+ }
+ }
// Download the file
if (isset($_GET['download'])) {
$mimetype = OC_Filesystem::getMimeType($path);
@@ -50,18 +68,84 @@ if (isset($_GET['file'])) {
OCP\Util::addScript('files_sharing', 'public');
OCP\Util::addScript('files', 'fileactions');
$tmpl = new OCP\Template('files_sharing', 'public', 'base');
- $tmpl->assign('details', $uidOwner.' shared the file '.basename($path).' with you');
$tmpl->assign('owner', $uidOwner);
- $tmpl->assign('name', basename($path));
// Show file list
if (OC_Filesystem::is_dir($path)) {
- // TODO
+ OCP\Util::addStyle('files', 'files');
+ OCP\Util::addScript('files', 'files');
+ OCP\Util::addScript('files', 'filelist');
+ $files = array();
+ $rootLength = strlen($baseDir) + 1;
+ foreach (OC_Files::getDirectoryContent($path) as $i) {
+ $i['date'] = OCP\Util::formatDate($i['mtime']);
+ if ($i['type'] == 'file') {
+ $fileinfo = pathinfo($i['name']);
+ $i['basename'] = $fileinfo['filename'];
+ $i['extension'] = isset($fileinfo['extension']) ? ('.'.$fileinfo['extension']) : '';
+ }
+ $i['directory'] = substr($i['directory'], $rootLength);
+ if ($i['directory'] == '/') {
+ $i['directory'] = '';
+ }
+ $i['permissions'] = OCP\Share::PERMISSION_READ;
+ $files[] = $i;
+ }
+ // Make breadcrumb
+ $breadcrumb = array();
+ $pathtohere = '';
+ foreach (explode('/', $dir) as $i) {
+ if ($i != '') {
+ if ($i != $baseDir) {
+ $pathtohere .= '/'.$i;
+ }
+ $breadcrumb[] = array('dir' => $pathtohere, 'name' => $i);
+ }
+ }
+ $list = new OCP\Template('files', 'part.list', '');
+ $list->assign('files', $files, false);
+ $list->assign('baseURL', OCP\Util::linkToPublic('files').'&dir='.$_GET['dir'].'&path=', false);
+ $list->assign('downloadURL', OCP\Util::linkToPublic('files').'&download&dir='.$_GET['dir'].'&path=', false);
+ $breadcrumbNav = new OCP\Template('files', 'part.breadcrumb', '' );
+ $breadcrumbNav->assign('breadcrumb', $breadcrumb, false);
+ $breadcrumbNav->assign('baseURL', OCP\Util::linkToPublic('files').'&dir='.$_GET['dir'].'&path=', false);
+ $folder = new OCP\Template('files', 'index', '');
+ $folder->assign('fileList', $list->fetchPage(), false);
+ $folder->assign('breadcrumb', $breadcrumbNav->fetchPage(), false);
+ $folder->assign('dir', basename($dir));
+ $folder->assign('isCreatable', false);
+ $folder->assign('permissions', 0);
+ $folder->assign('files', $files);
+ $folder->assign('uploadMaxFilesize', 0);
+ $folder->assign('uploadMaxHumanFilesize', 0);
+ $folder->assign('allowZipDownload', intval(OCP\Config::getSystemValue('allowZipDownload', true)));
+ $tmpl->assign('folder', $folder->fetchPage(), false);
+ $tmpl->assign('uidOwner', $uidOwner);
+ $tmpl->assign('dir', basename($dir));
+ $tmpl->assign('filename', basename($path));
+ $tmpl->assign('mimetype', OC_Filesystem::getMimeType($path));
+ $tmpl->assign('allowZipDownload', intval(OCP\Config::getSystemValue('allowZipDownload', true)));
+ if (isset($_GET['path'])) {
+ $getPath = $_GET['path'];
+ } else {
+ $getPath = '';
+ }
+ $tmpl->assign('downloadURL', OCP\Util::linkToPublic('files').'&download&dir='.$_GET['dir'].'&path='.$getPath);
} else {
// Show file preview if viewer is available
+ $tmpl->assign('uidOwner', $uidOwner);
$tmpl->assign('dir', dirname($path));
$tmpl->assign('filename', basename($path));
$tmpl->assign('mimetype', OC_Filesystem::getMimeType($path));
- $tmpl->assign('downloadURL', OCP\Util::linkToPublic('files').'&file='.$_GET['file'].'&download');
+ if ($type == 'file') {
+ $tmpl->assign('downloadURL', OCP\Util::linkToPublic('files').'&file='.$_GET['file'].'&download');
+ } else {
+ if (isset($_GET['path'])) {
+ $getPath = $_GET['path'];
+ } else {
+ $getPath = '';
+ }
+ $tmpl->assign('downloadURL', OCP\Util::linkToPublic('files').'&download&dir='.$_GET['dir'].'&path='.$getPath);
+ }
}
$tmpl->printPage();
}
diff --git a/apps/files_sharing/templates/public.php b/apps/files_sharing/templates/public.php
index ca48a35575e..fd9b79e6f17 100755..100644
--- a/apps/files_sharing/templates/public.php
+++ b/apps/files_sharing/templates/public.php
@@ -5,21 +5,33 @@
<header><div id="header">
<a href="<?php echo link_to('', 'index.php'); ?>" title="" id="owncloud"><img class="svg" src="<?php echo image_path('', 'logo-wide.svg'); ?>" alt="ownCloud" /></a>
<div class="header-right">
- <span id="details"><?php echo $_['details']; ?></span>
- <a href="<?php echo $_['downloadURL']; ?>" id="download"><img class="svg" alt="Download" src="<?php echo OCP\image_path("core", "actions/download.svg"); ?>" /><?php echo $l->t('Download')?></a>
+ <?php if (isset($_['folder'])): ?>
+ <span id="details"><?php echo $l->t('%s shared the folder %s with you', array($_['uidOwner'], $_['filename'])) ?></span>
+ <?php else: ?>
+ <span id="details"><?php echo $l->t('%s shared the file %s with you', array($_['uidOwner'], $_['filename'])) ?></span>
+ <?php endif; ?>
+ <?php if (!isset($_['folder']) || $_['allowZipDownload']): ?>
+ <a href="<?php echo $_['downloadURL']; ?>" class="button" id="download"><img class="svg" alt="Download" src="<?php echo OCP\image_path("core", "actions/download.svg"); ?>" /><?php echo $l->t('Download')?></a>
+ <?php endif; ?>
</div>
</div></header>
<div id="preview">
- <?php if (substr($_['mimetype'], 0 , strpos($_['mimetype'], '/')) == 'image'): ?>
- <img src="<?php echo $_['downloadURL']; ?>" />
+ <?php if (isset($_['folder'])): ?>
+ <?php echo $_['folder']; ?>
+ <?php else: ?>
+ <?php if (substr($_['mimetype'], 0 , strpos($_['mimetype'], '/')) == 'image'): ?>
+ <div id="imgframe">
+ <img src="<?php echo $_['downloadURL']; ?>" />
+ </div>
+ <?php endif; ?>
+ <ul id="noPreview">
+ <li class="error">
+ <?php echo $l->t('No preview available for').' '.$_['filename']; ?><br />
+ <a href="<?php echo $_['downloadURL']; ?>" id="download"><img class="svg" alt="Download" src="<?php echo OCP\image_path("core", "actions/download.svg"); ?>" /><?php echo $l->t('Download')?></a>
+ </li>
+ </ul>
<?php endif; ?>
- <ul id="noPreview">
- <li class="error">
- <?php echo $l->t('No preview available for').' '.$_['filename']; ?><br />
- <a href="<?php echo $_['downloadURL']; ?>" id="download"><img class="svg" alt="Download" src="<?php echo OCP\image_path("core", "actions/download.svg"); ?>" /><?php echo $l->t('Download')?></a>
- </li>
- </ul>
<div id="content"></div>
<table></table>
</div>
-<footer><p class="info"><a href="http://owncloud.org/">ownCloud</a> &ndash; <?php echo $l->t('web services under your control'); ?></p></footer> \ No newline at end of file
+<footer><p class="info"><a href="http://owncloud.org/">ownCloud</a> &ndash; <?php echo $l->t('web services under your control'); ?></p></footer>
diff --git a/apps/files_versions/js/versions.js b/apps/files_versions/js/versions.js
index 1c8d083ea42..9075095d286 100644
--- a/apps/files_versions/js/versions.js
+++ b/apps/files_versions/js/versions.js
@@ -10,25 +10,34 @@ $(document).ready(function() {
$(document).ready(function(){
if (typeof FileActions !== 'undefined') {
- // Add history button to files/index.php
- FileActions.register('file','History', OC.PERMISSION_UPDATE, function(){return OC.imagePath('core','actions/history');},function(filename){
-
- if (scanFiles.scanning){return;}//workaround to prevent additional http request block scanning feedback
-
- var file = $('#dir').val()+'/'+filename;
- // Check if drop down is already visible for a different file
- if (($('#dropdown').length > 0)) {
- if (file != $('#dropdown').data('file')) {
- $('#dropdown').hide('blind', function() {
- $('#dropdown').remove();
- $('tr').removeClass('mouseOver');
- createVersionsDropdown(filename, file);
- });
+ // Add history button to 'files/index.php'
+ FileActions.register(
+ 'file'
+ , t('files_versions', 'History')
+ , OC.PERMISSION_UPDATE
+ , function() {
+ // Specify icon for hitory button
+ return OC.imagePath('core','actions/history');
+ }
+ ,function(filename){
+ // Action to perform when clicked
+ if (scanFiles.scanning){return;}//workaround to prevent additional http request block scanning feedback
+
+ var file = $('#dir').val()+'/'+filename;
+ // Check if drop down is already visible for a different file
+ if (($('#dropdown').length > 0)) {
+ if (file != $('#dropdown').data('file')) {
+ $('#dropdown').hide('blind', function() {
+ $('#dropdown').remove();
+ $('tr').removeClass('mouseOver');
+ createVersionsDropdown(filename, file);
+ });
+ }
+ } else {
+ createVersionsDropdown(filename, file);
}
- } else {
- createVersionsDropdown(filename, file);
}
- });
+ );
}
});
@@ -42,7 +51,6 @@ function createVersionsDropdown(filename, files) {
html += '<option value=""></option>';
html += '</select>';
html += '</div>';
- //html += '<input type="button" value="Revert file" onclick="revertFile()" />';
html += '<input type="button" value="All versions..." onclick="window.location=\''+historyUrl+'\'" name="makelink" id="makelink" />';
html += '<input id="link" style="display:none; width:90%;" />';
@@ -60,9 +68,7 @@ function createVersionsDropdown(filename, files) {
data: { source: files },
async: false,
success: function( versions ) {
-
- //alert("helo "+OC.linkTo('files_versions', 'ajax/getVersions.php'));
-
+
if (versions) {
$.each( versions, function(index, row ) {
addVersion( row );
@@ -103,7 +109,7 @@ function createVersionsDropdown(filename, files) {
}
- function addVersion(revision ) {
+ function addVersion( revision ) {
name=formatDate(revision.version*1000);
var version=$('<option/>');
version.attr('value',revision.version);
@@ -122,8 +128,23 @@ function createVersionsDropdown(filename, files) {
version.appendTo('#found_versions');
}
-
+
+ $('tr').filterAttr('data-file',filename).addClass('mouseOver');
$('#dropdown').show('blind');
}
+
+$(this).click(
+ function(event) {
+
+ if ($('#dropdown').has(event.target).length === 0) {
+ $('#dropdown').hide('blind', function() {
+ $('#dropdown').remove();
+ $('tr').removeClass('mouseOver');
+ });
+ }
+
+
+ }
+);
diff --git a/apps/files_versions/l10n/ca.php b/apps/files_versions/l10n/ca.php
index b6ddc6feecf..d9d966fc7af 100644
--- a/apps/files_versions/l10n/ca.php
+++ b/apps/files_versions/l10n/ca.php
@@ -2,5 +2,6 @@
"Expire all versions" => "Expira totes les versions",
"Versions" => "Versions",
"This will delete all existing backup versions of your files" => "Això eliminarà totes les versions de còpia de seguretat dels vostres fitxers",
-"Enable Files Versioning" => "Habilita les versions de fitxers"
+"Files Versioning" => "Fitxers de Versions",
+"Enable" => "Permetre"
);
diff --git a/apps/files_versions/l10n/cs_CZ.php b/apps/files_versions/l10n/cs_CZ.php
index 4f33c1915f2..3995334d9ee 100644
--- a/apps/files_versions/l10n/cs_CZ.php
+++ b/apps/files_versions/l10n/cs_CZ.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Expire all versions" => "Vypršet všechny verze",
+"History" => "Historie",
"Versions" => "Verze",
"This will delete all existing backup versions of your files" => "Odstraní všechny existující zálohované verze Vašich souborů",
-"Enable Files Versioning" => "Povolit verzování souborů"
+"Files Versioning" => "Verzování souborů",
+"Enable" => "Povolit"
);
diff --git a/apps/files_versions/l10n/da.php b/apps/files_versions/l10n/da.php
new file mode 100644
index 00000000000..bc02b47f2ad
--- /dev/null
+++ b/apps/files_versions/l10n/da.php
@@ -0,0 +1,8 @@
+<?php $TRANSLATIONS = array(
+"Expire all versions" => "Lad alle versioner udløbe",
+"History" => "Historik",
+"Versions" => "Versioner",
+"This will delete all existing backup versions of your files" => "Dette vil slette alle eksisterende backupversioner af dine filer",
+"Files Versioning" => "Versionering af filer",
+"Enable" => "Aktiver"
+);
diff --git a/apps/files_versions/l10n/de.php b/apps/files_versions/l10n/de.php
index 2c15884d1b5..a568112d02d 100644
--- a/apps/files_versions/l10n/de.php
+++ b/apps/files_versions/l10n/de.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Expire all versions" => "Alle Versionen löschen",
+"History" => "Historie",
"Versions" => "Versionen",
"This will delete all existing backup versions of your files" => "Dies löscht alle vorhandenen Sicherungsversionen Ihrer Dateien.",
-"Enable Files Versioning" => "Datei-Versionierung aktivieren"
+"Files Versioning" => "Dateiversionierung",
+"Enable" => "Aktivieren"
);
diff --git a/apps/files_versions/l10n/el.php b/apps/files_versions/l10n/el.php
index 8953c96bd11..24511f37395 100644
--- a/apps/files_versions/l10n/el.php
+++ b/apps/files_versions/l10n/el.php
@@ -1,4 +1,7 @@
<?php $TRANSLATIONS = array(
"Expire all versions" => "Λήξη όλων των εκδόσεων",
-"Enable Files Versioning" => "Ενεργοποίηση παρακολούθησης εκδόσεων αρχείων"
+"Versions" => "Εκδόσεις",
+"This will delete all existing backup versions of your files" => "Αυτό θα διαγράψει όλες τις υπάρχουσες εκδόσεις των αντιγράφων ασφαλείας των αρχείων σας",
+"Files Versioning" => "Εκδόσεις Αρχείων",
+"Enable" => "Ενεργοποίηση"
);
diff --git a/apps/files_versions/l10n/eo.php b/apps/files_versions/l10n/eo.php
index 8ec0895638a..d0f89c576d4 100644
--- a/apps/files_versions/l10n/eo.php
+++ b/apps/files_versions/l10n/eo.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
"Expire all versions" => "Eksvalidigi ĉiujn eldonojn",
-"Enable Files Versioning" => "Kapabligi dosiereldonkontrolon"
+"Versions" => "Eldonoj",
+"This will delete all existing backup versions of your files" => "Ĉi tio forigos ĉiujn estantajn sekurkopiajn eldonojn de viaj dosieroj"
);
diff --git a/apps/files_versions/l10n/es.php b/apps/files_versions/l10n/es.php
index 83d7ed0da2c..f6b63df7c2b 100644
--- a/apps/files_versions/l10n/es.php
+++ b/apps/files_versions/l10n/es.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Expire all versions" => "Expirar todas las versiones",
+"History" => "Historial",
"Versions" => "Versiones",
"This will delete all existing backup versions of your files" => "Esto eliminará todas las versiones guardadas como copia de seguridad de tus archivos",
-"Enable Files Versioning" => "Habilitar versionamiento de archivos"
+"Files Versioning" => "Versionado de archivos",
+"Enable" => "Habilitar"
);
diff --git a/apps/files_versions/l10n/es_AR.php b/apps/files_versions/l10n/es_AR.php
new file mode 100644
index 00000000000..a78264de03f
--- /dev/null
+++ b/apps/files_versions/l10n/es_AR.php
@@ -0,0 +1,8 @@
+<?php $TRANSLATIONS = array(
+"Expire all versions" => "Expirar todas las versiones",
+"History" => "Historia",
+"Versions" => "Versiones",
+"This will delete all existing backup versions of your files" => "Hacer estom borrará todas las versiones guardadas como copia de seguridad de tus archivos",
+"Files Versioning" => "Versionado de archivos",
+"Enable" => "Activar"
+);
diff --git a/apps/files_versions/l10n/et_EE.php b/apps/files_versions/l10n/et_EE.php
index d136ae241ce..f1ebd082ad5 100644
--- a/apps/files_versions/l10n/et_EE.php
+++ b/apps/files_versions/l10n/et_EE.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
"Expire all versions" => "Kõikide versioonide aegumine",
-"Enable Files Versioning" => "Luba failide versioonihaldus"
+"Versions" => "Versioonid",
+"This will delete all existing backup versions of your files" => "See kustutab kõik sinu failidest tehtud varuversiooni"
);
diff --git a/apps/files_versions/l10n/eu.php b/apps/files_versions/l10n/eu.php
index 0f065c1e93c..d84d9011707 100644
--- a/apps/files_versions/l10n/eu.php
+++ b/apps/files_versions/l10n/eu.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Expire all versions" => "Iraungi bertsio guztiak",
+"History" => "Historia",
"Versions" => "Bertsioak",
"This will delete all existing backup versions of your files" => "Honek zure fitxategien bertsio guztiak ezabatuko ditu",
-"Enable Files Versioning" => "Gaitu fitxategien bertsioak"
+"Files Versioning" => "Fitxategien Bertsioak",
+"Enable" => "Gaitu"
);
diff --git a/apps/files_versions/l10n/fa.php b/apps/files_versions/l10n/fa.php
index e2dc6cba63f..98dd415969a 100644
--- a/apps/files_versions/l10n/fa.php
+++ b/apps/files_versions/l10n/fa.php
@@ -1,4 +1,3 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "انقضای تمامی نسخه‌ها",
-"Enable Files Versioning" => "فعال‌کردن پرونده‌های نسخه‌بندی"
+"Expire all versions" => "انقضای تمامی نسخه‌ها"
);
diff --git a/apps/files_versions/l10n/fi_FI.php b/apps/files_versions/l10n/fi_FI.php
index 5cfcbf28bd4..3cec4c04bfe 100644
--- a/apps/files_versions/l10n/fi_FI.php
+++ b/apps/files_versions/l10n/fi_FI.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Expire all versions" => "Vanhenna kaikki versiot",
+"History" => "Historia",
"Versions" => "Versiot",
"This will delete all existing backup versions of your files" => "Tämä poistaa kaikki tiedostojesi olemassa olevat varmuuskopioversiot",
-"Enable Files Versioning" => "Käytä tiedostojen versiointia"
+"Files Versioning" => "Tiedostojen versiointi",
+"Enable" => "Käytä"
);
diff --git a/apps/files_versions/l10n/fr.php b/apps/files_versions/l10n/fr.php
index 965fa02de98..e6dbc274456 100644
--- a/apps/files_versions/l10n/fr.php
+++ b/apps/files_versions/l10n/fr.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Expire all versions" => "Supprimer les versions intermédiaires",
+"History" => "Historique",
"Versions" => "Versions",
"This will delete all existing backup versions of your files" => "Cette opération va effacer toutes les versions intermédiaires de vos fichiers (et ne garder que la dernière version en date).",
-"Enable Files Versioning" => "Activer le versionnage"
+"Files Versioning" => "Versionnage des fichiers",
+"Enable" => "Activer"
);
diff --git a/apps/files_versions/l10n/gl.php b/apps/files_versions/l10n/gl.php
new file mode 100644
index 00000000000..c0d5937e1b1
--- /dev/null
+++ b/apps/files_versions/l10n/gl.php
@@ -0,0 +1,7 @@
+<?php $TRANSLATIONS = array(
+"Expire all versions" => "Caducar todas as versións",
+"Versions" => "Versións",
+"This will delete all existing backup versions of your files" => "Esto eliminará todas as copias de respaldo existentes dos seus ficheiros",
+"Files Versioning" => "Versionado de ficheiros",
+"Enable" => "Habilitar"
+);
diff --git a/apps/files_versions/l10n/he.php b/apps/files_versions/l10n/he.php
index 097169b2a49..09a013f45a8 100644
--- a/apps/files_versions/l10n/he.php
+++ b/apps/files_versions/l10n/he.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Expire all versions" => "הפגת תוקף כל הגרסאות",
"Versions" => "גרסאות",
-"This will delete all existing backup versions of your files" => "פעולה זו תמחק את כל גיבויי הגרסאות הקיימים של הקבצים שלך",
-"Enable Files Versioning" => "הפעלת ניהול גרסאות לקבצים"
+"This will delete all existing backup versions of your files" => "פעולה זו תמחק את כל גיבויי הגרסאות הקיימים של הקבצים שלך"
);
diff --git a/apps/files_versions/l10n/it.php b/apps/files_versions/l10n/it.php
index b7b0b9627b1..0b1e70823d5 100644
--- a/apps/files_versions/l10n/it.php
+++ b/apps/files_versions/l10n/it.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Expire all versions" => "Scadenza di tutte le versioni",
+"History" => "Cronologia",
"Versions" => "Versioni",
"This will delete all existing backup versions of your files" => "Ciò eliminerà tutte le versioni esistenti dei tuoi file",
-"Enable Files Versioning" => "Abilita controllo di versione"
+"Files Versioning" => "Controllo di versione dei file",
+"Enable" => "Abilita"
);
diff --git a/apps/files_versions/l10n/ja_JP.php b/apps/files_versions/l10n/ja_JP.php
index 81d17f56f8f..367152c0743 100644
--- a/apps/files_versions/l10n/ja_JP.php
+++ b/apps/files_versions/l10n/ja_JP.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Expire all versions" => "すべてのバージョンを削除する",
+"History" => "履歴",
"Versions" => "バージョン",
"This will delete all existing backup versions of your files" => "これは、あなたのファイルのすべてのバックアップバージョンを削除します",
-"Enable Files Versioning" => "ファイルのバージョン管理を有効にする"
+"Files Versioning" => "ファイルのバージョン管理",
+"Enable" => "有効化"
);
diff --git a/apps/files_versions/l10n/lt_LT.php b/apps/files_versions/l10n/lt_LT.php
index 5da209f31b9..b3810d06ec7 100644
--- a/apps/files_versions/l10n/lt_LT.php
+++ b/apps/files_versions/l10n/lt_LT.php
@@ -1,4 +1,3 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Panaikinti visų versijų galiojimą",
-"Enable Files Versioning" => "Įjungti failų versijų vedimą"
+"Expire all versions" => "Panaikinti visų versijų galiojimą"
);
diff --git a/apps/files_versions/l10n/nl.php b/apps/files_versions/l10n/nl.php
index da31603ff54..1cf875048d7 100644
--- a/apps/files_versions/l10n/nl.php
+++ b/apps/files_versions/l10n/nl.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Expire all versions" => "Alle versies laten verlopen",
+"History" => "Geschiedenis",
"Versions" => "Versies",
"This will delete all existing backup versions of your files" => "Dit zal alle bestaande backup versies van uw bestanden verwijderen",
-"Enable Files Versioning" => "Activeer file versioning"
+"Files Versioning" => "Bestand versies",
+"Enable" => "Zet aan"
);
diff --git a/apps/files_versions/l10n/pl.php b/apps/files_versions/l10n/pl.php
index c25d37611a0..46c28d4590a 100644
--- a/apps/files_versions/l10n/pl.php
+++ b/apps/files_versions/l10n/pl.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Expire all versions" => "Wygasają wszystkie wersje",
+"History" => "Historia",
"Versions" => "Wersje",
"This will delete all existing backup versions of your files" => "Spowoduje to usunięcie wszystkich istniejących wersji kopii zapasowych plików",
-"Enable Files Versioning" => "Włącz wersjonowanie plików"
+"Files Versioning" => "Wersjonowanie plików",
+"Enable" => "Włącz"
);
diff --git a/apps/files_versions/l10n/pt_BR.php b/apps/files_versions/l10n/pt_BR.php
index a90b48fe3a3..3d39a533d65 100644
--- a/apps/files_versions/l10n/pt_BR.php
+++ b/apps/files_versions/l10n/pt_BR.php
@@ -1,4 +1,8 @@
<?php $TRANSLATIONS = array(
"Expire all versions" => "Expirar todas as versões",
-"Enable Files Versioning" => "Habilitar versionamento de arquivos"
+"History" => "Histórico",
+"Versions" => "Versões",
+"This will delete all existing backup versions of your files" => "Isso removerá todas as versões de backup existentes dos seus arquivos",
+"Files Versioning" => "Versionamento de Arquivos",
+"Enable" => "Habilitar"
);
diff --git a/apps/files_versions/l10n/pt_PT.php b/apps/files_versions/l10n/pt_PT.php
new file mode 100644
index 00000000000..eb80eec6ed8
--- /dev/null
+++ b/apps/files_versions/l10n/pt_PT.php
@@ -0,0 +1,7 @@
+<?php $TRANSLATIONS = array(
+"Expire all versions" => "Expirar todas as versões",
+"History" => "Histórico",
+"Versions" => "Versões",
+"This will delete all existing backup versions of your files" => "Isto irá apagar todas as versões de backup do seus ficheiros",
+"Enable" => "Activar"
+);
diff --git a/apps/files_versions/l10n/ro.php b/apps/files_versions/l10n/ro.php
new file mode 100644
index 00000000000..e23e771e392
--- /dev/null
+++ b/apps/files_versions/l10n/ro.php
@@ -0,0 +1,8 @@
+<?php $TRANSLATIONS = array(
+"Expire all versions" => "Expiră toate versiunile",
+"History" => "Istoric",
+"Versions" => "Versiuni",
+"This will delete all existing backup versions of your files" => "Această acțiune va șterge toate versiunile salvate ale fișierelor tale",
+"Files Versioning" => "Versionare fișiere",
+"Enable" => "Activare"
+);
diff --git a/apps/files_versions/l10n/ru.php b/apps/files_versions/l10n/ru.php
index 6a824779f30..f91cae90a14 100644
--- a/apps/files_versions/l10n/ru.php
+++ b/apps/files_versions/l10n/ru.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
"Expire all versions" => "Просрочить все версии",
-"Enable Files Versioning" => "Включить ведение версий файлов"
+"Versions" => "Версии",
+"This will delete all existing backup versions of your files" => "Очистить список версий ваших файлов"
);
diff --git a/apps/files_versions/l10n/ru_RU.php b/apps/files_versions/l10n/ru_RU.php
new file mode 100644
index 00000000000..2563c318bc2
--- /dev/null
+++ b/apps/files_versions/l10n/ru_RU.php
@@ -0,0 +1,6 @@
+<?php $TRANSLATIONS = array(
+"Versions" => "Версии",
+"This will delete all existing backup versions of your files" => "Это приведет к удалению всех существующих версий резервной копии ваших файлов",
+"Files Versioning" => "Файлы управления версиями",
+"Enable" => "Включить"
+);
diff --git a/apps/files_versions/l10n/sk_SK.php b/apps/files_versions/l10n/sk_SK.php
new file mode 100644
index 00000000000..132c6c09682
--- /dev/null
+++ b/apps/files_versions/l10n/sk_SK.php
@@ -0,0 +1,8 @@
+<?php $TRANSLATIONS = array(
+"Expire all versions" => "Expirovať všetky verzie",
+"History" => "História",
+"Versions" => "Verzie",
+"This will delete all existing backup versions of your files" => "Budú zmazané všetky zálohované verzie vašich súborov",
+"Files Versioning" => "Vytváranie verzií súborov",
+"Enable" => "Zapnúť"
+);
diff --git a/apps/files_versions/l10n/sl.php b/apps/files_versions/l10n/sl.php
index aec6edb3c22..056a17decfe 100644
--- a/apps/files_versions/l10n/sl.php
+++ b/apps/files_versions/l10n/sl.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Expire all versions" => "Zastaraj vse različice",
+"History" => "Zgodovina",
"Versions" => "Različice",
"This will delete all existing backup versions of your files" => "To bo izbrisalo vse obstoječe različice varnostnih kopij vaših datotek",
-"Enable Files Versioning" => "Omogoči sledenje različicam datotek"
+"Files Versioning" => "Sledenje različicam",
+"Enable" => "Omogoči"
);
diff --git a/apps/files_versions/l10n/sv.php b/apps/files_versions/l10n/sv.php
index 5788d8ae197..e36164e30ab 100644
--- a/apps/files_versions/l10n/sv.php
+++ b/apps/files_versions/l10n/sv.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Expire all versions" => "Upphör alla versioner",
+"History" => "Historik",
"Versions" => "Versioner",
"This will delete all existing backup versions of your files" => "Detta kommer att radera alla befintliga säkerhetskopior av dina filer",
-"Enable Files Versioning" => "Aktivera versionshantering"
+"Files Versioning" => "Versionshantering av filer",
+"Enable" => "Aktivera"
);
diff --git a/apps/files_versions/l10n/th_TH.php b/apps/files_versions/l10n/th_TH.php
index 4f26e3bd035..89b9f626911 100644
--- a/apps/files_versions/l10n/th_TH.php
+++ b/apps/files_versions/l10n/th_TH.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Expire all versions" => "หมดอายุทุกรุ่น",
+"History" => "ประวัติ",
"Versions" => "รุ่น",
"This will delete all existing backup versions of your files" => "นี่จะเป็นลบทิ้งไฟล์รุ่นที่ทำการสำรองข้อมูลทั้งหมดที่มีอยู่ของคุณทิ้งไป",
-"Enable Files Versioning" => "เปิดใช้งานคุณสมบัติการแยกสถานะรุ่นหรือเวอร์ชั่นของไฟล์"
+"Files Versioning" => "การกำหนดเวอร์ชั่นของไฟล์",
+"Enable" => "เปิดใช้งาน"
);
diff --git a/apps/files_versions/l10n/vi.php b/apps/files_versions/l10n/vi.php
new file mode 100644
index 00000000000..992c0751d0a
--- /dev/null
+++ b/apps/files_versions/l10n/vi.php
@@ -0,0 +1,5 @@
+<?php $TRANSLATIONS = array(
+"Expire all versions" => "Hết hạn tất cả các phiên bản",
+"Versions" => "Phiên bản",
+"This will delete all existing backup versions of your files" => "Điều này sẽ xóa tất cả các phiên bản sao lưu hiện có "
+);
diff --git a/apps/files_versions/l10n/zh_CN.GB2312.php b/apps/files_versions/l10n/zh_CN.GB2312.php
new file mode 100644
index 00000000000..43af097a21e
--- /dev/null
+++ b/apps/files_versions/l10n/zh_CN.GB2312.php
@@ -0,0 +1,7 @@
+<?php $TRANSLATIONS = array(
+"Expire all versions" => "作废所有版本",
+"Versions" => "版本",
+"This will delete all existing backup versions of your files" => "这将删除所有您现有文件的备份版本",
+"Files Versioning" => "文件版本",
+"Enable" => "启用"
+);
diff --git a/apps/files_versions/l10n/zh_CN.php b/apps/files_versions/l10n/zh_CN.php
index 56a474be89a..1a5caae7dfa 100644
--- a/apps/files_versions/l10n/zh_CN.php
+++ b/apps/files_versions/l10n/zh_CN.php
@@ -2,5 +2,6 @@
"Expire all versions" => "过期所有版本",
"Versions" => "版本",
"This will delete all existing backup versions of your files" => "将会删除您的文件的所有备份版本",
-"Enable Files Versioning" => "开启文件版本"
+"Files Versioning" => "文件版本",
+"Enable" => "开启"
);
diff --git a/apps/files_versions/lib/versions.php b/apps/files_versions/lib/versions.php
index dedd83fc25a..7d12e58f941 100644
--- a/apps/files_versions/lib/versions.php
+++ b/apps/files_versions/lib/versions.php
@@ -35,48 +35,34 @@ class Storage {
const DEFAULTMININTERVAL=60; // 1 min
const DEFAULTMAXVERSIONS=50;
- private $view;
-
- function __construct() {
-
- $this->view = \OCP\Files::getStorage('files_versions');
-
- }
-
- /**
- * listen to write event.
- */
- public static function write_hook($params) {
- if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') {
- $path = $params[\OC_Filesystem::signal_param_path];
- if($path<>'') $this->store($path);
+ private static function getUidAndFilename($filename)
+ {
+ if (\OCP\App::isEnabled('files_sharing')
+ && substr($filename, 0, 7) == '/Shared'
+ && $source = \OCP\Share::getItemSharedWith('file',
+ substr($filename, 7),
+ \OC_Share_Backend_File::FORMAT_SHARED_STORAGE)) {
+ $filename = $source['path'];
+ $pos = strpos($filename, '/files', 1);
+ $uid = substr($filename, 1, $pos - 1);
+ $filename = substr($filename, $pos + 6);
+ } else {
+ $uid = \OCP\User::getUser();
}
+ return array($uid, $filename);
}
-
-
/**
* store a new version of a file.
*/
public function store($filename) {
if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') {
-
- $files_view = \OCP\Files::getStorage("files");
- $users_view = \OCP\Files::getStorage("files_versions");
- $users_view->chroot(\OCP\User::getUser().'/');
-
- //FIXME OC_Share no longer exists
- //if (\OCP\App::isEnabled('files_sharing') && $source = \OC_Share::getSource('/'.\OCP\User::getUser().'/files'.$filename)) {
- // $pos = strpos($source, '/files', 1);
- // $uid = substr($source, 1, $pos - 1);
- // $filename = substr($source, $pos + 6);
- //} else {
- $uid = \OCP\User::getUser();
- //}
-
- $versionsFolderName=\OCP\Config::getSystemValue('datadirectory') . $this->view->getAbsolutePath('');
+ list($uid, $filename) = self::getUidAndFilename($filename);
+ $files_view = new \OC_FilesystemView('/'.$uid.'/files');
+ $users_view = new \OC_FilesystemView('/'.$uid);
//check if source file already exist as version to avoid recursions.
+ // todo does this check work?
if ($users_view->file_exists($filename)) {
return false;
}
@@ -95,6 +81,10 @@ class Storage {
return false;
}
}
+ // we should have a source file to work with
+ if (!$files_view->file_exists($filename)) {
+ return false;
+ }
// check filesize
if($files_view->filesize($filename)>\OCP\Config::getSystemValue('files_versionsmaxfilesize', Storage::DEFAULTMAXFILESIZE)) {
@@ -104,6 +94,8 @@ class Storage {
// check mininterval if the file is being modified by the owner (all shared files should be versioned despite mininterval)
if ($uid == \OCP\User::getUser()) {
+ $versions_fileview = new \OC_FilesystemView('/'.$uid.'/files_versions');
+ $versionsFolderName=\OCP\Config::getSystemValue('datadirectory'). $versions_fileview->getAbsolutePath('');
$matches=glob($versionsFolderName.'/'.$filename.'.v*');
sort($matches);
$parts=explode('.v',end($matches));
@@ -114,11 +106,13 @@ class Storage {
// create all parent folders
- $info=pathinfo($filename);
- if(!file_exists($versionsFolderName.'/'.$info['dirname'])) mkdir($versionsFolderName.'/'.$info['dirname'],0700,true);
+ $dirname = dirname($filename);
+ if(!$users_view->file_exists('/files_versions/'.$dirname)) {
+ $users_view->mkdir('/files_versions/'.$dirname,0700,true);
+ }
// store a new version of a file
- @$users_view->copy('files'.$filename, 'files_versions'.$filename.'.v'.time());
+ $users_view->copy('files'.$filename, 'files_versions'.$filename.'.v'.time());
// expire old revisions if necessary
Storage::expire($filename);
@@ -132,17 +126,8 @@ class Storage {
public static function rollback($filename,$revision) {
if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') {
- $users_view = \OCP\Files::getStorage("files_versions");
- $users_view->chroot(\OCP\User::getUser().'/');
-
- //FIXME OC_Share no longer exists
- //if (\OCP\App::isEnabled('files_sharing') && $source = \OC_Share::getSource('/'.\OCP\User::getUser().'/files'.$filename)) {
- // $pos = strpos($source, '/files', 1);
- // $uid = substr($source, 1, $pos - 1);
- // $filename = substr($source, $pos + 6);
- //} else {
- $uid = \OCP\User::getUser();
- //}
+ list($uid, $filename) = self::getUidAndFilename($filename);
+ $users_view = new \OC_FilesystemView('/'.$uid);
// rollback
if( @$users_view->copy('files_versions'.$filename.'.v'.$revision, 'files'.$filename) ) {
@@ -164,12 +149,8 @@ class Storage {
*/
public static function isversioned($filename) {
if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') {
- $versions_fileview = \OCP\Files::getStorage("files_versions");
- //FIXME OC_Share no longer exists
- //if (\OCP\App::isEnabled('files_sharing') && $source = \OC_Share::getSource('/'.\OCP\User::getUser().'/files'.$filename)) {
- // $pos = strpos($source, '/files', 1);
- // $filename = substr($source, $pos + 6);
- //}
+ list($uid, $filename) = self::getUidAndFilename($filename);
+ $versions_fileview = new \OC_FilesystemView('/'.$uid.'/files_versions');
$versionsFolderName=\OCP\Config::getSystemValue('datadirectory'). $versions_fileview->getAbsolutePath('');
@@ -196,16 +177,9 @@ class Storage {
public static function getVersions( $filename, $count = 0 ) {
if( \OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true' ) {
+ list($uid, $filename) = self::getUidAndFilename($filename);
+ $versions_fileview = new \OC_FilesystemView('/'.$uid.'/files_versions');
- //FIXME OC_Share no longer exists
- //if (\OCP\App::isEnabled('files_sharing') && $source = \OC_Share::getSource('/'.\OCP\User::getUser().'/files'.$filename)) {
- // $pos = strpos($source, '/files', 1);
- // $uid = substr($source, 1, $pos - 1);
- // $filename = substr($source, $pos + 6);
- //} else {
- $uid = \OCP\User::getUser();
- //}
- $versions_fileview = \OCP\Files::getStorage('files_versions');
$versionsFolderName = \OCP\Config::getSystemValue('datadirectory'). $versions_fileview->getAbsolutePath('');
$versions = array();
@@ -216,7 +190,7 @@ class Storage {
$i = 0;
- $files_view = \OCP\Files::getStorage('files');
+ $files_view = new \OC_FilesystemView('/'.$uid.'/files');
$local_file = $files_view->getLocalFile($filename);
foreach( $matches as $ma ) {
@@ -270,16 +244,9 @@ class Storage {
*/
public static function expire($filename) {
if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') {
+ list($uid, $filename) = self::getUidAndFilename($filename);
+ $versions_fileview = new \OC_FilesystemView('/'.$uid.'/files_versions');
- //FIXME OC_Share no longer exists
- //if (\OCP\App::isEnabled('files_sharing') && $source = \OC_Share::getSource('/'.\OCP\User::getUser().'/files'.$filename)) {
- // $pos = strpos($source, '/files', 1);
- // $uid = substr($source, 1, $pos - 1);
- // $filename = substr($source, $pos + 6);
- //} else {
- $uid = \OCP\User::getUser();
- //}
- $versions_fileview = \OCP\Files::getStorage("files_versions");
$versionsFolderName=\OCP\Config::getSystemValue('datadirectory'). $versions_fileview->getAbsolutePath('');
// check for old versions
@@ -287,7 +254,7 @@ class Storage {
if( count( $matches ) > \OCP\Config::getSystemValue( 'files_versionmaxversions', Storage::DEFAULTMAXVERSIONS ) ) {
- $numberToDelete = count( $matches-\OCP\Config::getSystemValue( 'files_versionmaxversions', Storage::DEFAULTMAXVERSIONS ) );
+ $numberToDelete = count($matches) - \OCP\Config::getSystemValue( 'files_versionmaxversions', Storage::DEFAULTMAXVERSIONS );
// delete old versions of a file
$deleteItems = array_slice( $matches, 0, $numberToDelete );
@@ -306,6 +273,7 @@ class Storage {
* @return true/false
*/
public function expireAll() {
- return $this->view->deleteAll('', true);
+ $view = \OCP\Files::getStorage('files_versions');
+ return $view->deleteAll('', true);
}
}
diff --git a/apps/files_versions/templates/settings.php b/apps/files_versions/templates/settings.php
index 8682fc0f499..88063cb075b 100644
--- a/apps/files_versions/templates/settings.php
+++ b/apps/files_versions/templates/settings.php
@@ -1,5 +1,6 @@
<form id="versionssettings">
<fieldset class="personalblock">
- <input type="checkbox" name="versions" id="versions" value="1" <?php if (OCP\Config::getSystemValue('versions', 'true')=='true') echo ' checked="checked"'; ?> /> <label for="versions"><?php echo $l->t('Enable Files Versioning'); ?></label> <br/>
+ <legend><strong><?php echo $l->t('Files Versioning');?></strong></legend>
+ <input type="checkbox" name="versions" id="versions" value="1" <?php if (OCP\Config::getSystemValue('versions', 'true')=='true') echo ' checked="checked"'; ?> /> <label for="versions"><?php echo $l->t('Enable'); ?></label> <br/>
</fieldset>
</form>
diff --git a/apps/user_ldap/group_ldap.php b/apps/user_ldap/group_ldap.php
index 5ec259f6c47..389679b80bd 100644
--- a/apps/user_ldap/group_ldap.php
+++ b/apps/user_ldap/group_ldap.php
@@ -143,7 +143,7 @@ class GROUP_LDAP extends lib\Access implements \OCP\GroupInterface {
if(!empty($this->groupSearch)) {
$groupUsers = array_filter($groupUsers, array($this, 'groupMatchesFilter'));
}
- if($limit = -1) {
+ if($limit == -1) {
$limit = null;
}
return array_slice($groupUsers, $offset, $limit);
@@ -187,7 +187,7 @@ class GROUP_LDAP extends lib\Access implements \OCP\GroupInterface {
if(!empty($this->groupSearch)) {
$groupUsers = array_filter($groupUsers, array($this, 'groupMatchesFilter'));
}
- if($limit = -1) {
+ if($limit == -1) {
$limit = null;
}
return array_slice($groupUsers, $offset, $limit);
diff --git a/apps/user_ldap/l10n/da.php b/apps/user_ldap/l10n/da.php
index f01c7b71108..f0589b33a93 100644
--- a/apps/user_ldap/l10n/da.php
+++ b/apps/user_ldap/l10n/da.php
@@ -1,5 +1,6 @@
<?php $TRANSLATIONS = array(
"Host" => "Host",
+"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Du kan udelade protokollen, medmindre du skal bruge SSL. Start i så fald med ldaps://",
"Base DN" => "Base DN",
"Password" => "Kodeord",
"Port" => "Port",
diff --git a/apps/user_ldap/l10n/de.php b/apps/user_ldap/l10n/de.php
index 2c178d0b4fd..df676711792 100644
--- a/apps/user_ldap/l10n/de.php
+++ b/apps/user_ldap/l10n/de.php
@@ -24,7 +24,7 @@
"Do not use it for SSL connections, it will fail." => "Verwenden Sie es nicht für SSL-Verbindungen, es wird fehlschlagen.",
"Case insensitve LDAP server (Windows)" => "LDAP-Server (Windows: Groß- und Kleinschreibung bleibt unbeachtet)",
"Turn off SSL certificate validation." => "Schalte die SSL-Zertifikatsprüfung aus.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Falls die Verbindung es erfordert, wird das SSL-Zertifikat des LDAP-Server importiert werden.",
+"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Falls die Verbindung es erfordert, muss das SSL-Zertifikat des LDAP-Server importiert werden.",
"Not recommended, use for testing only." => "Nicht empfohlen, nur zu Testzwecken.",
"User Display Name Field" => "Feld für den Anzeigenamen des Benutzers",
"The LDAP attribute to use to generate the user`s ownCloud name." => "Das LDAP-Attribut für die Generierung des Benutzernamens in ownCloud. ",
diff --git a/apps/user_ldap/l10n/el.php b/apps/user_ldap/l10n/el.php
index 2f3c747a672..1bb72f163a7 100644
--- a/apps/user_ldap/l10n/el.php
+++ b/apps/user_ldap/l10n/el.php
@@ -1,6 +1,17 @@
<?php $TRANSLATIONS = array(
+"Base DN" => "Base DN",
+"User DN" => "User DN",
"Password" => "Συνθηματικό",
+"User Login Filter" => "User Login Filter",
+"User List Filter" => "User List Filter",
+"Group Filter" => "Group Filter",
"Port" => "Θύρα",
+"Base User Tree" => "Base User Tree",
+"Base Group Tree" => "Base Group Tree",
+"Group-Member association" => "Group-Member association",
+"Use TLS" => "Χρήση TLS",
+"User Display Name Field" => "User Display Name Field",
+"Group Display Name Field" => "Group Display Name Field",
"in bytes" => "σε bytes",
"Help" => "Βοήθεια"
);
diff --git a/apps/user_ldap/l10n/es_AR.php b/apps/user_ldap/l10n/es_AR.php
new file mode 100644
index 00000000000..6bd452e9d90
--- /dev/null
+++ b/apps/user_ldap/l10n/es_AR.php
@@ -0,0 +1,37 @@
+<?php $TRANSLATIONS = array(
+"Host" => "Servidor",
+"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Podés omitir el protocolo, excepto si SSL es requerido. En ese caso, empezá con ldaps://",
+"Base DN" => "DN base",
+"You can specify Base DN for users and groups in the Advanced tab" => "Podés especificar el DN base para usuarios y grupos en la pestaña \"Avanzado\"",
+"User DN" => "DN usuario",
+"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "El DN del usuario cliente con el que se hará la asociación, p.ej. uid=agente,dc=ejemplo,dc=com. Para acceso anónimo, dejá DN y contraseña vacíos.",
+"Password" => "Contraseña",
+"For anonymous access, leave DN and Password empty." => "Para acceso anónimo, dejá DN y contraseña vacíos.",
+"User Login Filter" => "Filtro de inicio de sesión de usuario",
+"Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action." => "Define el filtro a aplicar cuando se ha realizado un login. %%uid remplazará el nombre de usuario en el proceso de inicio de sesión.",
+"use %%uid placeholder, e.g. \"uid=%%uid\"" => "usar %%uid como plantilla, p. ej.: \"uid=%%uid\"",
+"User List Filter" => "Lista de filtros de usuario",
+"Defines the filter to apply, when retrieving users." => "Define el filtro a aplicar, cuando se obtienen usuarios.",
+"without any placeholder, e.g. \"objectClass=person\"." => "Sin plantilla, p. ej.: \"objectClass=person\".",
+"Group Filter" => "Filtro de grupo",
+"Defines the filter to apply, when retrieving groups." => "Define el filtro a aplicar cuando se obtienen grupos.",
+"without any placeholder, e.g. \"objectClass=posixGroup\"." => "Sin ninguna plantilla, p. ej.: \"objectClass=posixGroup\".",
+"Port" => "Puerto",
+"Base User Tree" => "Árbol base de usuario",
+"Base Group Tree" => "Árbol base de grupo",
+"Group-Member association" => "Asociación Grupo-Miembro",
+"Use TLS" => "Usar TLS",
+"Do not use it for SSL connections, it will fail." => "No usarlo para SSL, dará error.",
+"Case insensitve LDAP server (Windows)" => "Servidor de LDAP sensible a mayúsculas/minúsculas (Windows)",
+"Turn off SSL certificate validation." => "Desactivar la validación por certificado SSL.",
+"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Si la conexión sólo funciona con esta opción, importá el certificado SSL del servidor LDAP en tu servidor ownCloud.",
+"Not recommended, use for testing only." => "No recomendado, sólo para pruebas.",
+"User Display Name Field" => "Campo de nombre de usuario a mostrar",
+"The LDAP attribute to use to generate the user`s ownCloud name." => "El atributo LDAP a usar para generar el nombre de usuario de ownCloud.",
+"Group Display Name Field" => "Campo de nombre de grupo a mostrar",
+"The LDAP attribute to use to generate the groups`s ownCloud name." => "El atributo LDAP a usar para generar el nombre de los grupos de ownCloud.",
+"in bytes" => "en bytes",
+"in seconds. A change empties the cache." => "en segundos. Cambiarlo vacía la cache.",
+"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Vacío para el nombre de usuario (por defecto). En otro caso, especificá un atributo LDAP/AD.",
+"Help" => "Ayuda"
+);
diff --git a/apps/user_ldap/l10n/et_EE.php b/apps/user_ldap/l10n/et_EE.php
index d62e1212dc7..f83142225e2 100644
--- a/apps/user_ldap/l10n/et_EE.php
+++ b/apps/user_ldap/l10n/et_EE.php
@@ -1,9 +1,31 @@
<?php $TRANSLATIONS = array(
"Host" => "Host",
+"Base DN" => "Baas DN",
+"User DN" => "Kasutaja DN",
"Password" => "Parool",
+"User Login Filter" => "Kasutajanime filter",
+"use %%uid placeholder, e.g. \"uid=%%uid\"" => "kasuta %%uid kohatäitjat, nt. \"uid=%%uid\"",
+"User List Filter" => "Kasutajate nimekirja filter",
+"Defines the filter to apply, when retrieving users." => "Määrab kasutajaid hankides filtri, mida rakendatakse.",
+"without any placeholder, e.g. \"objectClass=person\"." => "ilma ühegi kohatäitjata, nt. \"objectClass=person\".",
"Group Filter" => "Grupi filter",
+"Defines the filter to apply, when retrieving groups." => "Määrab gruppe hankides filtri, mida rakendatakse.",
+"without any placeholder, e.g. \"objectClass=posixGroup\"." => "ilma ühegi kohatäitjata, nt. \"objectClass=posixGroup\".",
"Port" => "Port",
+"Base User Tree" => "Baaskasutaja puu",
+"Base Group Tree" => "Baasgrupi puu",
+"Group-Member association" => "Grupiliikme seotus",
"Use TLS" => "Kasutaja TLS",
+"Do not use it for SSL connections, it will fail." => "Ära kasuta seda SSL ühenduse jaoks, see ei toimi.",
+"Case insensitve LDAP server (Windows)" => "Mittetõstutundlik LDAP server (Windows)",
+"Turn off SSL certificate validation." => "Lülita SSL sertifikaadi kontrollimine välja.",
+"Not recommended, use for testing only." => "Pole soovitatav, kasuta ainult testimiseks.",
+"User Display Name Field" => "Kasutaja näidatava nime väli",
+"The LDAP attribute to use to generate the user`s ownCloud name." => "LDAP omadus, mida kasutatakse kasutaja ownCloudi nime loomiseks.",
+"Group Display Name Field" => "Grupi näidatava nime väli",
+"The LDAP attribute to use to generate the groups`s ownCloud name." => "LDAP omadus, mida kasutatakse ownCloudi grupi nime loomiseks.",
"in bytes" => "baitides",
+"in seconds. A change empties the cache." => "sekundites. Muudatus tühjendab vahemälu.",
+"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Kasutajanime (vaikeväärtus) kasutamiseks jäta tühjaks. Vastasel juhul määra LDAP/AD omadus.",
"Help" => "Abiinfo"
);
diff --git a/apps/user_ldap/l10n/pt_BR.php b/apps/user_ldap/l10n/pt_BR.php
new file mode 100644
index 00000000000..18eed6d0142
--- /dev/null
+++ b/apps/user_ldap/l10n/pt_BR.php
@@ -0,0 +1,37 @@
+<?php $TRANSLATIONS = array(
+"Host" => "Host",
+"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Você pode omitir o protocolo, exceto quando requerer SSL. Então inicie com ldaps://",
+"Base DN" => "DN Base",
+"You can specify Base DN for users and groups in the Advanced tab" => "Você pode especificar DN Base para usuários e grupos na guia Avançada",
+"User DN" => "DN Usuário",
+"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "O DN do cliente usuário com qual a ligação deverá ser feita, ex. uid=agent,dc=example,dc=com. Para acesso anônimo, deixe DN e Senha vazios.",
+"Password" => "Senha",
+"For anonymous access, leave DN and Password empty." => "Para acesso anônimo, deixe DN e Senha vazios.",
+"User Login Filter" => "Filtro de Login de Usuário",
+"Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action." => "Define o filtro pra aplicar ao efetuar uma tentativa de login. %%uuid substitui o nome de usuário na ação de login.",
+"use %%uid placeholder, e.g. \"uid=%%uid\"" => "use %%uid placeholder, ex. \"uid=%%uid\"",
+"User List Filter" => "Filtro de Lista de Usuário",
+"Defines the filter to apply, when retrieving users." => "Define filtro a aplicar ao obter usuários.",
+"without any placeholder, e.g. \"objectClass=person\"." => "sem nenhum espaço reservado, ex. \"objectClass=person\".",
+"Group Filter" => "Filtro de Grupo",
+"Defines the filter to apply, when retrieving groups." => "Define o filtro a aplicar ao obter grupos.",
+"without any placeholder, e.g. \"objectClass=posixGroup\"." => "sem nenhum espaço reservado, ex. \"objectClass=posixGroup\"",
+"Port" => "Porta",
+"Base User Tree" => "Árvore de Usuário Base",
+"Base Group Tree" => "Árvore de Grupo Base",
+"Group-Member association" => "Associação Grupo-Membro",
+"Use TLS" => "Usar TLS",
+"Do not use it for SSL connections, it will fail." => "Não use-o para conexões SSL, pois falhará.",
+"Case insensitve LDAP server (Windows)" => "Servidor LDAP sensível à caixa alta (Windows)",
+"Turn off SSL certificate validation." => "Desligar validação de certificado SSL.",
+"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Se a conexão só funciona com essa opção, importe o certificado SSL do servidor LDAP no seu servidor ownCloud.",
+"Not recommended, use for testing only." => "Não recomendado, use somente para testes.",
+"User Display Name Field" => "Campo Nome de Exibição de Usuário",
+"The LDAP attribute to use to generate the user`s ownCloud name." => "O atributo LDAP para usar para gerar nome ownCloud do usuário.",
+"Group Display Name Field" => "Campo Nome de Exibição de Grupo",
+"The LDAP attribute to use to generate the groups`s ownCloud name." => "O atributo LDAP para usar para gerar nome ownCloud do grupo.",
+"in bytes" => "em bytes",
+"in seconds. A change empties the cache." => "em segundos. Uma mudança esvaziará o cache.",
+"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Deixe vazio para nome de usuário (padrão). Caso contrário, especifique um atributo LDAP/AD.",
+"Help" => "Ajuda"
+);
diff --git a/apps/user_ldap/l10n/ru_RU.php b/apps/user_ldap/l10n/ru_RU.php
new file mode 100644
index 00000000000..68f385358d9
--- /dev/null
+++ b/apps/user_ldap/l10n/ru_RU.php
@@ -0,0 +1,22 @@
+<?php $TRANSLATIONS = array(
+"Host" => "Хост",
+"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Вы можете пропустить протокол, если Вам не требуется SSL. Затем начните с ldaps://",
+"Base DN" => "База DN",
+"User DN" => "DN пользователя",
+"Password" => "Пароль",
+"For anonymous access, leave DN and Password empty." => "Для анонимного доступа оставьте поля DN и пароль пустыми.",
+"use %%uid placeholder, e.g. \"uid=%%uid\"" => "используйте %%uid заполнитель, например, \"uid=%%uid\"",
+"without any placeholder, e.g. \"objectClass=person\"." => "без каких-либо заполнителей, например, \"objectClass=person\".",
+"Group Filter" => "Групповой фильтр",
+"without any placeholder, e.g. \"objectClass=posixGroup\"." => "без каких-либо заполнителей, например, \"objectClass=posixGroup\".",
+"Port" => "Порт",
+"Use TLS" => "Использовать TLS",
+"Do not use it for SSL connections, it will fail." => "Не используйте это SSL-соединений, это не будет выполнено.",
+"Turn off SSL certificate validation." => "Выключить проверку сертификата SSL.",
+"Not recommended, use for testing only." => "Не рекомендовано, используйте только для тестирования.",
+"The LDAP attribute to use to generate the user`s ownCloud name." => "Атрибут LDAP, используемый для создания имени пользователя в ownCloud.",
+"The LDAP attribute to use to generate the groups`s ownCloud name." => "Атрибут LDAP, используемый для создания группового имени в ownCloud.",
+"in bytes" => "в байтах",
+"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Оставьте пустым под имя пользователя (по умолчанию). В противном случае задайте LDAP/AD атрибут.",
+"Help" => "Помощь"
+);
diff --git a/apps/user_ldap/l10n/uk.php b/apps/user_ldap/l10n/uk.php
new file mode 100644
index 00000000000..fd6a88d2372
--- /dev/null
+++ b/apps/user_ldap/l10n/uk.php
@@ -0,0 +1,4 @@
+<?php $TRANSLATIONS = array(
+"Password" => "Пароль",
+"Help" => "Допомога"
+);
diff --git a/apps/user_ldap/l10n/vi.php b/apps/user_ldap/l10n/vi.php
new file mode 100644
index 00000000000..7a6ac2665c6
--- /dev/null
+++ b/apps/user_ldap/l10n/vi.php
@@ -0,0 +1,13 @@
+<?php $TRANSLATIONS = array(
+"Host" => "Máy chủ",
+"Password" => "Mật khẩu",
+"Port" => "Cổng",
+"Use TLS" => "Sử dụng TLS",
+"Turn off SSL certificate validation." => "Tắt xác thực chứng nhận SSL",
+"Not recommended, use for testing only." => "Không khuyến khích, Chỉ sử dụng để thử nghiệm.",
+"User Display Name Field" => "Hiển thị tên người sử dụng",
+"Group Display Name Field" => "Hiển thị tên nhóm",
+"in bytes" => "Theo Byte",
+"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Để trống tên người dùng (mặc định). Nếu không chỉ định thuộc tính LDAP/AD",
+"Help" => "Giúp đỡ"
+);
diff --git a/apps/user_ldap/l10n/zh_CN.GB2312.php b/apps/user_ldap/l10n/zh_CN.GB2312.php
new file mode 100644
index 00000000000..8b906aea5ce
--- /dev/null
+++ b/apps/user_ldap/l10n/zh_CN.GB2312.php
@@ -0,0 +1,37 @@
+<?php $TRANSLATIONS = array(
+"Host" => "主机",
+"You can omit the protocol, except you require SSL. Then start with ldaps://" => "您可以忽略协议,除非您需要 SSL。然后用 ldaps:// 开头",
+"Base DN" => "基本判别名",
+"You can specify Base DN for users and groups in the Advanced tab" => "您可以在高级选项卡中为用户和群组指定基本判别名",
+"User DN" => "用户判别名",
+"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "客户机用户的判别名,将用于绑定,例如 uid=agent, dc=example, dc=com。匿名访问请留空判别名和密码。",
+"Password" => "密码",
+"For anonymous access, leave DN and Password empty." => "匿名访问请留空判别名和密码。",
+"User Login Filter" => "用户登录过滤器",
+"Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action." => "定义尝试登录时要应用的过滤器。用 %%uid 替换登录操作中使用的用户名。",
+"use %%uid placeholder, e.g. \"uid=%%uid\"" => "使用 %%uid 占位符,例如 \"uid=%%uid\"",
+"User List Filter" => "用户列表过滤器",
+"Defines the filter to apply, when retrieving users." => "定义撷取用户时要应用的过滤器。",
+"without any placeholder, e.g. \"objectClass=person\"." => "不能使用占位符,例如 \"objectClass=person\"。",
+"Group Filter" => "群组过滤器",
+"Defines the filter to apply, when retrieving groups." => "定义撷取群组时要应用的过滤器",
+"without any placeholder, e.g. \"objectClass=posixGroup\"." => "不能使用占位符,例如 \"objectClass=posixGroup\"。",
+"Port" => "端口",
+"Base User Tree" => "基本用户树",
+"Base Group Tree" => "基本群组树",
+"Group-Member association" => "群组-成员组合",
+"Use TLS" => "使用 TLS",
+"Do not use it for SSL connections, it will fail." => "不要使用它进行 SSL 连接,会失败的。",
+"Case insensitve LDAP server (Windows)" => "大小写不敏感的 LDAP 服务器 (Windows)",
+"Turn off SSL certificate validation." => "关闭 SSL 证书校验。",
+"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "如果只有使用此选项才能连接,请导入 LDAP 服务器的 SSL 证书到您的 ownCloud 服务器。",
+"Not recommended, use for testing only." => "不推荐,仅供测试",
+"User Display Name Field" => "用户显示名称字段",
+"The LDAP attribute to use to generate the user`s ownCloud name." => "用于生成用户的 ownCloud 名称的 LDAP 属性。",
+"Group Display Name Field" => "群组显示名称字段",
+"The LDAP attribute to use to generate the groups`s ownCloud name." => "用于生成群组的 ownCloud 名称的 LDAP 属性。",
+"in bytes" => "以字节计",
+"in seconds. A change empties the cache." => "以秒计。修改会清空缓存。",
+"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "用户名请留空 (默认)。否则,请指定一个 LDAP/AD 属性。",
+"Help" => "帮助"
+);
diff --git a/apps/user_ldap/l10n/zh_CN.php b/apps/user_ldap/l10n/zh_CN.php
new file mode 100644
index 00000000000..5f6200db404
--- /dev/null
+++ b/apps/user_ldap/l10n/zh_CN.php
@@ -0,0 +1,9 @@
+<?php $TRANSLATIONS = array(
+"Host" => "主机",
+"Base DN" => "Base DN",
+"You can specify Base DN for users and groups in the Advanced tab" => "您可以在高级选项卡里为用户和组指定Base DN",
+"User DN" => "User DN",
+"Password" => "密码",
+"Port" => "端口",
+"Help" => "帮助"
+);
diff --git a/apps/user_ldap/lib/access.php b/apps/user_ldap/lib/access.php
index 089548a69ba..d855ae2a163 100644
--- a/apps/user_ldap/lib/access.php
+++ b/apps/user_ldap/lib/access.php
@@ -206,21 +206,17 @@ abstract class Access {
$dn = $this->sanitizeDN($dn);
$table = $this->getMapTable($isUser);
if($isUser) {
+ $fncFindMappedName = 'findMappedUser';
$nameAttribute = $this->connection->ldapUserDisplayName;
} else {
+ $fncFindMappedName = 'findMappedGroup';
$nameAttribute = $this->connection->ldapGroupDisplayName;
}
- $query = \OCP\DB::prepare('
- SELECT `owncloud_name`
- FROM `'.$table.'`
- WHERE `ldap_dn` = ?
- ');
-
//let's try to retrieve the ownCloud name from the mappings table
- $component = $query->execute(array($dn))->fetchOne();
- if($component) {
- return $component;
+ $ocname = $this->$fncFindMappedName($dn);
+ if($ocname) {
+ return $ocname;
}
//second try: get the UUID and check if it is known. Then, update the DN and return the name.
@@ -295,25 +291,48 @@ abstract class Access {
return $this->ldap2ownCloudNames($ldapGroups, false);
}
+ private function findMappedUser($dn) {
+ static $query = null;
+ if(is_null($query)) {
+ $query = \OCP\DB::prepare('
+ SELECT `owncloud_name`
+ FROM `'.$this->getMapTable(true).'`
+ WHERE `ldap_dn` = ?'
+ );
+ }
+ $res = $query->execute(array($dn))->fetchOne();
+ if($res) {
+ return $res;
+ }
+ return false;
+ }
+
+ private function findMappedGroup($dn) {
+ static $query = null;
+ if(is_null($query)) {
+ $query = \OCP\DB::prepare('
+ SELECT `owncloud_name`
+ FROM `'.$this->getMapTable(false).'`
+ WHERE `ldap_dn` = ?'
+ );
+ }
+ $res = $query->execute(array($dn))->fetchOne();
+ if($res) {
+ return $res;
+ }
+ return false;
+ }
+
+
private function ldap2ownCloudNames($ldapObjects, $isUsers) {
if($isUsers) {
- $knownObjects = $this->mappedUsers();
$nameAttribute = $this->connection->ldapUserDisplayName;
} else {
- $knownObjects = $this->mappedGroups();
$nameAttribute = $this->connection->ldapGroupDisplayName;
}
$ownCloudNames = array();
foreach($ldapObjects as $ldapObject) {
- $key = \OCP\Util::recursiveArraySearch($knownObjects, $ldapObject['dn']);
-
- //everything is fine when we know the group
- if($key !== false) {
- $ownCloudNames[] = $knownObjects[$key]['owncloud_name'];
- continue;
- }
-
$ocname = $this->dn2ocname($ldapObject['dn'], $ldapObject[$nameAttribute], $isUsers);
if($ocname) {
$ownCloudNames[] = $ocname;
@@ -385,7 +404,7 @@ abstract class Access {
$sqlAdjustment = '';
$dbtype = \OCP\Config::getSystemValue('dbtype');
if($dbtype == 'mysql') {
- $sqlAdjustment = 'FROM `dual`';
+ $sqlAdjustment = 'FROM DUAL';
}
$insert = \OCP\DB::prepare('
diff --git a/apps/user_ldap/lib/connection.php b/apps/user_ldap/lib/connection.php
index 1922e7ff1f2..bf65d9ad91c 100644
--- a/apps/user_ldap/lib/connection.php
+++ b/apps/user_ldap/lib/connection.php
@@ -258,7 +258,7 @@ class Connection {
if(empty($this->config['ldapGroupFilter']) && empty($this->config['ldapGroupMemberAssocAttr'])) {
\OCP\Util::writeLog('user_ldap', 'No group filter is specified, LDAP group feature will not be used.', \OCP\Util::INFO);
}
- if(!in_array($this->config['ldapUuidAttribute'], array('auto','entryuuid', 'nsuniqueid', 'objectguid'))) {
+ if(!in_array($this->config['ldapUuidAttribute'], array('auto','entryuuid', 'nsuniqueid', 'objectguid')) && (!is_null($this->configID))) {
\OCP\Config::setAppValue($this->configID, 'ldap_uuid_attribute', 'auto');
\OCP\Util::writeLog('user_ldap', 'Illegal value for the UUID Attribute, reset to autodetect.', \OCP\Util::INFO);
}
@@ -357,4 +357,4 @@ class Connection {
return true;
}
-} \ No newline at end of file
+}
diff --git a/apps/user_ldap/lib/jobs.php b/apps/user_ldap/lib/jobs.php
index aff519226c8..b265a8339ef 100644
--- a/apps/user_ldap/lib/jobs.php
+++ b/apps/user_ldap/lib/jobs.php
@@ -43,7 +43,7 @@ class Jobs {
if(empty($actualGroups) && empty($knownGroups)) {
\OCP\Util::writeLog('user_ldap', 'bgJ "updateGroups" – groups do not seem to be configured properly, aborting.', \OCP\Util::INFO);
- \OCP\setAppValue('user_ldap', 'bgjUpdateGroupsLastRun', time());
+ \OCP\Config::setAppValue('user_ldap', 'bgjUpdateGroupsLastRun', time());
return;
}
diff --git a/apps/user_ldap/user_ldap.php b/apps/user_ldap/user_ldap.php
index bacdb8b9ae1..53a65129108 100644
--- a/apps/user_ldap/user_ldap.php
+++ b/apps/user_ldap/user_ldap.php
@@ -111,7 +111,7 @@ class USER_LDAP extends lib\Access implements \OCP\UserInterface {
if(!empty($this->userSearch)) {
$ldap_users = array_filter($ldap_users, array($this, 'userMatchesFilter'));
}
- if($limit = -1) {
+ if($limit == -1) {
$limit = null;
}
return array_slice($ldap_users, $offset, $limit);