r3888 Michael Tiernan: If anyone is interested, I modified the
[racktables] / ajax.php
index 84482a5fa4b9eea0ee3bbdf071e1e05034d38001..928507c92c808236f8037471b2014075bf8b285c 100644 (file)
--- a/ajax.php
+++ b/ajax.php
@@ -1,18 +1,14 @@
 <?php
+ob_start();
+try {
 
-$_REQUEST['page'] = 'perms';
-$_REQUEST['tab'] = 'edit';
 require 'inc/init.php';
+$pageno = 'perms';
+$tabno = 'edit';
 fixContext();
 
-// We have a chance to handle an error before starting HTTP header.
 if (!permitted())
 {
-       $errlog = array
-       (
-               'v' => 2,
-               'm' => array (0 => array ('c' => 157)) // operation not permitted
-       );
        echo "NAK\nPermission denied";
        exit();
 }
@@ -20,14 +16,19 @@ if (!permitted())
 switch ($_REQUEST['ac'])
 {
        case 'verifyCode':
-               $code = str_replace ('\r', '', str_replace ('\n', "\n", $_REQUEST['code']));
-               $result = getRackCode($code);
+               $result = getRackCode (dos2unix ($_REQUEST['code']));
                if ($result['result'] == 'ACK')
-                       echo 'ACK';
+                       echo "ACK\n";
                else
                        echo "NAK\n".$result['load'];
        break;
 }
-
+ob_end_flush();
+}
+catch (Exception $e)
+{
+       ob_end_clean();
+       echo "NAK\nRuntime exception";
+}
 
 ?>