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..
51 function oldvalue($cg)
53 //var_dump($cg->ontable);
54 $x = DB_DataObject::factory($cg->ontable);
57 if ( !isset($ar[$this->field()])) {
58 return $this->oldvalue;
61 if (empty($this->oldvalue)) {
64 $lr = explode(':', $ar[$this->field()]);
65 $x = DB_DataObject::factory($lr[0]);
66 $x->get($this->oldvalue);
67 return isset($x->name) ? $x->name : $this->oldvalue;
71 function toAuditString($change)
73 $field = $this->field();
78 return false; //??? ignore?
82 // foreach (preg_split("/\s*,\s*/", $old_values[$field]) as $id) {
83 /* if (!strlen($id)) continue;
84 $c = get_component($id);
87 $value = $T->getComponents();
94 // foreach (preg_split("/\s*,\s*/", $old_values[$field]) as $id) {
95 /* if (!strlen($id)) continue;
96 $m = get_milestone($id);
100 $value = $T->getMilestones();
101 $field = 'Milestone';
108 $oldvalue = $this->oldvalue($change);
109 $value = $this->value($change);
111 $field = preg_replace('/_id$/', '', $this->field());
112 $field = ucfirst(str_replace('_', ' ', $field));
114 if ( ($oldvalue == $value) ||
115 (!strlen($oldvalue) && !strlen($value))) {
118 $lb = strpos($oldvalue,"\n") > -1 || strpos($value,"\n") > -1 ? "\n\n" : '';
119 $lbs = $lb == '' ? '' : "\n\n---\n\n";
120 if (!strlen($oldvalue)) {
121 return " * Set {$field} to: {$lbs}{$value}{$lbs}";
124 if (!strlen($value)) {
125 return " * Removed {$lb}{$field} - was: {$lbs}{$oldvalue}";
129 return " * Changed {$field} from : {$lbs}{$oldvalue} {$lbs} to {$lbs}{$value}{$lbs}";
134 function toJSONArray($change)
136 $ret= $this->toArray();
137 // now add the value strings..
139 $field = preg_replace('/_id$/', '', $this->field());
140 $field = ucfirst(str_replace('_', ' ', $field));
142 $ret['field_str'] = $field;
144 $ret['oldvalue_str'] = $this->oldvalue($change);
145 $ret['value_str'] = $this->value($change);