[0000225] Supplier Payment Report showing paid invoices (rounding problem)
[fa-stable.git] / includes / errors.inc
index bfa213d5514d96ab1ac59e87e22fa8ffcc2619ba..f2cfe1c0fc1b113c6fee2e58706969c0b2484b27 100644 (file)
@@ -84,9 +84,9 @@ function error_box() {
     global $before_box;
     
     echo "<div id='msgbox'>";
-       $before_box = ob_get_clean(); // save html content before error box 
+
 // Necessary restart instead of get_contents/clean calls due to a bug in php 4.3.2
-       register_shutdown_function('end_flush');
+       $before_box = ob_get_clean(); // save html content before error box 
     ob_start('output_html');
     echo "</div>";
 }
@@ -94,7 +94,12 @@ function error_box() {
        Helper to avoid sparse log notices.
 */
 function end_flush () {
-               if (ob_get_level()) ob_end_flush();
+       global $Ajax;
+
+       if (isset($Ajax))
+               $Ajax->run();
+       // flush all output buffers (works also with exit inside any div levels)
+       while(ob_get_level()) ob_end_flush();
 }
 
 function display_db_error($msg, $sql_statement=null, $exit=true)
@@ -135,7 +140,7 @@ function frindly_db_error($db_error)
        global $db_duplicate_error_code;
        
        if ($db_error == $db_duplicate_error_code) 
-       {
+       {       
                display_error(_("The entered information is a duplicate. Please go back and enter different values."));
                return true;
        }
@@ -145,13 +150,13 @@ function frindly_db_error($db_error)
 
 function check_db_error($msg, $sql_statement, $exit_if_error=true, $rollback_if_error=true)
 {
-       global $db;
+       global $db, $go_debug;
        $db_error = db_error_no();
        
        if ($db_error != 0) 
        {
                
-               if (!frindly_db_error($db_error)) {
+               if ($go_debug || !frindly_db_error($db_error)) {
                                display_db_error($msg, $sql_statement, false);
                }