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 newvalue($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)
54 //var_dump($cg->ontable);
55 $x = DB_DataObject::factory($cg->ontable);
58 if ( !isset($ar[$this->field()])) {
59 return $this->oldvalue;
62 if (empty($this->oldvalue)) {
65 $lr = explode(':', $ar[$this->field()]);
66 $x = DB_DataObject::factory($lr[0]);
67 $x->get($this->oldvalue);
68 return isset($x->name) ? $x->name : $this->oldvalue;
72 function toAuditString($change)
74 $field = $this->field();
79 return false; //??? ignore?
83 // foreach (preg_split("/\s*,\s*/", $old_values[$field]) as $id) {
84 /* if (!strlen($id)) continue;
85 $c = get_component($id);
88 $value = $T->getComponents();
95 // foreach (preg_split("/\s*,\s*/", $old_values[$field]) as $id) {
96 /* if (!strlen($id)) continue;
97 $m = get_milestone($id);
101 $value = $T->getMilestones();
102 $field = 'Milestone';
109 $oldvalue = $this->oldvalue($change);
110 $value = $this->value($change);
112 $field = preg_replace('/_id$/', '', $this->field());
113 $field = ucfirst(str_replace('_', ' ', $field));
115 if ( ($oldvalue == $value) ||
116 (!strlen($oldvalue) && !strlen($value))) {
119 $lb = strpos($oldvalue,"\n") > -1 || strpos($value,"\n") > -1 ? "\n\n" : '';
120 $lbs = $lb == '' ? '' : "\n\n---\n\n";
121 if (!strlen($oldvalue)) {
122 return " * Set {$field} to: {$lbs}{$value}{$lbs}";
125 if (!strlen($value)) {
126 return " * Removed {$lb}{$field} - was: {$lbs}{$oldvalue}";
130 return " * Changed {$field} from : {$lbs}{$oldvalue} {$lbs} to {$lbs}{$value}{$lbs}";
135 function toJSONArray($change)
137 $ret= $this->toArray();
138 // now add the value strings..
140 $field = preg_replace('/_id$/', '', $this->field());
141 $field = ucfirst(str_replace('_', ' ', $field));
143 $ret['field_str'] = $field;
145 $ret['oldvalue_str'] = $this->oldvalue($change);
146 $ret['value_str'] = $this->value($change);