浏览代码

Fix error with trying to resend the header on a fatal error.

We *really* need to figure out why changes to member variables aren't being remembered outside of the member function in which they are changed.  This is afflicting the Template class and the Error class.
stevetruckstuff 19 年之前
父节点
当前提交
69f9454fbb
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      class/error.class.php

+ 2 - 1
class/error.class.php

@@ -63,6 +63,7 @@ class ErrorHandler {
      */
      */
     function HeaderSent() {
     function HeaderSent() {
         $this->header_sent = true;
         $this->header_sent = true;
+        $this->Template->assign('header_sent', true);
     }
     }
 
 
     /**
     /**
@@ -218,7 +219,7 @@ class ErrorHandler {
 
 
         // Show the error immediate in case of fatal errors
         // Show the error immediate in case of fatal errors
         if ($iType == SQM_ERROR) {
         if ($iType == SQM_ERROR) {
-            if (!$this->header_sent) {
+            if (!$this->header_sent || (isset($this->Template->values['header_sent']) && !$this->Template->values['header_sent'])) {
                 // TODO replace this with template that can be assigned
                 // TODO replace this with template that can be assigned
                 displayHtmlHeader(_("Error"),'',false);
                 displayHtmlHeader(_("Error"),'',false);
             }
             }