3 * Table Definition for mtrack_change_audit
5 require_once 'DB/DataObject.php';
7 class Pman_Core_DataObjects_Core_event_audit extends DB_DataObject
10 /* the code below is auto generated do not remove the above tag */
12 public $__table = 'core_event_audit'; // table name
13 public $id; // int(11) not_null primary_key auto_increment
14 public $event_id; // int(11) not_null multiple_key
15 public $name; // string(128)
16 public $old_audit_id; // int(11) blob
17 public $newvalue; // blob(65535) blob
20 /* the code above is auto generated do not remove the tag below */
28 function value($event)
30 $x = DB_DataObject::factory($event->on_table);
32 // is the name a link..
33 if (!isset($ar[$this->name])) {
36 if (empty($this->value) ) {
40 // get the current value of that...
41 $lr = explode(':', $ar[$this->name]);
42 $x = DB_DataObject::factory($lr[0]);
43 if (!method_exists($x, 'toEventString')) {
44 return $lr[0] .':'. $this->value;
46 $x->get($this->value);
48 return $x->toEventString(); // big assumption..
53 function oldvalue($cg)
55 //var_dump($cg->ontable);
56 $x = DB_DataObject::factory($cg->ontable);
59 if ( !isset($ar[$this->field()])) {
60 return $this->oldvalue;
63 if (empty($this->oldvalue)) {
66 $lr = explode(':', $ar[$this->field()]);
67 $x = DB_DataObject::factory($lr[0]);
68 $x->get($this->oldvalue);
69 return isset($x->name) ? $x->name : $this->oldvalue;
73 function toAuditString($change)
75 $field = $this->field();
80 return false; //??? ignore?
84 // foreach (preg_split("/\s*,\s*/", $old_values[$field]) as $id) {
85 /* if (!strlen($id)) continue;
86 $c = get_component($id);
89 $value = $T->getComponents();
96 // foreach (preg_split("/\s*,\s*/", $old_values[$field]) as $id) {
97 /* if (!strlen($id)) continue;
98 $m = get_milestone($id);
102 $value = $T->getMilestones();
103 $field = 'Milestone';
110 $oldvalue = $this->oldvalue($change);
111 $value = $this->value($change);
113 $field = preg_replace('/_id$/', '', $this->field());
114 $field = ucfirst(str_replace('_', ' ', $field));
116 if ( ($oldvalue == $value) ||
117 (!strlen($oldvalue) && !strlen($value))) {
120 $lb = strpos($oldvalue,"\n") > -1 || strpos($value,"\n") > -1 ? "\n\n" : '';
121 $lbs = $lb == '' ? '' : "\n\n---\n\n";
122 if (!strlen($oldvalue)) {
123 return " * Set {$field} to: {$lbs}{$value}{$lbs}";
126 if (!strlen($value)) {
127 return " * Removed {$lb}{$field} - was: {$lbs}{$oldvalue}";
131 return " * Changed {$field} from : {$lbs}{$oldvalue} {$lbs} to {$lbs}{$value}{$lbs}";
136 function toJSONArray($change)
138 $ret= $this->toArray();
139 // now add the value strings..
141 $field = preg_replace('/_id$/', '', $this->field());
142 $field = ucfirst(str_replace('_', ' ', $field));
144 $ret['field_str'] = $field;
146 $ret['oldvalue_str'] = $this->oldvalue($change);
147 $ret['value_str'] = $this->value($change);