r2666 - introduced LDAPCache table (ticket:193)
[racktables] / process.php
index 7f75cd504fc45375f88089ea3eb4994d29bc0dcd..2c5e4c295978ec5261c9b5426772bc90cf76700a 100644 (file)
@@ -1,18 +1,31 @@
-<?
+<?php
 
 require 'inc/init.php';
-authorize();
 
-$op = (isset ($_REQUEST['op'])) ? $_REQUEST['op'] : '';
+// FIXME: find a better way to handle this error
+if ($_REQUEST['op'] == 'addFile' && !isset($_FILES['file']['error'])) {
+       showError ("File upload error, it's size probably exceeds upload_max_filesize directive in php.ini");
+       die;
+}
+fixContext();
 
-if (!isset ($ophandler[$pageno][$tabno][$op]))
+if (empty ($op) or !isset ($ophandler[$pageno][$tabno][$op]))
 {
-       showError ("Invalid request in operation broker: page '${pageno}', tab '${tabno}', op '${op}'");
+       showError ("Invalid request in operation broker: page '${pageno}', tab '${tabno}', op '${op}'", __FILE__);
        die();
 }
 
 // We have a chance to handle an error before starting HTTP header.
-$location = $ophandler[$pageno][$tabno][$op]();
+if (!isset ($delayauth[$pageno][$tabno][$op]) and !permitted())
+       $location = buildWideRedirectURL (oneLiner (157)); // operation not permitted
+else
+{
+       $location = $ophandler[$pageno][$tabno][$op]();
+       if (empty ($location))
+       {
+               showError ('Operation handler failed to return its status', __FILE__);
+       }
+}
 header ("Location: " . $location);
 
 ?>