typo
[Pman.Base] / Pman.php
index ff85975..eebe773 100644 (file)
--- a/Pman.php
+++ b/Pman.php
@@ -216,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'])) {
@@ -464,9 +464,9 @@ class Pman extends HTML_FlexyFramework_Page
         $au = $this->authUser;
         if ($au) {
             // is it an authfailure?
-            $this->jerr("Permission denied to view this resource", array('authFailure' => true));
+            $this->jerror("LOGIN-NOPERM", "Permission denied to view this resource", array('authFailure' => true));
         }
-        $this->jerr("Not authenticated", array('authFailure' => true));
+        $this->jerror("LOGIN-NOAUTH", "Not authenticated", array('authFailure' => true));
     }
      
      
@@ -505,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);
             
@@ -739,15 +749,7 @@ class Pman extends HTML_FlexyFramework_Page
         
         $mods = $this->modulesList();
         
-        // this puts the 'main one' at the end.
-        // as in theory we can override the stuff in the main project?
-        
-         
-        $core = array_shift($mods);
-        $fm = array_shift($mods);
-        array_unshift($mods,$core);
-        $mods[] = $fm;
-       // print_R($mods);exit;
+       
         $is_bootstrap = in_array('BAdmin', $mods);
         
         foreach($mods as $mod) {
@@ -755,7 +757,7 @@ class Pman extends HTML_FlexyFramework_Page
             
             if ($is_bootstrap) {
                 if (!file_exists($this->rootDir."/Pman/$mod/is_bootstrap")) {
-                    echo '<!-- missing '. $this->rootDir."/Pman/$mod/is_bootstrap  - skipping -->\n";
+                    echo '<!-- missing '. $this->rootDir."/Pman/$mod/is_bootstrap  - skipping -->";
                     continue;
                 }
                 
@@ -1079,7 +1081,10 @@ class Pman extends HTML_FlexyFramework_Page
         
         $reported = true;
         
-        $out = is_a($ex,'Exception') || is_a($ex, 'Error') ? $ex->getMessage() : $ex->toString();
+        $out = (is_a($ex,'Exception') || is_a($ex, 'Error') ? $ex->getMessage() : $ex->toString()) .
+            ' ' . $_SERVER['REQUEST_METHOD'] . ' ' .
+            (empty($_SERVER['REQUEST_URI'])     ? 'No URL' : $_SERVER['REQUEST_URI']) .
+              ' ' .    (empty($POST) ? '' : file_get_contents('php://input')) ;
         
         
         //print_R($bt); exit;
@@ -1099,6 +1104,7 @@ class Pman extends HTML_FlexyFramework_Page
         //convert the huge backtrace into something that is readable..
         $out .= "\n" . implode("\n",  $ret);
         
+           
         $this->addEvent("EXCEPTION", false, $out);
         
         if ($this->showErrorToUser) {
@@ -1152,15 +1158,23 @@ class Pman extends HTML_FlexyFramework_Page
     function addEvent($act, $obj = false, $remarks = '') 
     {
         
-        if (!empty(HTML_FlexyFramework::get()->Pman['disable_events'])) {
+        $ff = HTML_FlexyFramework::get();
+        
+      
+        if (!empty($ff->Pman['disable_events'])
+         || !empty($ff->database_is_readonly)
+         || substr($act, 0, 7) === 'NOTICE-'
+        ) {
+            if (!preg_match('/^(ERROR|EXCEPTION)/', $act)) {
+               return false;
+            }
             $str = $obj !== false ? "{$obj->tableName()}:{$obj->id} " : '';
             $de = ini_set('display_errors', 0);
-            trigger_error("$act {$str}{$remarks}" , E_USER_NOTICE);
+            trigger_error("{$act} {$str} {$remarks}" , E_USER_NOTICE);
             ini_set('display_errors', $de );
-            
-            
-            return;
+            return false;
         }
+        
         $au = $this->getAuthUser();
        
         $e = DB_DataObject::factory('Events');
@@ -1178,8 +1192,14 @@ class Pman extends HTML_FlexyFramework_Page
         
         
         $e->onInsert(isset($_REQUEST) ? $_REQUEST : array() , $this);
+        if (!preg_match('/^(ERROR|EXCEPTION)/', $act)) {
+            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;
         
     }