only log errors to apache
[Pman.Base] / Pman.php
index aa65cda..c1a3824 100644 (file)
--- a/Pman.php
+++ b/Pman.php
@@ -31,8 +31,7 @@
  */
 
  
-    
+     
  
 require_once 'Pman/Core/AssetTrait.php';
 
@@ -54,7 +53,7 @@ class Pman extends HTML_FlexyFramework_Page
     var $appModules = '';
     var $appDisabled = array(); // array of disabled modules..
                     // (based on config option disable)
-    
+     
     var $authUser; // always contains the authenticated user..
     
     var $disable_jstemplate = false; /// disable inclusion of jstemplate code..
@@ -64,6 +63,17 @@ class Pman extends HTML_FlexyFramework_Page
     
     
     var $transObj = false; // used to rollback or commit in JOK/JERR
+    
+    // these are used somewhere - 
+    var $builderJs = false;//
+    var $serverName = false;
+    var $lang = false;
+    var $allowSignup = false;
+    var $_hasInit;
+    var $appNameShort;
+    var $appDisable;
+    var $uiConfig;
+     
     /**
      * ------------- Standard getAuth/get/post methods of framework.
      * 
@@ -100,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']) &&
@@ -115,11 +126,19 @@ class Pman extends HTML_FlexyFramework_Page
         if (
             !empty($_REQUEST['isDev'])
             &&
-            !empty($_SERVER['SERVER_ADDR']) &&
             (
-                (($_SERVER['SERVER_ADDR'] == '127.0.0.1') && ($_SERVER['REMOTE_ADDR'] == '127.0.0.1'))
+                (
+                    !empty($_SERVER['SERVER_ADDR']) &&
+                    (
+                        (($_SERVER['SERVER_ADDR'] == '127.0.0.1') && ($_SERVER['REMOTE_ADDR'] == '127.0.0.1'))
+                        ||
+                        (($_SERVER['SERVER_ADDR'] == '::1') && ($_SERVER['REMOTE_ADDR'] == '::1'))
+                        ||
+                        (preg_match('/^192\.168/', $_SERVER['SERVER_ADDR']) && $_SERVER['SERVER_ADDR'] == $_SERVER['HTTP_HOST'])
+                    )
+                )
                 ||
-                (($_SERVER['SERVER_ADDR'] == '::1') && ($_SERVER['REMOTE_ADDR'] == '::1'))
+                !empty($boot->Pman['enable_isdev_url'])
             )
             
         ) {
@@ -197,7 +216,7 @@ class Pman extends HTML_FlexyFramework_Page
         
         
         if (strlen($base) && $bits[0] != 'PasswordReset') {
-            $this->jerror("BADURL","invalid url: $base");
+            $this->jerror("NOTICE-BADURL","invalid url: $base");
         }
         // deliver template
         if (isset($_GET['onloadTrack'])) {
@@ -442,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));
@@ -486,12 +505,22 @@ 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);
             }
+            // various codes that are acceptable.
+            // 
+            if (!preg_match('/^(ERROR|NOTICE|LOG)/', $type )) {
+                $type = 'ERROR-' . $type;
+            }
             
             $this->addEvent($type, false, $str);
             
@@ -554,7 +583,8 @@ class Pman extends HTML_FlexyFramework_Page
         
         echo $this->jsencode(array(
             'success'=> false, 
-            'data'=> array(), 
+            'data'=> array(),
+            'code' => $type,
             'errorMsg' => $str,
             'message' => $str, // compate with exeption / loadexception.
             'errors' => $errors ? $errors : true, // used by forms to flag errors.
@@ -634,11 +664,11 @@ class Pman extends HTML_FlexyFramework_Page
         if ($retHTML) {
             
             header('Content-type: text/html');
-            echo "<HTML><HEAD></HEAD><BODY>";
+            echo "<HTML><HEAD></HEAD><BODY><![CDATA[";
             // encode html characters so they can be read..
             echo  str_replace(array('<','>'), array('\u003c','\u003e'),
                         $this->jsencode(array('success' =>  true, 'total'=> $total, 'data' => $ar) + $extra, false));
-            echo "</BODY></HTML>";
+            echo "]]></BODY></HTML>";
             exit;
         }
         
@@ -709,8 +739,9 @@ class Pman extends HTML_FlexyFramework_Page
      */
     function outputJavascriptIncludes()  
     {
-        // BC support - currently 1 project still relies on this.. (MO portal) 
-        $o = HTML_FlexyFramework::get()->Pman_Core;
+        // BC support - currently 1 project still relies on this.. (MO portal)
+        $ff = HTML_FlexyFramework::get();
+        $o = isset($ff->Pman_Core)  ? $ff->Pman_Core : array();
         if (isset($o['packseed'])) {
             return $this->outputJavascriptIncludesBC();
         }
@@ -718,6 +749,7 @@ class Pman extends HTML_FlexyFramework_Page
         
         $mods = $this->modulesList();
         
+       
         $is_bootstrap = in_array('BAdmin', $mods);
         
         foreach($mods as $mod) {
@@ -742,7 +774,7 @@ class Pman extends HTML_FlexyFramework_Page
         }
         
         $this->callModules('outputJavascriptIncludes', $this);
-         
+        return '';
     }
     var $css_includes = array();
      /**
@@ -778,10 +810,12 @@ class Pman extends HTML_FlexyFramework_Page
                 continue;
             }
             $this->outputCSSDir("Pman/$mod","*.css");
+           
             $this->outputSCSS($mod);
             
+            
         }
-        
+        return ''; // needs to return something as we output it..
         
     }
     
@@ -792,14 +826,7 @@ class Pman extends HTML_FlexyFramework_Page
     
     
     
-    
-    
-    
-    
-    
-    
-    
-    
+     
     
     // --- OLD CODE - in for BC on MO project.... - needs removing...
     
@@ -828,7 +855,7 @@ class Pman extends HTML_FlexyFramework_Page
         // and finally the JsTemplate...
             echo '<script type="text/javascript" src="'. $this->baseURL. '/Core/JsTemplate"></script>'."\n";
         }
-         
+        return '';
     }
     /**
      * Gather infor for javascript files..
@@ -1042,7 +1069,7 @@ class Pman extends HTML_FlexyFramework_Page
     
     function onException($ex)
     {
-         static $reported = false;
+        static $reported = false;
         if ($reported) {
             return;
         }
@@ -1127,9 +1154,23 @@ class Pman extends HTML_FlexyFramework_Page
     function addEvent($act, $obj = false, $remarks = '') 
     {
         
-        if (!empty(HTML_FlexyFramework::get()->Pman['disable_events'])) {
-            return;
+        $ff = HTML_FlexyFramework::get();
+        
+      
+        if (!empty($ff->Pman['disable_events'])
+         || !empty($ff->database_is_readonly)
+         || substr($act, 0, 7) === 'NOTICE-'
+        ) {
+             if (substr($act, 0, 5) !== 'ERROR') {
+               return false;
+            }
+            $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 false;
         }
+        
         $au = $this->getAuthUser();
        
         $e = DB_DataObject::factory('Events');
@@ -1147,8 +1188,14 @@ class Pman extends HTML_FlexyFramework_Page
         
         
         $e->onInsert(isset($_REQUEST) ? $_REQUEST : array() , $this);
+        if (substr($act, 0, 5) !== 'ERROR') {
+            return $e;
+        }
+        $str = $obj !== false ? "{$obj->tableName()}:{$obj->id} " : '';
+        $de = ini_set('display_errors', 0);
+        trigger_error("{$act} [event_id={$e->id}] {$str} {$remarks}" , E_USER_NOTICE);
+        ini_set('display_errors', $de );
         
-       
         return $e;
         
     }