summaryrefslogtreecommitdiff
path: root/web
diff options
context:
space:
mode:
authorcanyonknight <canyonknight@gmail.com>2012-06-28 21:21:16 -0400
committerLukas Fleischer <archlinux@cryptocrack.de>2012-07-06 11:27:14 +0200
commitb5ffdeb63e3df5c341f9ccdafcfbaa446c5670f4 (patch)
tree7151d0dff5ee7d0e8037e25fa8dd6f15897f974a /web
parent5ebf9d64ee03e0b19f42b0475ad7750eef911392 (diff)
pkgsubmit.php: Improve file upload error messages
* Currently, $_FILES showing a filesize of zero is interpreted as no file was uploaded, despite other errors potentially being the cause. * The $_FILES superglobal stores what the actual error was, so use it. This includes file write problems, empty uploads, partial uploads, and upload_max_filesize being exceeded. Signed-off-by: canyonknight <canyonknight@gmail.com> Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
Diffstat (limited to 'web')
-rw-r--r--web/html/pkgsubmit.php19
1 files changed, 17 insertions, 2 deletions
diff --git a/web/html/pkgsubmit.php b/web/html/pkgsubmit.php
index ca3e1fd..2fd21e6 100644
--- a/web/html/pkgsubmit.php
+++ b/web/html/pkgsubmit.php
@@ -28,8 +28,23 @@ if ($uid):
if (isset($_REQUEST['pkgsubmit'])) {
# Before processing, make sure we even have a file
- if ($_FILES['pfile']['size'] == 0){
- $error = __("Error - No file uploaded");
+ switch($_FILES['pfile']['error']) {
+ case UPLOAD_ERR_INI_SIZE:
+ $maxsize = ini_get('upload_max_filesize');
+ $error = __("Error - Uploaded file larger than maximum allowed size (%s)", $maxsize);
+ break;
+ case UPLOAD_ERR_PARTIAL:
+ $error = __("Error - File partially uploaded");
+ break;
+ case UPLOAD_ERR_NO_FILE:
+ $error = __("Error - No file uploaded");
+ break;
+ case UPLOAD_ERR_NO_TMP_DIR:
+ $error = __("Error - Could not locate temporary upload folder");
+ break;
+ case UPLOAD_ERR_CANT_WRITE:
+ $error = __("Error - File could not be written");
+ break;
}
# Check whether the file is gzip'ed