fix #7802 - read only db trying to write to DB
[Pman.Base] / Pman.php
index c8a4ecb..ddbb4ae 100644 (file)
--- a/Pman.php
+++ b/Pman.php
@@ -69,7 +69,11 @@ class Pman extends HTML_FlexyFramework_Page
     var $serverName = false;
     var $lang = false;
     var $allowSignup = false;
-    
+    var $_hasInit;
+    var $appNameShort;
+    var $appDisable;
+    var $uiConfig;
+     
     /**
      * ------------- Standard getAuth/get/post methods of framework.
      * 
@@ -106,7 +110,8 @@ class Pman extends HTML_FlexyFramework_Page
         
         $this->appDisable = $boot->disable;
         $this->appDisabled = explode(',', $boot->disable);
-        $this->version = $boot->version; 
+        $this->version = $boot->version;
+        $this->appVersion = $boot->version; 
         $this->uiConfig = empty($boot->Pman['uiConfig']) ? false : $boot->Pman['uiConfig']; 
         
         if (!empty($boot->Pman['local_autoauth']) &&
@@ -456,7 +461,7 @@ class Pman extends HTML_FlexyFramework_Page
      */
     function jerrAuth()
     {
-        $au = $this->authUser();
+        $au = $this->authUser;
         if ($au) {
             // is it an authfailure?
             $this->jerr("Permission denied to view this resource", array('authFailure' => true));
@@ -500,8 +505,9 @@ class Pman extends HTML_FlexyFramework_Page
         if ($cli) {
             echo "ERROR: " .$str . "\n"; // print the error first, as DB might fail..
         }
+        $pman = HTML_FlexyFramework::get();
         
-        if ($type !== false) {
+        if ($type !== false && empty($pman->nodatabase)) {
             
             if(!empty($errors)){
                 DB_DataObject::factory('Events')->writeEventLogExtra($errors);
@@ -605,7 +611,7 @@ class Pman extends HTML_FlexyFramework_Page
         
         if ($retHTML) {
             header('Content-type: text/html');
-            echo "<HTML><HEAD></HEAD><BODY><";
+            echo "<HTML><HEAD></HEAD><BODY>";
             // encode html characters so they can be read..
             echo  str_replace(array('<','>'), array('\u003c','\u003e'),
                         $this->jsencode(array('success'=> true, 'data' => $str), false));
@@ -734,6 +740,7 @@ class Pman extends HTML_FlexyFramework_Page
         
         $mods = $this->modulesList();
         
+       
         $is_bootstrap = in_array('BAdmin', $mods);
         
         foreach($mods as $mod) {
@@ -1053,7 +1060,7 @@ class Pman extends HTML_FlexyFramework_Page
     
     function onException($ex)
     {
-         static $reported = false;
+        static $reported = false;
         if ($reported) {
             return;
         }
@@ -1138,7 +1145,15 @@ class Pman extends HTML_FlexyFramework_Page
     function addEvent($act, $obj = false, $remarks = '') 
     {
         
-        if (!empty(HTML_FlexyFramework::get()->Pman['disable_events'])) {
+        if (!empty(HTML_FlexyFramework::get()->Pman['disable_events'])
+         || !empty(HTML_FlexyFramework::get()->database_is_readonly)
+        ) {
+            $str = $obj !== false ? "{$obj->tableName()}:{$obj->id} " : '';
+            $de = ini_set('display_errors', 0);
+            trigger_error("$act {$str}{$remarks}" , E_USER_NOTICE);
+            ini_set('display_errors', $de );
+            
+            
             return;
         }
         $au = $this->getAuthUser();