diff options
author | Bart Visscher <bartv@thisnet.nl> | 2012-09-28 15:38:49 +0200 |
---|---|---|
committer | Bart Visscher <bartv@thisnet.nl> | 2012-09-28 15:38:49 +0200 |
commit | bf1057143cdff8ec289d9d766ab100d64d7ea45d (patch) | |
tree | 6c35d0d99a72f27a981a07c93f0ecbf600764cd4 /apps | |
parent | 3efe1d3b24e65ed76d521c24b0cfe4e0ff2e7af5 (diff) | |
parent | 5144d26088b98685a37c73c776a9a47203efa68a (diff) | |
download | nextcloud-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')
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(/</, '<').replace(/>/, '>')+'/'+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"> <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> – <?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> – <?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); |