sync
[Pman.Admin] / EventView.php
index 91880ed..bf0d1a4 100644 (file)
@@ -14,17 +14,93 @@ class Pman_Admin_EventView extends Pman
             $this->jerrAuth();
         }
         return true;
-        
-        
+         
     }
     
-    function get($id)
-    {
+    function get($id, $opts = Array())
+    {   
         $ev = DB_DataObject::Factory('Events');
-        $ev->get($id);
+        if (!$ev->get((int)$id)) {
+            $this->jerr("invalid id");
+        }
         
         // verify if not admin, then they should 
+        $g = DB_DataObject::Factory('core_group_member');
+        if (is_a($g, 'DB_DataObject')) {
+            $grps = $g->listGroupMembership($this->authUser);
+           //var_dump($grps);
+            $isAdmin = $g->inAdmin;
+            
+            if (!$isAdmin && $ev->person_id != $this->authUser->id) {
+                $this->jerrAuth();
+            }
+        }
+        
+        
+        echo '<PRE>'.htmlspecialchars(print_r($ev->toArray(),true))."</PRE>";
+        // we have 2 bits of data available at present:
+        // core_event_audit
+        // the event file..
+        $d= DB_DataObject::factory('core_event_audit');
+        $d->event_id = $ev->id; // we can set that as the above returns error or dataobject..
+        if (is_a($d,'DB_DataObject') && $d->count()) {
+            echo "<H2>Changed Data:</H2>";
+            
+            foreach($d->fetchAll() as $d) {
+                echo "{$d->name} SET TO: " . htmlspecialchars($d->newvalue) . "<br/>\n";
+            }
+        }
+        echo "<HR><H2>Posted Data:</H2>";
+        
+        $logdir = DB_DAtaObject::Factory('Events')->logDir();
+        
+        if (!$logdir) {
+            echo "not available (Pman[storedir] not configured)";
+            exit;
+        }
+         
+        $file = $logdir. date('/Y/m/d/',strtotime($ev->event_when)). $ev->id . ".php"; 
+        if (file_exists($file)) {
+            echo '<PRE>' . htmlspecialchars(file_get_contents($file)). '</PRE>';
+            
+        } 
+          
+        $file = $logdir. date('/Y/m/d/',strtotime($ev->event_when)). $ev->id . ".json"; 
+        if (!file_exists($file)) {
+            echo "not available (missing file) $file";
+            exit;
+        }
+        
+        echo '<PRE>' . htmlspecialchars(print_r(json_decode(file_get_contents($file)), true)) . '</PRE>';
+        
+        if (!empty($ev->remarks)) {
+            echo "<HR><H2>Remarks:</H2>";
+            echo '<PRE>'. htmlspecialchars($ev->remarks) . '</PRE>';
+        }
+        
+        
+        $json = json_decode($ev->remarks, JSON_PRETTY_PRINT);
+        
+        if(json_last_error() == JSON_ERROR_NONE){
+            echo "<HR><H2>JSON DECODE Data:</H2>";
+            echo '<PRE>' . print_r($json, true) . '</PRE>';
+        }
+        $filesJ = json_decode(file_get_contents($file));
+        if (!empty($filesJ->FILES )) {
+             echo "<HR><H2>Download files:</H2><ul>";
+            
+            
+            foreach($filesJ->FILES as $k=>$f){
+                $ip = $this->baseURL."/Images/events/". $ev->id . '/'. $f->tmp_name;
+                
+                echo '<li><a target="_new" href="'.$ip.'/download">' . htmlspecialchars( $k . ' - ' . $f->name ) . '</a><br/>';
+            }
+            echo "</ul>";
+            
+        }
+        
         
+        exit;
         
     }