diff --git a/.gitignore b/.gitignore
index 7c0df64b86..819347f540 100644
--- a/.gitignore
+++ b/.gitignore
@@ -55,3 +55,9 @@ nbproject
# WebFinger
.well-known
/.buildpath
+
+#tests - autogenerated filed
+data-autotest
+/tests/coverage*
+/tests/autoconfig*
+/tests/autotest*
diff --git a/apps/files/ajax/timezone.php b/apps/files/ajax/timezone.php
deleted file mode 100644
index b547d162b3..0000000000
--- a/apps/files/ajax/timezone.php
+++ /dev/null
@@ -1,2 +0,0 @@
-a { padding:.5em 1.2em .3em; }
#new>ul {
- display:none; position:fixed; min-width:7em; z-index:-1;
- padding:.5em; margin-top:0.075em; margin-left:-.5em;
+ display:none; position:fixed; min-width:7em; z-index:10;
+ padding:.5em; padding-bottom:0; margin-top:.075em; margin-left:-.5em;
text-align:left;
- background:#f8f8f8; border:1px solid #ddd;
+ background:#f8f8f8; border:1px solid #ddd; border-radius:10px; border-top-left-radius:0;
+ box-shadow:0 2px 7px rgba(170,170,170,.4);
}
#new>ul>li { height:20px; margin:.3em; padding-left:2em; padding-bottom:0.1em;
background-repeat:no-repeat; cursor:pointer; }
#new>ul>li>p { cursor:pointer; }
#new>ul>li>input { padding:0.3em; margin:-0.3em; }
-#new .popup { border-top-left-radius:0; z-index:10; }
#upload {
height:27px; padding:0; margin-left:0.2em; overflow:hidden;
@@ -64,11 +64,17 @@ tr:hover span.extension { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Op
table tr.mouseOver td { background-color:#eee; }
table th { height:2em; padding:0 .5em; color:#999; }
table th .name { float:left; margin-left:.5em; }
-table th.multiselect { background:#ddd; color:#000; font-weight:bold; }
table th, table td { border-bottom:1px solid #ddd; text-align:left; font-weight:normal; }
table td { border-bottom:1px solid #eee; font-style:normal; background-position:1em .5em; background-repeat:no-repeat; }
-table th#headerSize, table td.filesize { width:3em; padding:0 1em; text-align:right; }
-table th#headerDate, table td.date { width:11em; padding:0 .1em 0 1em; text-align:left; }
+table th#headerName { width:100em; /* not really sure why this works better than 100% … table styling */ }
+table th#headerSize, table td.filesize { min-width:3em; padding:0 1em; text-align:right; }
+table th#headerDate, table td.date { min-width:11em; padding:0 .1em 0 1em; text-align:left; }
+
+/* Multiselect bar */
+table.multiselect { top:63px; }
+table.multiselect thead { position:fixed; top:82px; z-index:1; }
+table.multiselect thead th { background:rgba(230,230,230,.8); color:#000; font-weight:bold; border-bottom:0; }
+
table td.selection, table th.selection, table td.fileaction { width:2em; text-align:center; }
table td.filename a.name { display:block; height:1.5em; vertical-align:middle; margin-left:3em; }
table tr[data-type="dir"] td.filename a.name span.nametext {font-weight:bold; }
@@ -79,15 +85,28 @@ table td.filename .nametext, .uploadtext, .modified { float:left; padding:.3em 0
table td.filename .nametext { overflow:hidden; text-overflow:ellipsis; }
table td.filename .uploadtext { font-weight:normal; margin-left:.5em; }
table td.filename form { font-size:.85em; margin-left:3em; margin-right:3em; }
-table thead.fixed tr{ position:fixed; top:6.5em; z-index:49; -moz-box-shadow:0 -3px 7px #ddd; -webkit-box-shadow:0 -3px 7px #ddd; box-shadow:0 -3px 7px #ddd; }
-table thead.fixed { height:2em; }
#fileList tr td.filename>input[type="checkbox"]:first-child { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter:alpha(opacity=0); opacity:0; float:left; margin:.7em 0 0 1em; /* bigger clickable area doesn’t work in FF width:2.8em; height:2.4em;*/ -webkit-transition:opacity 200ms; -moz-transition:opacity 200ms; -o-transition:opacity 200ms; transition:opacity 200ms; }
#fileList tr td.filename>input[type="checkbox"]:hover:first-child { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; filter:alpha(opacity=80); opacity:.8; }
#fileList tr td.filename>input[type="checkbox"]:checked:first-child { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter:alpha(opacity=100); opacity:1; }
-#fileList tr td.filename { -webkit-transition:background-image 500ms; -moz-transition:background-image 500ms; -o-transition:background-image 500ms; transition:background-image 500ms; position:relative; }
+#fileList tr td.filename {
+ position:relative; width:100%;
+ -webkit-transition:background-image 500ms; -moz-transition:background-image 500ms; -o-transition:background-image 500ms; transition:background-image 500ms;
+}
#select_all { float:left; margin:.3em 0.6em 0 .5em; }
#uploadsize-message,#delete-confirm { display:none; }
-.fileactions { position:relative; top:.3em; font-size:.8em; float:right; }
+
+/* File actions */
+.fileactions {
+ position:absolute; top:.6em; right:0;
+ font-size:.8em;
+}
+#fileList .name { position:relative; /* Firefox needs to explicitly have this default set … */ }
+#fileList tr:hover .fileactions { /* background to distinguish when overlaying with file names */
+ background:rgba(248,248,248,.9); box-shadow:-5px 0 7px rgba(248,248,248,.9);
+}
+#fileList tr.selected:hover .fileactions { /* slightly darker color for selected rows */
+ background:rgba(238,238,238,.9); box-shadow:-5px 0 7px rgba(238,238,238,.9);
+}
#fileList .fileactions a.action img { position:relative; top:.2em; }
#fileList a.action { display:inline; margin:-.5em 0; padding:1em .5em 1em .5em !important; }
a.action.delete { float:right; }
diff --git a/apps/files/download.php b/apps/files/download.php
index dd356b27e9..ddd23df412 100644
--- a/apps/files/download.php
+++ b/apps/files/download.php
@@ -40,7 +40,12 @@ if(!\OC\Files\Filesystem::file_exists($filename)) {
$ftype=\OC\Files\Filesystem::getMimeType( $filename );
header('Content-Type:'.$ftype);
-header('Content-Disposition: attachment; filename="'.basename($filename).'"');
+if ( preg_match( "/MSIE/", $_SERVER["HTTP_USER_AGENT"] ) ) {
+ header( 'Content-Disposition: attachment; filename="' . rawurlencode( basename($filename) ) . '"' );
+} else {
+ header( 'Content-Disposition: attachment; filename*=UTF-8\'\'' . rawurlencode( basename($filename) )
+ . '; filename="' . rawurlencode( basename($filename) ) . '"' );
+}
OCP\Response::disableCaching();
header('Content-Length: '.\OC\Files\Filesystem::filesize($filename));
diff --git a/apps/files/index.php b/apps/files/index.php
index 173cef791d..993d8b4dcf 100644
--- a/apps/files/index.php
+++ b/apps/files/index.php
@@ -1,45 +1,43 @@
.
-*
-*/
+ * ownCloud - ajax frontend
+ *
+ * @author Robin Appelman
+ * @copyright 2010 Robin Appelman icewind1991@gmail.com
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this library. If not, see .
+ *
+ */
// Check if we are a user
OCP\User::checkLoggedIn();
// Load the files we need
-OCP\Util::addStyle( 'files', 'files' );
-OCP\Util::addscript( 'files', 'jquery.iframe-transport' );
-OCP\Util::addscript( 'files', 'jquery.fileupload' );
-OCP\Util::addscript( 'files', 'files' );
-OCP\Util::addscript( 'files', 'filelist' );
-OCP\Util::addscript( 'files', 'fileactions' );
-OCP\Util::addscript( 'files', 'keyboardshortcuts' );
-if(!isset($_SESSION['timezone'])) {
- OCP\Util::addscript( 'files', 'timezone' );
-}
-OCP\App::setActiveNavigationEntry( 'files_index' );
+OCP\Util::addStyle('files', 'files');
+OCP\Util::addscript('files', 'jquery.iframe-transport');
+OCP\Util::addscript('files', 'jquery.fileupload');
+OCP\Util::addscript('files', 'files');
+OCP\Util::addscript('files', 'filelist');
+OCP\Util::addscript('files', 'fileactions');
+OCP\Util::addscript('files', 'keyboardshortcuts');
+
+OCP\App::setActiveNavigationEntry('files_index');
// Load the files
-$dir = isset( $_GET['dir'] ) ? stripslashes($_GET['dir']) : '';
+$dir = isset($_GET['dir']) ? stripslashes($_GET['dir']) : '';
// Redirect if directory does not exist
-if(!\OC\Files\Filesystem::is_dir($dir.'/')) {
+if(!\OC\Files\Filesystem::is_dir($dir . '/')) {
header('Location: '.$_SERVER['SCRIPT_NAME'].'');
exit();
}
@@ -57,9 +55,9 @@ function fileCmp($a, $b) {
$files = array();
foreach( \OC\Files\Filesystem::getDirectoryContent( $dir ) as $i ) {
$i['date'] = OCP\Util::formatDate($i['mtime'] );
- if($i['type']=='file') {
- $fileinfo=pathinfo($i['name']);
- $i['basename']=$fileinfo['filename'];
+ if($i['type'] == 'file') {
+ $fileinfo = pathinfo($i['name']);
+ $i['basename'] = $fileinfo['filename'];
if (!empty($fileinfo['extension'])) {
$i['extension']='.' . $fileinfo['extension'];
}
@@ -78,47 +76,47 @@ $breadcrumb = array();
$pathtohere = '';
foreach( explode( '/', $dir ) as $i ) {
if( $i != '' ) {
- $pathtohere .= '/'.str_replace('+','%20', urlencode($i));
+ $pathtohere .= '/' . $i;
$breadcrumb[] = array( 'dir' => $pathtohere, 'name' => $i );
}
}
// make breadcrumb und filelist markup
-$list = new OCP\Template( 'files', 'part.list', '' );
-$list->assign( 'files', $files, false );
-$list->assign( 'baseURL', OCP\Util::linkTo('files', 'index.php').'?dir=', false);
-$list->assign( 'downloadURL', OCP\Util::linkTo('files', 'download.php').'?file=', false);
-$breadcrumbNav = new OCP\Template( 'files', 'part.breadcrumb', '' );
-$breadcrumbNav->assign( 'breadcrumb', $breadcrumb, false );
-$breadcrumbNav->assign( 'baseURL', OCP\Util::linkTo('files', 'index.php').'?dir=', false);
+$list = new OCP\Template('files', 'part.list', '');
+$list->assign('files', $files, false);
+$list->assign('baseURL', OCP\Util::linkTo('files', 'index.php') . '?dir=', false);
+$list->assign('downloadURL', OCP\Util::linkTo('files', 'download.php') . '?file=', false);
+$breadcrumbNav = new OCP\Template('files', 'part.breadcrumb', '');
+$breadcrumbNav->assign('breadcrumb', $breadcrumb, false);
+$breadcrumbNav->assign('baseURL', OCP\Util::linkTo('files', 'index.php') . '?dir=', false);
$upload_max_filesize = OCP\Util::computerFileSize(ini_get('upload_max_filesize'));
$post_max_size = OCP\Util::computerFileSize(ini_get('post_max_size'));
$maxUploadFilesize = min($upload_max_filesize, $post_max_size);
-$freeSpace=\OC\Files\Filesystem::free_space($dir);
-$freeSpace=max($freeSpace,0);
+$freeSpace = \OC\Files\Filesystem::free_space($dir);
+$freeSpace = max($freeSpace,0);
$maxUploadFilesize = min($maxUploadFilesize, $freeSpace);
$permissions = OCP\PERMISSION_READ;
-if (OC_Filesystem::isUpdatable($dir.'/')) {
- $permissions |= OCP\PERMISSION_UPDATE;
+if (\OC\Files\Filesystem::isUpdatable($dir . '/')) {
+ $permissions |= OCP\PERMISSION_UPDATE;
}
-if (OC_Filesystem::isDeletable($dir.'/')) {
- $permissions |= OCP\PERMISSION_DELETE;
+if (\OC\Files\Filesystem::isDeletable($dir . '/')) {
+ $permissions |= OCP\PERMISSION_DELETE;
}
-if (OC_Filesystem::isSharable($dir.'/')) {
- $permissions |= OCP\PERMISSION_SHARE;
+if (\OC\Files\Filesystem::isSharable($dir . '/')) {
+ $permissions |= OCP\PERMISSION_SHARE;
}
$tmpl = new OCP\Template( 'files', 'index', 'user' );
$tmpl->assign( 'fileList', $list->fetchPage(), false );
$tmpl->assign( 'breadcrumb', $breadcrumbNav->fetchPage(), false );
$tmpl->assign( 'dir', \OC\Files\Filesystem::normalizePath($dir));
-$tmpl->assign( 'isCreatable', \OC\Files\Filesystem::isCreatable($dir.'/'));
+$tmpl->assign( 'isCreatable', \OC\Files\Filesystem::isCreatable($dir . '/'));
$tmpl->assign('permissions', $permissions);
-$tmpl->assign( 'files', $files );
-$tmpl->assign( 'uploadMaxFilesize', $maxUploadFilesize);
-$tmpl->assign( 'uploadMaxHumanFilesize', OCP\Util::humanFileSize($maxUploadFilesize));
-$tmpl->assign( 'allowZipDownload', intval(OCP\Config::getSystemValue('allowZipDownload', true)));
+$tmpl->assign('files', $files);
+$tmpl->assign('uploadMaxFilesize', $maxUploadFilesize);
+$tmpl->assign('uploadMaxHumanFilesize', OCP\Util::humanFileSize($maxUploadFilesize));
+$tmpl->assign('allowZipDownload', intval(OCP\Config::getSystemValue('allowZipDownload', true)));
$tmpl->printPage();
diff --git a/apps/files/js/files.js b/apps/files/js/files.js
index a1f94ad178..7fb451b9a0 100644
--- a/apps/files/js/files.js
+++ b/apps/files/js/files.js
@@ -203,6 +203,9 @@ $(document).ready(function() {
var files = data.files;
var totalSize=0;
if(files){
+ if (FileList.lastAction) {
+ FileList.lastAction();
+ }
for(var i=0;ispan.name').text(t('files','Name'));
$('#headerSize').text(t('files','Size'));
$('#modified').text(t('files','Modified'));
- $('th').removeClass('multiselect');
+ $('table').removeClass('multiselect');
$('.selectedActions').hide();
- $('thead').removeClass('fixed');
- $('#headerName').css('width','auto');
- $('#headerSize').css('width','auto');
- $('#headerDate').css('width','auto');
- $('table').css('padding-top','0');
- }else{
- var width={name:$('#headerName').css('width'),size:$('#headerSize').css('width'),date:$('#headerDate').css('width')};
- $('#headerName').css('width',width.name);
- $('#headerSize').css('width',width.size);
- $('#headerDate').css('width',width.date);
+ }
+ else {
$('.selectedActions').show();
var totalSize=0;
for(var i=0;ispan.name').text(selection);
$('#modified').text('');
- $('th').addClass('multiselect');
+ $('table').addClass('multiselect');
}
}
diff --git a/apps/files/js/keyboardshortcuts.js b/apps/files/js/keyboardshortcuts.js
index 562755f55b..cc2b5d4213 100644
--- a/apps/files/js/keyboardshortcuts.js
+++ b/apps/files/js/keyboardshortcuts.js
@@ -127,6 +127,9 @@ var Files = Files || {};
}
Files.bindKeyboardShortcuts = function(document, $) {
$(document).keydown(function(event) { //check for modifier keys
+ if(!$(event.target).is('body')) {
+ return;
+ }
var preventDefault = false;
if ($.inArray(event.keyCode, keys) === -1) keys.push(event.keyCode);
if (
diff --git a/apps/files/js/timezone.js b/apps/files/js/timezone.js
deleted file mode 100644
index 4749417199..0000000000
--- a/apps/files/js/timezone.js
+++ /dev/null
@@ -1,12 +0,0 @@
-//send the clients time zone to the server
-$(document).ready(function() {
- var visitortimezone = (-new Date().getTimezoneOffset()/60);
- $.ajax({
- type: "GET",
- url: OC.filePath('files', 'ajax', 'timezone.php'),
- data: 'time='+ visitortimezone,
- success: function(){
- location.reload();
- }
- });
-});
\ No newline at end of file
diff --git a/apps/files/l10n/da.php b/apps/files/l10n/da.php
index 24652622c6..05404d27af 100644
--- a/apps/files/l10n/da.php
+++ b/apps/files/l10n/da.php
@@ -1,5 +1,6 @@
"Der er ingen fejl, filen blev uploadet med success",
+"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Den uploadede fil overstiger upload_max_filesize direktivet i php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Den uploadede fil overskrider MAX_FILE_SIZE -direktivet som er specificeret i HTML-formularen",
"The uploaded file was only partially uploaded" => "Den uploadede file blev kun delvist uploadet",
"No file was uploaded" => "Ingen fil blev uploadet",
@@ -18,6 +19,7 @@
"replaced {new_name} with {old_name}" => "erstattede {new_name} med {old_name}",
"unshared {files}" => "ikke delte {files}",
"deleted {files}" => "slettede {files}",
+"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ugyldigt navn, '\\', '/', '<', '>', ':' | '?', '\"', '', og '*' er ikke tilladt.",
"generating ZIP-file, it may take some time." => "genererer ZIP-fil, det kan tage lidt tid.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Kunne ikke uploade din fil, da det enten er en mappe eller er tom",
"Upload Error" => "Fejl ved upload",
@@ -27,6 +29,7 @@
"{count} files uploading" => "{count} filer uploades",
"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 folder name. Usage of \"Shared\" is reserved by Owncloud" => "Ugyldigt mappenavn. Brug af \"Shared\" er forbeholdt Owncloud",
"{count} files scanned" => "{count} filer skannet",
"error while scanning" => "fejl under scanning",
"Name" => "Navn",
@@ -47,6 +50,7 @@
"New" => "Ny",
"Text file" => "Tekstfil",
"Folder" => "Mappe",
+"From link" => "Fra link",
"Upload" => "Upload",
"Cancel upload" => "Fortryd upload",
"Nothing in here. Upload something!" => "Her er tomt. Upload noget!",
diff --git a/apps/files/l10n/mk.php b/apps/files/l10n/mk.php
index c47fdbdbf4..1d22746156 100644
--- a/apps/files/l10n/mk.php
+++ b/apps/files/l10n/mk.php
@@ -1,21 +1,44 @@
"Нема грешка, датотеката беше подигната успешно",
+"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" => "Неуспеав да запишам на диск",
"Files" => "Датотеки",
+"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}",
+"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Неправилно име. , '\\', '/', '<', '>', ':', '\"', '|', '?' и '*' не се дозволени.",
"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" => "Грешка при преземање",
"Close" => "Затвои",
"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 folder name. Usage of \"Shared\" is reserved by Owncloud" => "Неправилно име на папка. Користењето на „Shared“ е резервирано за Owncloud",
+"{count} files scanned" => "{count} датотеки скенирани",
+"error while scanning" => "грешка при скенирање",
"Name" => "Име",
"Size" => "Големина",
"Modified" => "Променето",
+"1 folder" => "1 папка",
+"{count} folders" => "{count} папки",
+"1 file" => "1 датотека",
+"{count} files" => "{count} датотеки",
"File handling" => "Ракување со датотеки",
"Maximum upload size" => "Максимална големина за подигање",
"max. possible: " => "макс. можно:",
@@ -27,6 +50,7 @@
"New" => "Ново",
"Text file" => "Текстуална датотека",
"Folder" => "Папка",
+"From link" => "Од врска",
"Upload" => "Подигни",
"Cancel upload" => "Откажи прикачување",
"Nothing in here. Upload something!" => "Тука нема ништо. Снимете нешто!",
diff --git a/apps/files/l10n/ru_RU.php b/apps/files/l10n/ru_RU.php
index 5a6c032ed9..bb701aac00 100644
--- a/apps/files/l10n/ru_RU.php
+++ b/apps/files/l10n/ru_RU.php
@@ -1,5 +1,6 @@
"Ошибка отсутствует, файл загружен успешно.",
+"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" => "Файл не был загружен",
diff --git a/apps/files/l10n/th_TH.php b/apps/files/l10n/th_TH.php
index 343138ba12..bad817ab00 100644
--- a/apps/files/l10n/th_TH.php
+++ b/apps/files/l10n/th_TH.php
@@ -1,5 +1,6 @@
"ไม่มีข้อผิดพลาดใดๆ ไฟล์ถูกอัพโหลดเรียบร้อยแล้ว",
+"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" => "ยังไม่มีไฟล์ที่ถูกอัพโหลด",
diff --git a/apps/files/templates/admin.php b/apps/files/templates/admin.php
index 66fec4cd53..0de12edcba 100644
--- a/apps/files/templates/admin.php
+++ b/apps/files/templates/admin.php
@@ -15,11 +15,11 @@
'
title="t( '0 is unlimited' ); ?>"
- disabled="disabled" />
-
+ disabled="disabled" />
+ t( 'Maximum input size for ZIP files' ); ?>
-
\ No newline at end of file
+
diff --git a/apps/files/templates/index.php b/apps/files/templates/index.php
index bd34c9a76d..edf048c7e1 100644
--- a/apps/files/templates/index.php
+++ b/apps/files/templates/index.php
@@ -5,7 +5,7 @@