r4943 catch errors when uploading files (#420)
authorAaron Dummer <aaron@dummer.info>
Mon, 30 Jan 2012 01:28:23 +0000 (01:28 +0000)
committerAaron Dummer <aaron@dummer.info>
Mon, 30 Jan 2012 01:28:23 +0000 (01:28 +0000)
ChangeLog
wwwroot/inc/interface.php
wwwroot/inc/ophandlers.php

index bbe2c45b66198b9a509ec29ee373d381b80e51e0..ae2adeb7ac0afbd4e0b83bb90790c734510dd60d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -27,6 +27,7 @@
        bugfix: links which include username/password weren't parsed correctly (#400)
        bugfix: resolve attribute FK issue introduced in 0.19.7
        bugfix: SNMP discovery of APC PDUs returned error (#504)
+       bugfix: catch errors when uploading files (#420)
        update: list of virtual object types is now maintained as a Config setting (#488)
        update: when an object is contained within another, display the parent's rackspace allocation info when viewing the child (#432) 
        update: added the 'Slot number' attribute to object types which may be mounted in a blade chassis (#474)
index a4fe900c7c7a01698ef71d2cad87fe8f2e6afe33..e4fce0e80541889122d255865509e6a299007957 100644 (file)
@@ -1513,6 +1513,7 @@ function showMessageOrError ()
                200 => array ('code' => 'warning', 'format' => '%s'),
                201 => array ('code' => 'warning', 'format' => 'nothing happened...'),
                206 => array ('code' => 'warning', 'format' => 'Rack is not empty'),
+               207 => array ('code' => 'warning', 'format' => 'File upload failed, error: %s'),
 
 // records 300~399 with notices
                300 => array ('code' => 'neutral', 'format' => '%s'),
index b9622e01a194f82bfa7e14e5d15f69b1a56ce8cb..91cc3ca1d937df02c22066532bf95063a1d24c42 100644 (file)
@@ -2071,6 +2071,7 @@ function addFileWithoutLink ()
 }
 
 $msgcode['addFileToEntity']['OK'] = 5;
+$msgcode['addFileToEntity']['ERR1'] = 207;
 function addFileToEntity ()
 {
        global $pageno, $etype_by_pageno;
@@ -2083,6 +2084,10 @@ function addFileToEntity ()
        if (get_cfg_var('file_uploads') != 1)
                throw new RackTablesError ('file uploads not allowed, change "file_uploads" parameter in php.ini', RackTablesError::MISCONFIGURED);
 
+       // Exit if the upload failed
+       if ($_FILES['file']['error'])
+               return showFuncMessage (__FUNCTION__, 'ERR1', array ($_FILES['file']['error']));
+
        $fp = fopen($_FILES['file']['tmp_name'], 'rb');
        global $sic;
        commitAddFile ($_FILES['file']['name'], $_FILES['file']['type'], $fp, $sic['comment']);