1 | <?php |
||
16 | class AuditLogService extends BaseApplicationComponent |
||
17 | { |
||
18 | /** |
||
19 | * Show log with criteria. |
||
20 | * |
||
21 | * @param object $criteria |
||
22 | * |
||
23 | * @return array |
||
24 | * |
||
25 | * @codeCoverageIgnore |
||
26 | */ |
||
27 | public function log($criteria) |
||
35 | |||
36 | /** |
||
37 | * View a specific log item. |
||
38 | * |
||
39 | * @param int $id |
||
40 | * |
||
41 | * @return AuditLogModel |
||
42 | */ |
||
43 | 1 | public function view($id) |
|
44 | { |
||
45 | // Get log from record |
||
46 | 1 | $log = craft()->elements->getCriteria('AuditLog', array('id' => $id))->first(); |
|
47 | |||
48 | // Create diff |
||
49 | 1 | $diff = array(); |
|
50 | |||
51 | // Loop through content |
||
52 | 1 | foreach ($log->after as $handle => $item) { |
|
53 | |||
54 | // Set parsed values |
||
55 | $diff[$handle] = array( |
||
56 | 'label' => $item['label'], |
||
57 | 'changed' => ($item['value'] != $log['before'][$handle]['value']), |
||
58 | 'after' => $item['value'], |
||
59 | 'before' => $log['before'][$handle]['value'], |
||
60 | ); |
||
61 | 1 | } |
|
62 | |||
63 | // Set diff |
||
64 | 1 | $log->setAttribute('diff', $diff); |
|
65 | |||
66 | // Return the log |
||
67 | 1 | return $log; |
|
68 | } |
||
69 | |||
70 | /** |
||
71 | * Parse field values. |
||
72 | * |
||
73 | * @param string $handle |
||
74 | * @param mixed $data |
||
75 | * |
||
76 | * @return string |
||
77 | */ |
||
78 | public function parseFieldData($handle, $data) |
||
140 | |||
141 | /** |
||
142 | * Check if an element has changed while saving. |
||
143 | * |
||
144 | * @param string $elementType |
||
145 | * @param int $id |
||
146 | * @param array $before |
||
147 | * @param array $after |
||
148 | */ |
||
149 | public function elementHasChanged($elementType, $id, $before, $after) |
||
181 | |||
182 | /** |
||
183 | * Fires an "onElementChanged" event. |
||
184 | * |
||
185 | * @param Event $event |
||
186 | */ |
||
187 | public function onElementChanged(Event $event) |
||
191 | |||
192 | /** |
||
193 | * Fires an "onFieldChanged" event. |
||
194 | * |
||
195 | * @param Event $event |
||
196 | */ |
||
197 | public function onFieldChanged(Event $event) |
||
201 | } |
||
202 |