EventView.php
[Pman.Admin] / EventView.php
1 <?php
2
3
4 require_once 'Pman.php';
5
6 class Pman_Admin_EventView extends Pman
7 {
8     
9     function getAuth()
10     {
11         parent::getAuth();
12         $au = $this->getAuthUser();
13         if (!$au || $au->company()->comptype != 'OWNER') {
14             $this->jerrAuth();
15         }
16         return true;
17         
18         
19     }
20     
21     function get($id)
22     {
23         $ev = DB_DataObject::Factory('Events');
24         if (!$ev->get((int)$id)) {
25             $this->jerr("invalid id");
26         }
27         
28         // verify if not admin, then they should 
29         $g = DB_DataObject::Factory('group_members');
30         $grps = $g->listGroupMembership($this->authUser);
31        //var_dump($grps);
32         $isAdmin = $g->inAdmin;
33         
34         if (!$isAdmin && $ev->person_id != $this->authUser->id) {
35             $this->jerrAuth();
36         }
37         
38         // we have 2 bits of data available at present:
39         // core_event_audit
40         // the event file..
41         $d= DB_DataObject::factory('core_event_audit');
42         if (is_a($d,'DB_DataObject')) {
43             echo "<H2>Changed Data:</H2>";
44             $d->event_id = $ev->id;
45             foreach($d->fetchAll() as $d) {
46                 echo "{$d->name} SET TO: " . htmlspecialchars($d->newvalue) . "<br/>\n";
47             }
48         }
49         echo "<HR><H2>Posted Data:</H2>";
50         $fn =  
51         
52         
53         
54         $ff  = HTML_FlexyFramework::get();
55         if (empty($ff->Pman['event_log_dir'])) {
56             echo "not available (not configured)";
57             exit;
58         }
59         if (function_exists('posix_getpwuid')) {
60             $uinfo = posix_getpwuid( posix_getuid () ); 
61          
62             $user = $uinfo['name'];
63         } else {
64             $user = getenv('USERNAME'); // windows.
65         }
66          
67         
68         $file = $ff->Pman['event_log_dir']. "/{$user}" . date('/Y/m/d/',strtotime($ev->event_when)). $ev->id . ".file_.json";
69         if (!file_exists($file)) {
70             echo "not available (missing file) $file";
71             exit;
72         }
73         echo '<PRE>' . htmlspecialchars(file_get_contents($file)) . '</PRE>';
74         
75         echo '<BR/><PRE>'. htmlspecialchars($ev->remarks) . '</PRE>';
76         exit;
77         
78     }
79     
80     
81 }