diff options
author | Robin Appelman <icewind@owncloud.com> | 2012-10-30 22:59:55 +0100 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2012-10-30 22:59:55 +0100 |
commit | 6e9e2634978f08494a13bb3c5185032fc0ed7792 (patch) | |
tree | 8f0cf5eef65c29715c84b2c253834a2fa047bbd7 /apps/files | |
parent | 890fbb82993db294489fb6ecf14d91d7652763d1 (diff) | |
parent | 6738275b01abf514d32171da604da8d63a2808e0 (diff) | |
download | nextcloud-server-6e9e2634978f08494a13bb3c5185032fc0ed7792.tar.gz nextcloud-server-6e9e2634978f08494a13bb3c5185032fc0ed7792.zip |
merge master into filesystem
Diffstat (limited to 'apps/files')
-rw-r--r-- | apps/files/ajax/move.php | 4 | ||||
-rw-r--r-- | apps/files/ajax/timezone.php | 5 | ||||
-rw-r--r-- | apps/files/appinfo/remote.php | 4 | ||||
-rw-r--r-- | apps/files/index.php | 2 | ||||
-rw-r--r-- | apps/files/js/fileactions.js | 208 | ||||
-rw-r--r-- | apps/files/js/files.js | 8 | ||||
-rw-r--r-- | apps/files/l10n/de.php | 2 | ||||
-rw-r--r-- | apps/files/l10n/de_DE.php | 26 | ||||
-rw-r--r-- | apps/files/l10n/th_TH.php | 14 |
9 files changed, 137 insertions, 136 deletions
diff --git a/apps/files/ajax/move.php b/apps/files/ajax/move.php index e8b0aea063f..d4eacd962a0 100644 --- a/apps/files/ajax/move.php +++ b/apps/files/ajax/move.php @@ -9,9 +9,9 @@ OCP\JSON::callCheck(); // Get data $dir = stripslashes($_GET["dir"]); $file = stripslashes($_GET["file"]); -$target = stripslashes(urldecode($_GET["target"])); +$target = stripslashes(rawurldecode($_GET["target"])); -if (OC_User::isLoggedIn() && ($dir != '' || $file != 'Shared')) { +if ($dir != '' || $file != 'Shared') { $targetFile = \OC\Files\Filesystem::normalizePath($dir . '/' . $file); $sourceFile = \OC\Files\Filesystem::normalizePath($target . '/' . $file); if(\OC\Files\Filesystem::rename($sourceFile, $targetFile)) { diff --git a/apps/files/ajax/timezone.php b/apps/files/ajax/timezone.php index b71fa3940cb..b547d162b3e 100644 --- a/apps/files/ajax/timezone.php +++ b/apps/files/ajax/timezone.php @@ -1,5 +1,2 @@ <?php - // FIXME: this should start a secure session if forcessl is enabled - // see lib/base.php for an example - //session_start(); - $_SESSION['timezone'] = $_GET['time']; +$_SESSION['timezone'] = $_GET['time']; diff --git a/apps/files/appinfo/remote.php b/apps/files/appinfo/remote.php index a84216b61b7..9c7b9ab6d5b 100644 --- a/apps/files/appinfo/remote.php +++ b/apps/files/appinfo/remote.php @@ -23,7 +23,7 @@ * */ // only need filesystem apps -$RUNTIME_APPTYPES=array('filesystem','authentication'); +$RUNTIME_APPTYPES=array('filesystem', 'authentication'); OC_App::loadApps($RUNTIME_APPTYPES); // Backends @@ -38,7 +38,7 @@ $server = new Sabre_DAV_Server($publicDir); $server->setBaseUri($baseuri); // Load plugins -$server->addPlugin(new Sabre_DAV_Auth_Plugin($authBackend,'ownCloud')); +$server->addPlugin(new Sabre_DAV_Auth_Plugin($authBackend, 'ownCloud')); $server->addPlugin(new Sabre_DAV_Locks_Plugin($lockBackend)); $server->addPlugin(new Sabre_DAV_Browser_Plugin(false)); // Show something in the Browser, but no upload diff --git a/apps/files/index.php b/apps/files/index.php index 43a559d034e..cdb88ab83f2 100644 --- a/apps/files/index.php +++ b/apps/files/index.php @@ -36,7 +36,7 @@ if(!isset($_SESSION['timezone'])) { } OCP\App::setActiveNavigationEntry( 'files_index' ); // Load the files -$dir = isset( $_GET['dir'] ) ? urldecode(stripslashes($_GET['dir'])) : ''; +$dir = isset( $_GET['dir'] ) ? rawurldecode(stripslashes($_GET['dir'])) : ''; // Redirect if directory does not exist if(!\OC\Files\Filesystem::is_dir($dir.'/')) { header('Location: '.$_SERVER['SCRIPT_NAME'].''); diff --git a/apps/files/js/fileactions.js b/apps/files/js/fileactions.js index 1cf80352bef..82d990bf780 100644 --- a/apps/files/js/fileactions.js +++ b/apps/files/js/fileactions.js @@ -1,191 +1,189 @@ -var FileActions={ - actions:{}, - defaults:{}, - icons:{}, - currentFile:null, - register:function(mime,name,permissions,icon,action){ - if(!FileActions.actions[mime]){ - FileActions.actions[mime]={}; +var FileActions = { + actions: {}, + defaults: {}, + icons: {}, + currentFile: null, + register: function (mime, name, permissions, icon, action) { + if (!FileActions.actions[mime]) { + FileActions.actions[mime] = {}; } if (!FileActions.actions[mime][name]) { FileActions.actions[mime][name] = {}; } FileActions.actions[mime][name]['action'] = action; FileActions.actions[mime][name]['permissions'] = permissions; - FileActions.icons[name]=icon; + FileActions.icons[name] = icon; }, - setDefault:function(mime,name){ - FileActions.defaults[mime]=name; + setDefault: function (mime, name) { + FileActions.defaults[mime] = name; }, - get:function(mime,type,permissions){ - var actions={}; - if(FileActions.actions.all){ - actions=$.extend( actions, FileActions.actions.all ); + get: function (mime, type, permissions) { + var actions = {}; + if (FileActions.actions.all) { + actions = $.extend(actions, FileActions.actions.all); } - if(mime){ - if(FileActions.actions[mime]){ - actions=$.extend( actions, FileActions.actions[mime] ); + if (mime) { + if (FileActions.actions[mime]) { + actions = $.extend(actions, FileActions.actions[mime]); } - var mimePart=mime.substr(0,mime.indexOf('/')); - if(FileActions.actions[mimePart]){ - actions=$.extend( actions, FileActions.actions[mimePart] ); + var mimePart = mime.substr(0, mime.indexOf('/')); + if (FileActions.actions[mimePart]) { + actions = $.extend(actions, FileActions.actions[mimePart]); } } - if(type){//type is 'dir' or 'file' - if(FileActions.actions[type]){ - actions=$.extend( actions, FileActions.actions[type] ); + if (type) {//type is 'dir' or 'file' + if (FileActions.actions[type]) { + actions = $.extend(actions, FileActions.actions[type]); } } var filteredActions = {}; - $.each(actions, function(name, action) { + $.each(actions, function (name, action) { if (action.permissions & permissions) { filteredActions[name] = action.action; } }); return filteredActions; }, - getDefault:function(mime,type,permissions){ - if(mime){ - var mimePart=mime.substr(0,mime.indexOf('/')); + getDefault: function (mime, type, permissions) { + if (mime) { + var mimePart = mime.substr(0, mime.indexOf('/')); } - var name=false; - if(mime && FileActions.defaults[mime]){ - name=FileActions.defaults[mime]; - }else if(mime && FileActions.defaults[mimePart]){ - name=FileActions.defaults[mimePart]; - }else if(type && FileActions.defaults[type]){ - name=FileActions.defaults[type]; - }else{ - name=FileActions.defaults.all; + var name = false; + if (mime && FileActions.defaults[mime]) { + name = FileActions.defaults[mime]; + } else if (mime && FileActions.defaults[mimePart]) { + name = FileActions.defaults[mimePart]; + } else if (type && FileActions.defaults[type]) { + name = FileActions.defaults[type]; + } else { + name = FileActions.defaults.all; } - var actions=this.get(mime,type,permissions); + var actions = this.get(mime, type, permissions); return actions[name]; }, - display:function(parent){ - FileActions.currentFile=parent; - $('#fileList span.fileactions, #fileList td.date a.action').remove(); - var actions=FileActions.get(FileActions.getCurrentMimeType(),FileActions.getCurrentType(), FileActions.getCurrentPermissions()); - var file=FileActions.getCurrentFile(); - if($('tr').filterAttr('data-file',file).data('renaming')){ + display: function (parent) { + FileActions.currentFile = parent; + var actions = FileActions.get(FileActions.getCurrentMimeType(), FileActions.getCurrentType(), FileActions.getCurrentPermissions()); + var file = FileActions.getCurrentFile(); + if ($('tr').filterAttr('data-file', file).data('renaming')) { return; } parent.children('a.name').append('<span class="fileactions" />'); - var defaultAction=FileActions.getDefault(FileActions.getCurrentMimeType(),FileActions.getCurrentType(), FileActions.getCurrentPermissions()); - for(name in actions){ + var defaultAction = FileActions.getDefault(FileActions.getCurrentMimeType(), FileActions.getCurrentType(), FileActions.getCurrentPermissions()); + for (name in actions) { // NOTE: Temporary fix to prevent rename action in root of Shared directory - if (name == 'Rename' && $('#dir').val() == '/Shared') { + if (name === 'Rename' && $('#dir').val() === '/Shared') { continue; } - if((name=='Download' || actions[name]!=defaultAction) && name!='Delete'){ - var img=FileActions.icons[name]; - if(img.call){ - img=img(file); + if ((name === 'Download' || actions[name] !== defaultAction) && name !== 'Delete') { + var img = FileActions.icons[name]; + if (img.call) { + img = img(file); } - var html='<a href="#" class="action" style="display:none">'; - if(img) { html+='<img src="'+img+'"/> '; } - html += t('files', name) +'</a>'; - var element=$(html); - element.data('action',name); - element.click(function(event){ + var html = '<a href="#" class="action" data-action="'+name+'">'; + if (img) { + html += '<img class ="svg" src="' + img + '"/> '; + } + html += t('files', name) + '</a>'; + var element = $(html); + element.data('action', name); + element.click(function (event) { + FileActions.currentFile = $(this).parent().parent().parent(); event.stopPropagation(); event.preventDefault(); - var action=actions[$(this).data('action')]; - var currentFile=FileActions.getCurrentFile(); - FileActions.hide(); + var action = actions[$(this).data('action')]; + var currentFile = FileActions.getCurrentFile(); action(currentFile); }); - element.hide(); parent.find('a.name>span.fileactions').append(element); } } - if(actions['Delete']){ - var img=FileActions.icons['Delete']; - if(img.call){ - img=img(file); + if (actions['Delete']) { + var img = FileActions.icons['Delete']; + if (img.call) { + img = img(file); } // NOTE: Temporary fix to allow unsharing of files in root of Shared folder if ($('#dir').val() == '/Shared') { - var html = '<a href="#" original-title="' + t('files', 'Unshare') + '" class="action delete" style="display:none" />'; + var html = '<a href="#" original-title="' + t('files', 'Unshare') + '" class="action delete" />'; } else { - var html='<a href="#" original-title="' + t('files', 'Delete') + '" class="action delete" style="display:none" />'; + var html = '<a href="#" original-title="' + t('files', 'Delete') + '" class="action delete" />'; } - var element=$(html); - if(img){ - element.append($('<img src="'+img+'"/>')); + var element = $(html); + if (img) { + element.append($('<img class ="svg" src="' + img + '"/>')); } - element.data('action','Delete'); - element.click(function(event){ + element.data('action', 'Delete'); + element.click(function (event) { event.stopPropagation(); event.preventDefault(); - var action=actions[$(this).data('action')]; - var currentFile=FileActions.getCurrentFile(); - FileActions.hide(); + var action = actions[$(this).data('action')]; + var currentFile = FileActions.getCurrentFile(); action(currentFile); }); - element.hide(); parent.parent().children().last().append(element); } - $('#fileList .action').css('-o-transition-property','none');//temporarly disable - $('#fileList .action').fadeIn(200,function(){ - $('#fileList .action').css('-o-transition-property','opacity'); - }); - return false; - }, - hide:function(){ - $('#fileList span.fileactions, #fileList td.date a.action').fadeOut(200,function(){ - $(this).remove(); - }); }, - getCurrentFile:function(){ + getCurrentFile: function () { return FileActions.currentFile.parent().attr('data-file'); }, - getCurrentMimeType:function(){ + getCurrentMimeType: function () { return FileActions.currentFile.parent().attr('data-mime'); }, - getCurrentType:function(){ + getCurrentType: function () { return FileActions.currentFile.parent().attr('data-type'); }, - getCurrentPermissions:function() { + getCurrentPermissions: function () { return FileActions.currentFile.parent().data('permissions'); } }; -$(document).ready(function(){ - if($('#allowZipDownload').val() == 1){ +$(document).ready(function () { + if ($('#allowZipDownload').val() == 1) { var downloadScope = 'all'; } else { var downloadScope = 'file'; } - FileActions.register(downloadScope,'Download', OC.PERMISSION_READ, function(){return OC.imagePath('core','actions/download');},function(filename){ - window.location=OC.filePath('files', 'ajax', 'download.php') + '?files='+encodeURIComponent(filename)+'&dir='+encodeURIComponent($('#dir').val()); + FileActions.register(downloadScope, 'Download', OC.PERMISSION_READ, function () { + return OC.imagePath('core', 'actions/download'); + }, function (filename) { + window.location = OC.filePath('files', 'ajax', 'download.php') + '?files=' + encodeURIComponent(filename) + '&dir=' + encodeURIComponent($('#dir').val()); + }); + + $('#fileList tr').each(function(){ + FileActions.display($(this).children('td.filename')); }); }); -FileActions.register('all','Delete', OC.PERMISSION_DELETE, function(){return OC.imagePath('core','actions/delete');},function(filename){ - if(Files.cancelUpload(filename)) { - if(filename.substr){ - filename=[filename]; +FileActions.register('all', 'Delete', OC.PERMISSION_DELETE, function () { + return OC.imagePath('core', 'actions/delete'); +}, function (filename) { + if (Files.cancelUpload(filename)) { + if (filename.substr) { + filename = [filename]; } - $.each(filename,function(index,file){ - var filename = $('tr').filterAttr('data-file',file); + $.each(filename, function (index, file) { + var filename = $('tr').filterAttr('data-file', file); filename.hide(); filename.find('input[type="checkbox"]').removeAttr('checked'); filename.removeClass('selected'); }); procesSelection(); - }else{ + } else { FileList.do_delete(filename); } $('.tipsy').remove(); }); // t('files', 'Rename') -FileActions.register('all','Rename', OC.PERMISSION_UPDATE, function(){return OC.imagePath('core','actions/rename');},function(filename){ +FileActions.register('all', 'Rename', OC.PERMISSION_UPDATE, function () { + return OC.imagePath('core', 'actions/rename'); +}, function (filename) { FileList.rename(filename); }); -FileActions.register('dir','Open', OC.PERMISSION_READ, '', function(filename){ - window.location=OC.linkTo('files', 'index.php') + '?dir='+encodeURIComponent($('#dir').val()).replace(/%2F/g, '/')+'/'+encodeURIComponent(filename); +FileActions.register('dir', 'Open', OC.PERMISSION_READ, '', function (filename) { + window.location = OC.linkTo('files', 'index.php') + '?dir=' + encodeURIComponent($('#dir').val()).replace(/%2F/g, '/') + '/' + encodeURIComponent(filename); }); -FileActions.setDefault('dir','Open'); +FileActions.setDefault('dir', 'Open'); diff --git a/apps/files/js/files.js b/apps/files/js/files.js index 549204e8572..2d9ccba424a 100644 --- a/apps/files/js/files.js +++ b/apps/files/js/files.js @@ -62,14 +62,6 @@ $(document).ready(function() { return false; }); - // Sets the file-action buttons behaviour : - $('tr').live('mouseenter',function(event) { - FileActions.display($(this).children('td.filename')); - }); - $('tr').live('mouseleave',function(event) { - FileActions.hide(); - }); - var lastChecked; // Sets the file link behaviour : diff --git a/apps/files/l10n/de.php b/apps/files/l10n/de.php index 545f840d8ce..7dc5831e639 100644 --- a/apps/files/l10n/de.php +++ b/apps/files/l10n/de.php @@ -37,7 +37,7 @@ "{count} folders" => "{count} Ordner", "1 file" => "1 Datei", "{count} files" => "{count} Dateien", -"seconds ago" => "Vor wenigen Sekunden", +"seconds ago" => "Gerade eben", "1 minute ago" => "vor einer Minute", "{minutes} minutes ago" => "Vor {minutes} Minuten", "today" => "Heute", diff --git a/apps/files/l10n/de_DE.php b/apps/files/l10n/de_DE.php index 37e77472ab6..194bf6b4fda 100644 --- a/apps/files/l10n/de_DE.php +++ b/apps/files/l10n/de_DE.php @@ -1,10 +1,10 @@ <?php $TRANSLATIONS = array( -"There is no error, the file uploaded with success" => "Datei fehlerfrei hochgeladen.", +"There is no error, the file uploaded with success" => "Es sind keine Fehler aufgetreten. Die Datei wurde erfolgreich hochgeladen.", "The uploaded file exceeds the upload_max_filesize directive in php.ini" => "Die Größe der hochzuladenden Datei überschreitet die upload_max_filesize-Richtlinie in php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Die Größe der hochzuladenden Datei überschreitet die MAX_FILE_SIZE-Richtlinie, die im HTML-Formular angegeben wurde", "The uploaded file was only partially uploaded" => "Die Datei wurde nur teilweise hochgeladen.", "No file was uploaded" => "Es wurde keine Datei hochgeladen.", -"Missing a temporary folder" => "Temporärer Ordner fehlt.", +"Missing a temporary folder" => "Der temporäre Ordner fehlt.", "Failed to write to disk" => "Fehler beim Schreiben auf die Festplatte", "Files" => "Dateien", "Unshare" => "Nicht mehr freigeben", @@ -14,19 +14,19 @@ "replace" => "ersetzen", "suggest name" => "Name vorschlagen", "cancel" => "abbrechen", -"replaced {new_name}" => "{new_name} ersetzt", +"replaced {new_name}" => "{new_name} wurde ersetzt", "undo" => "rückgängig machen", -"replaced {new_name} with {old_name}" => "{old_name} ersetzt durch {new_name}", +"replaced {new_name} with {old_name}" => "{old_name} wurde ersetzt durch {new_name}", "unshared {files}" => "Freigabe für {files} beendet", "deleted {files}" => "{files} gelöscht", "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 entweder ein Verzeichnis oder 0 Bytes groß ist.", "Upload Error" => "Fehler beim Upload", "Pending" => "Ausstehend", -"1 file uploading" => "Eine Datei wird hoch geladen", +"1 file uploading" => "1 Datei wird hochgeladen", "{count} files uploading" => "{count} Dateien wurden hochgeladen", "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.", +"File upload is in progress. Leaving the page now will cancel the upload." => "Der Dateiupload läuft. Wenn Sie die Seite jetzt verlassen, wird der Upload abgebrochen.", "Invalid name, '/' is not allowed." => "Ungültiger Name: \"/\" ist nicht erlaubt.", "{count} files scanned" => "{count} Dateien wurden gescannt", "error while scanning" => "Fehler beim Scannen", @@ -37,16 +37,16 @@ "{count} folders" => "{count} Ordner", "1 file" => "1 Datei", "{count} files" => "{count} Dateien", -"seconds ago" => "Vor wenigen Sekunden", -"1 minute ago" => "vor einer Minute", -"{minutes} minutes ago" => "vor {minutes} Minuten", +"seconds ago" => "Gerade eben", +"1 minute ago" => "Vor 1 Minute", +"{minutes} minutes ago" => "Vor {minutes} Minuten", "today" => "Heute", "yesterday" => "Gestern", -"{days} days ago" => "vor {days} Tage(en)", +"{days} days ago" => "Vor {days} Tage(en)", "last month" => "Letzten Monat", -"months ago" => "Monate her", +"months ago" => "Vor Monaten", "last year" => "Letztes Jahr", -"years ago" => "Jahre her", +"years ago" => "Vor Jahren", "File handling" => "Dateibehandlung", "Maximum upload size" => "Maximale Upload-Größe", "max. possible: " => "maximal möglich:", @@ -64,7 +64,7 @@ "Nothing in here. Upload something!" => "Alles leer. Bitte laden Sie etwas hoch!", "Share" => "Teilen", "Download" => "Herunterladen", -"Upload too large" => "Upload zu groß", +"Upload too large" => "Der Upload ist 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" => "Scanne" diff --git a/apps/files/l10n/th_TH.php b/apps/files/l10n/th_TH.php index 3645435e54b..9bde85229b4 100644 --- a/apps/files/l10n/th_TH.php +++ b/apps/files/l10n/th_TH.php @@ -10,25 +10,39 @@ "Unshare" => "ยกเลิกการแชร์ข้อมูล", "Delete" => "ลบ", "Rename" => "เปลี่ยนชื่อ", +"{new_name} already exists" => "{new_name} มีอยู่แล้วในระบบ", "replace" => "แทนที่", "suggest name" => "แนะนำชื่อ", "cancel" => "ยกเลิก", +"replaced {new_name}" => "แทนที่ {new_name} แล้ว", "undo" => "เลิกทำ", +"replaced {new_name} with {old_name}" => "แทนที่ {new_name} ด้วย {old_name} แล้ว", +"unshared {files}" => "ยกเลิกการแชร์แล้ว {files} ไฟล์", +"deleted {files}" => "ลบไฟล์แล้ว {files} ไฟล์", "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 ไฟล์", +"{count} files uploading" => "กำลังอัพโหลด {count} ไฟล์", "Upload cancelled." => "การอัพโหลดถูกยกเลิก", "File upload is in progress. Leaving the page now will cancel the upload." => "การอัพโหลดไฟล์กำลังอยู่ในระหว่างดำเนินการ การออกจากหน้าเว็บนี้จะทำให้การอัพโหลดถูกยกเลิก", "Invalid name, '/' is not allowed." => "ชื่อที่ใช้ไม่ถูกต้อง '/' ไม่อนุญาตให้ใช้งาน", +"{count} files scanned" => "สแกนไฟล์แล้ว {count} ไฟล์", "error while scanning" => "พบข้อผิดพลาดในระหว่างการสแกนไฟล์", "Name" => "ชื่อ", "Size" => "ขนาด", "Modified" => "ปรับปรุงล่าสุด", +"1 folder" => "1 โฟลเดอร์", +"{count} folders" => "{count} โฟลเดอร์", +"1 file" => "1 ไฟล์", +"{count} files" => "{count} ไฟล์", "seconds ago" => "วินาที ก่อนหน้านี้", +"1 minute ago" => "1 นาทีก่อนหน้านี้", +"{minutes} minutes ago" => "{minutes} นาทีก่อนหน้านี้", "today" => "วันนี้", "yesterday" => "เมื่อวานนี้", +"{days} days ago" => "{day} วันก่อนหน้านี้", "last month" => "เดือนที่แล้ว", "months ago" => "เดือน ที่ผ่านมา", "last year" => "ปีที่แล้ว", |