[Openupload-svn-update] SF.net SVN: openupload:[39] trunk/lib/modules/default/files.inc.php
Status: Beta
Brought to you by:
tsdogs
|
From: <ts...@us...> - 2008-10-18 13:21:22
|
Revision: 39
http://openupload.svn.sourceforge.net/openupload/?rev=39&view=rev
Author: tsdogs
Date: 2008-10-18 13:21:09 +0000 (Sat, 18 Oct 2008)
Log Message:
-----------
Add upload file error handling.
Modified Paths:
--------------
trunk/lib/modules/default/files.inc.php
Modified: trunk/lib/modules/default/files.inc.php
===================================================================
--- trunk/lib/modules/default/files.inc.php 2008-10-18 12:48:58 UTC (rev 38)
+++ trunk/lib/modules/default/files.inc.php 2008-10-18 13:21:09 UTC (rev 39)
@@ -64,16 +64,31 @@
global $_SERVER;
if (isset($_FILES['upload'])) {
- /* prepare the file */
- $tmpname = app()->config['DATA_PATH'].'/tmp/'.randomName();
- move_uploaded_file($_FILES['upload']['tmp_name'],$tmpname);
- $_SESSION['user']['u']['tmp']=$tmpname;
- $_SESSION['user']['u']['mime']=$_FILES['upload']['type'];
- $_SESSION['user']['u']['name']=$_FILES['upload']['name'];
- $_SESSION['user']['u']['size']=$_FILES['upload']['size'];
- $_SESSION['user']['u']['ip']=$_SERVER['REMOTE_ADDR'];
- $_SESSION['user']['u']['user_id']=app()->user->info('id');
- $this->nextStep(app()->step);
+ if ($_FILES['upload']['error']>0) {
+ switch ($_FILES['upload']['error']) { /* taken from here: http://it.php.net/manual/en/features.file-upload.errors.php */
+ case 1: app()->error(tr('Maximum upload size for site wide configuration reached')); break;
+ case 2: app()->error(tr('File is too big!')); break;
+ case 3: app()->error(tr('Partial file transfer error!')); break;
+ case 4: app()->error(tr('No file was uploaded!')); break;
+ case 6: app()->error(tr('Missing temporary directory')); break;
+ case 7: app()->error(tr('Can\'t write to temporary diretory!')); break;
+ case 8: app()->error(tr('Upload blocked by extension!')); break;
+ default:
+ app()->error(tr('Upload failed for Unknonw error code: %1',$_FILES['upload']['error'])); break;
+ }
+ $this->nextStep(1);
+ } else {
+ /* prepare the file */
+ $tmpname = app()->config['DATA_PATH'].'/tmp/'.randomName();
+ move_uploaded_file($_FILES['upload']['tmp_name'],$tmpname);
+ $_SESSION['user']['u']['tmp']=$tmpname;
+ $_SESSION['user']['u']['mime']=$_FILES['upload']['type'];
+ $_SESSION['user']['u']['name']=$_FILES['upload']['name'];
+ $_SESSION['user']['u']['size']=$_FILES['upload']['size'];
+ $_SESSION['user']['u']['ip']=$_SERVER['REMOTE_ADDR'];
+ $_SESSION['user']['u']['user_id']=app()->user->info('id');
+ $this->nextStep(app()->step);
+ }
} else if (!isset($_SESSION['user']['u'])) {
redirect();
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|