1 | <?php |
---|
2 | |
---|
3 | /***************************************************************************\ |
---|
4 | * Expresso - Expresso Messenger * |
---|
5 | * - Alexandre Correia / Rodrigo Souza * |
---|
6 | * ------------------------------------------------------------------------- * |
---|
7 | * This program is free software; you can redistribute it and/or modify it * |
---|
8 | * under the terms of the GNU General Public License as published by the * |
---|
9 | * Free Software Foundation; either version 2 of the License, or (at your * |
---|
10 | * option) any later version. * |
---|
11 | \***************************************************************************/ |
---|
12 | |
---|
13 | require_once "class.bologmessage.inc.php"; |
---|
14 | |
---|
15 | class uilogmessage |
---|
16 | { |
---|
17 | private $bo; |
---|
18 | |
---|
19 | public $public_functions = array( |
---|
20 | 'getLog' => True, |
---|
21 | 'getMessageUser' => True, |
---|
22 | 'getMessageUserComplete' => True, |
---|
23 | 'getMessageUserDate' => True |
---|
24 | ); |
---|
25 | |
---|
26 | function __construct() |
---|
27 | { |
---|
28 | $this->bo = new bologmessage(); |
---|
29 | } |
---|
30 | |
---|
31 | private function formatDate($pDate) |
---|
32 | { |
---|
33 | $newDt = date_parse($pDate); |
---|
34 | |
---|
35 | // Hour |
---|
36 | $newDt['hour'] = ( strlen($newDt['hour']) == 1 ) ? "0".$newDt['hour'] : $newDt['hour']; |
---|
37 | $newDt['minute'] = ( strlen($newDt['minute']) == 1 ) ? "0".$newDt['minute'] : $newDt['minute']; |
---|
38 | $newDt['second'] = ( strlen($newDt['second']) == 1 ) ? "0".$newDt['second'] : $newDt['second']; |
---|
39 | |
---|
40 | // Date |
---|
41 | $newDt['day'] = ( strlen($newDt['day']) == 1 ) ? "0".$newDt['day'] : $newDt['day']; |
---|
42 | $newDt['month'] = ( strlen($newDt['month']) == 1 ) ? "0".$newDt['month'] : $newDt['month']; |
---|
43 | |
---|
44 | return $newDt['hour'].":".$newDt['minute'].":".$newDt['second'] . " - " . $newDt['day']."/".$newDt['month']."/".$newDt['year']; |
---|
45 | } |
---|
46 | |
---|
47 | public function getLog() |
---|
48 | { |
---|
49 | if( !$GLOBALS['phpgw']->acl->check('run',1,'admin') ) |
---|
50 | { |
---|
51 | $GLOBALS['phpgw']->redirect_link('/admin/index.php'); |
---|
52 | } |
---|
53 | |
---|
54 | $GLOBALS['phpgw_info']['flags']['app_header'] = lang('Admin') .' - ' . 'Log de Mensagens Instântaneas - BanderSnatch'; |
---|
55 | |
---|
56 | |
---|
57 | $GLOBALS['phpgw']->common->phpgw_header(); |
---|
58 | echo parse_navbar(); |
---|
59 | |
---|
60 | $GLOBALS['phpgw']->template->set_file(array('jabberit_messenger' => 'logMessagesJabber.tpl')); |
---|
61 | $GLOBALS['phpgw']->template->set_block('jabberit_messenger','log_message'); |
---|
62 | $GLOBALS['phpgw']->template->set_var(array( |
---|
63 | 'action_url' => $GLOBALS['phpgw']->link('/index.php','menuaction=jabberit_messenger.uilogmessage.getMessageUser'), |
---|
64 | 'action_url_back' => './admin', |
---|
65 | 'bt_previous' => '<input type="submit" name="bt_previous" value="Anterior" />', |
---|
66 | 'bt_next' => '<input type="submit" name="bt_next" value="Proximo" />', |
---|
67 | 'label_back' => lang("Back"), |
---|
68 | 'label_first_message' => lang("First Message"), |
---|
69 | 'label_last_message' => lang("Last Message"), |
---|
70 | 'label_page' => "", |
---|
71 | 'label_total' => lang("Total"), |
---|
72 | 'label_user' => lang("User"), |
---|
73 | 'label_view' => lang("View"), |
---|
74 | 'value_messages' => "", |
---|
75 | 'value_next' => 30, |
---|
76 | 'value_page' => "", |
---|
77 | 'value_previous' => 0, |
---|
78 | 'value_txtUser' => "" |
---|
79 | )); |
---|
80 | |
---|
81 | $GLOBALS['phpgw']->template->pparse('out','log_message'); |
---|
82 | } |
---|
83 | |
---|
84 | public function getMessageUser() |
---|
85 | { |
---|
86 | if( !$GLOBALS['phpgw']->acl->check('run',1,'admin') ) |
---|
87 | { |
---|
88 | $GLOBALS['phpgw']->redirect_link('/admin/index.php'); |
---|
89 | } |
---|
90 | |
---|
91 | $GLOBALS['phpgw_info']['flags']['app_header'] = lang('Admin') .' - ' . 'Log de Mensagens Instântaneas - BanderSnatch'; |
---|
92 | |
---|
93 | $GLOBALS['phpgw']->common->phpgw_header(); |
---|
94 | echo parse_navbar(); |
---|
95 | |
---|
96 | $value_messages = ""; |
---|
97 | |
---|
98 | if(trim($_REQUEST['txtUser'])) |
---|
99 | { |
---|
100 | $limitPrevious = 0; |
---|
101 | $limitNext = 30; |
---|
102 | |
---|
103 | if( $_REQUEST['bt_next'] ) |
---|
104 | { |
---|
105 | $limitPrevious = $_REQUEST['button_previous'] + 30; |
---|
106 | $limitNext = 30; |
---|
107 | } |
---|
108 | else if ( $_REQUEST['bt_previous'] ) |
---|
109 | { |
---|
110 | if( $_REQUEST['button_previous'] != 0 ) |
---|
111 | { |
---|
112 | $limitPrevious = $_REQUEST['button_previous'] - 30; |
---|
113 | $limitNext = 30; |
---|
114 | } |
---|
115 | else |
---|
116 | { |
---|
117 | $limitPrevious = 0; |
---|
118 | $limitNext = 30; |
---|
119 | } |
---|
120 | } |
---|
121 | |
---|
122 | if($_REQUEST['pg1_next'] || $_REQUEST['pg1_previous']) |
---|
123 | { |
---|
124 | $limitPrevious = $_REQUEST['pg1_previous']; |
---|
125 | $limitNext = $_REQUEST['pg1_next']; |
---|
126 | } |
---|
127 | |
---|
128 | $data = $this->bo->getMessageUser($_REQUEST['txtUser'], $limitPrevious, $limitNext ); |
---|
129 | |
---|
130 | foreach($data as $key=>$value) |
---|
131 | { |
---|
132 | $className = (($key % 2 ) == 0 ) ? "row_off" : "row_on"; |
---|
133 | |
---|
134 | $value_messages .= "<tr>"; |
---|
135 | $value_messages .= "<td align='left' style='width:40%;' class='".$className."'>". $value['message_from']."</td>"; |
---|
136 | $value_messages .= "<td align='center' style='width:10%;' class='".$className."'>".$value['total_messages']."</td>"; |
---|
137 | $value_messages .= "<td align='center' style='width:20%;' class='".$className."'>".$this->formatDate($value['first_message'])."</td>"; |
---|
138 | $value_messages .= "<td align='center' style='width:20%;' class='".$className."'>".$this->formatDate($value['last_message'])."</td>"; |
---|
139 | $value_messages .= "<td align='center' style='width:10%;' class='".$className."'><a href='index.php?menuaction=jabberit_messenger.uilogmessage.getMessageUserDate&txtUser=".$_REQUEST['txtUser']."&user=".$value['message_from']."&first_message=".$value['first_message']."&last_message=".$value['last_message']."&pg1_previous=".$limitPrevious."&pg1_next=".$limitNext."'>".lang("View")."</a></td>"; |
---|
140 | $value_messages .= "</tr>"; |
---|
141 | } |
---|
142 | } |
---|
143 | |
---|
144 | $GLOBALS['phpgw']->template->set_file(array('jabberit_messenger' => 'logMessagesJabber.tpl')); |
---|
145 | $GLOBALS['phpgw']->template->set_block('jabberit_messenger','log_message'); |
---|
146 | $GLOBALS['phpgw']->template->set_var(array( |
---|
147 | 'action_url' => $GLOBALS['phpgw']->link('/index.php','menuaction=jabberit_messenger.uilogmessage.getMessageUser'), |
---|
148 | 'action_url_back' => './admin', |
---|
149 | 'bt_previous' => ( $limitPrevious == 0 ) ? '<input type="submit" name="bt_previous" value="Anterior" disabled="disabled" style="color:#cecece !important"/>' : '<input type="submit" name="bt_previous" value="Anterior"/>', |
---|
150 | 'bt_next' => ( count($data) < 30 ) ? '<input type="submit" name="bt_next" value="Proximo" disabled="disabled" style="color:#cecece !important"/>': '<input type="submit" name="bt_next" value="Proximo"/>', |
---|
151 | 'label_back' => lang("Back"), |
---|
152 | 'label_first_message' => lang("First Message"), |
---|
153 | 'label_last_message' => lang("Last Message"), |
---|
154 | 'label_page' => ( count($data) > 0 ) ? lang("Page") . " : " : "", |
---|
155 | 'label_total' => lang("Total"), |
---|
156 | 'label_user' => lang("User"), |
---|
157 | 'label_view' => lang("View"), |
---|
158 | 'value_messages' => $value_messages, |
---|
159 | 'value_next' => $limitNext, |
---|
160 | 'value_page' => ( count($data) > 0 ) ? (( $limitPrevious / 30 ) + 1) : "", |
---|
161 | 'value_previous' => $limitPrevious, |
---|
162 | 'value_txtUser' => $_REQUEST['txtUser'] |
---|
163 | )); |
---|
164 | |
---|
165 | $GLOBALS['phpgw']->template->pparse('out','log_message'); |
---|
166 | } |
---|
167 | |
---|
168 | public function getMessageUserDate() |
---|
169 | { |
---|
170 | if( !$GLOBALS['phpgw']->acl->check('run',1,'admin') ) |
---|
171 | { |
---|
172 | $GLOBALS['phpgw']->redirect_link('/admin/index.php'); |
---|
173 | } |
---|
174 | |
---|
175 | $GLOBALS['phpgw_info']['flags']['app_header'] = lang('Admin') .' - ' . 'Log de Mensagens Instântaneas - BanderSnatch'; |
---|
176 | |
---|
177 | |
---|
178 | $GLOBALS['phpgw']->common->phpgw_header(); |
---|
179 | echo parse_navbar(); |
---|
180 | |
---|
181 | $user = $_REQUEST['user']; |
---|
182 | $firstDate = $_REQUEST['first_message']; |
---|
183 | $lastDate = $_REQUEST['last_message']; |
---|
184 | $value_messages = ""; |
---|
185 | |
---|
186 | $limitPrevious = 0; |
---|
187 | $limitNext = 30; |
---|
188 | |
---|
189 | if( $_REQUEST['bt_next'] ) |
---|
190 | { |
---|
191 | $limitPrevious = $_REQUEST['button_previous'] + 30; |
---|
192 | $limitNext = 30; |
---|
193 | } |
---|
194 | else if ( $_REQUEST['bt_previous'] ) |
---|
195 | { |
---|
196 | if( $_REQUEST['button_previous'] != 0 ) |
---|
197 | { |
---|
198 | $limitPrevious = $_REQUEST['button_previous'] - 30; |
---|
199 | $limitNext = 30; |
---|
200 | } |
---|
201 | else |
---|
202 | { |
---|
203 | $limitPrevious = 0; |
---|
204 | $limitNext = 30; |
---|
205 | } |
---|
206 | } |
---|
207 | |
---|
208 | if($_REQUEST['pg2_next'] || $_REQUEST['pg2_previous']) |
---|
209 | { |
---|
210 | $limitPrevious = $_REQUEST['pg2_previous']; |
---|
211 | $limitNext = $_REQUEST['pg2_next']; |
---|
212 | } |
---|
213 | |
---|
214 | $data = $this->bo->getMessageUserDate($user, $firstDate, $lastDate, $limitPrevious, $limitNext ); |
---|
215 | |
---|
216 | if(count($data) > 0 ) |
---|
217 | { |
---|
218 | foreach($data as $key=>$value) |
---|
219 | { |
---|
220 | $className = (($key % 2 ) == 0 ) ? "row_off" : "row_on"; |
---|
221 | |
---|
222 | $value_messages .= "<tr>"; |
---|
223 | $value_messages .= "<td align='left' style='width:30%;' class='".$className."'> ".$value['message_from']." </td>"; |
---|
224 | $value_messages .= "<td align='left' style='width:30%;' class='".$className."'> ".$value['message_to']." </td>"; |
---|
225 | $value_messages .= "<td align='center' style='width:10%;' class='".$className."'> ".$value['total_messages']." </td>"; |
---|
226 | $value_messages .= "<td align='center' style='width:10%;' class='".$className."'> ".$this->formatDate($value['first_message'])." </td>"; |
---|
227 | $value_messages .= "<td align='center' style='width:10%;' class='".$className."'> ".$this->formatDate($value['last_message'])." </td>"; |
---|
228 | $value_messages .= "<td align='center' style='width:10%;' class='".$className."'><a href='index.php?menuaction=jabberit_messenger.uilogmessage.getMessageUserComplete&txtUser=".$_REQUEST['txtUser']."&user=".$user."&user1=".$value['message_from']."&user2=".$value['message_to']."&dtfirst=".$value['first_message']."&dtlast=".$value['last_message']."&first_message=".$_REQUEST['first_message']."&last_message=".$_REQUEST['last_message']."&pg1_previous=".$_REQUEST['pg1_previous']."&pg1_next=".$_REQUEST['pg1_next']."&pg2_previous=".$limitPrevious."&pg2_next=".$limitNext."'>".lang("View")."</a></td>"; |
---|
229 | $value_messages .= "</tr>"; |
---|
230 | } |
---|
231 | } |
---|
232 | |
---|
233 | $GLOBALS['phpgw']->template->set_file(array('jabberit_messenger' => 'logMessagesJabber.tpl')); |
---|
234 | $GLOBALS['phpgw']->template->set_block('jabberit_messenger','log_message_date'); |
---|
235 | $GLOBALS['phpgw']->template->set_var(array( |
---|
236 | 'action_url' => $GLOBALS['phpgw']->link('/index.php','menuaction=jabberit_messenger.uilogmessage.getMessageUserDate'), |
---|
237 | 'action_url_back' => $GLOBALS['phpgw']->link('/index.php','menuaction=jabberit_messenger.uilogmessage.getMessageUser'), |
---|
238 | 'bt_previous' => ( $limitPrevious == 0 ) ? '<input type="submit" value="Anterior" name="bt_previous" disabled="disabled" style="color:#cecece !important"/>' : '<input type="submit" value="Anterior" name="bt_previous" />', |
---|
239 | 'bt_next' => ( count($data) < 30 ) ? '<input type="submit" value="Próxima" name="bt_next" disabled="disabled" style="color:#cecece !important"/>' : '<input type="submit" value="Próxima" name="bt_next" />', |
---|
240 | 'label_back' => lang("Back"), |
---|
241 | 'label_first_message' => lang("First Message"), |
---|
242 | 'label_last_message' => lang("Last Message"), |
---|
243 | 'label_next' => lang("Next"), |
---|
244 | 'label_page' => ( count($data) > 0 ) ? lang("Page") . " : " : "", |
---|
245 | 'label_previous' => lang("Previous"), |
---|
246 | 'label_total' => lang("Total"), |
---|
247 | 'label_user_1' => lang("From"), |
---|
248 | 'label_user_2' => lang("To"), |
---|
249 | 'label_view' => lang("View"), |
---|
250 | 'value_first_message' => $_REQUEST['first_message'], |
---|
251 | 'value_last_message' => $_REQUEST['last_message'], |
---|
252 | 'value_messages' => $value_messages, |
---|
253 | 'value_next' => $limitNext, |
---|
254 | 'value_page' => ( count($data) > 0 ) ? (( $limitPrevious / 30 ) + 1) : "", |
---|
255 | 'value_pg1_next' => $_REQUEST['pg1_next'], |
---|
256 | 'value_pg1_previous' => $_REQUEST['pg1_previous'], |
---|
257 | 'value_previous' => $limitPrevious, |
---|
258 | 'value_txtUser' => $_REQUEST['txtUser'], |
---|
259 | 'value_user' => $_REQUEST['user'] |
---|
260 | )); |
---|
261 | |
---|
262 | $GLOBALS['phpgw']->template->pparse('out','log_message_date'); |
---|
263 | } |
---|
264 | |
---|
265 | public function getMessageUserComplete() |
---|
266 | { |
---|
267 | if( !$GLOBALS['phpgw']->acl->check('run',1,'admin') ) |
---|
268 | { |
---|
269 | $GLOBALS['phpgw']->redirect_link('/admin/index.php'); |
---|
270 | } |
---|
271 | |
---|
272 | $GLOBALS['phpgw_info']['flags']['app_header'] = lang('Admin') .' - ' . 'Log de Mensagens Instântaneas - BanderSnatch'; |
---|
273 | |
---|
274 | |
---|
275 | $GLOBALS['phpgw']->common->phpgw_header(); |
---|
276 | echo parse_navbar(); |
---|
277 | |
---|
278 | $user1 = $_REQUEST['user1']; |
---|
279 | $user2 = $_REQUEST['user2']; |
---|
280 | $firstDate = $_REQUEST['dtfirst']; |
---|
281 | $lastDate = $_REQUEST['dtlast']; |
---|
282 | $value_messages = ""; |
---|
283 | |
---|
284 | $limitPrevious = 0; |
---|
285 | $limitNext = 30; |
---|
286 | |
---|
287 | if( $_REQUEST['bt_next'] ) |
---|
288 | { |
---|
289 | $limitPrevious = $_REQUEST['button_previous'] + 30; |
---|
290 | $limitNext = 30; |
---|
291 | } |
---|
292 | else if ( $_REQUEST['bt_previous'] ) |
---|
293 | { |
---|
294 | if( $_REQUEST['button_previous'] != 0 ) |
---|
295 | { |
---|
296 | $limitPrevious = $_REQUEST['button_previous'] - 30; |
---|
297 | $limitNext = 30; |
---|
298 | } |
---|
299 | else |
---|
300 | { |
---|
301 | $limitPrevious = 0; |
---|
302 | $limitNext = 30; |
---|
303 | } |
---|
304 | } |
---|
305 | |
---|
306 | $data = $this->bo->getMessageUserComplete( $user1, $user2, $firstDate, $lastDate, $limitPrevious, $limitNext ); |
---|
307 | |
---|
308 | if( count($data) > 0 ) |
---|
309 | { |
---|
310 | foreach($data as $key=>$value) |
---|
311 | { |
---|
312 | $className = (($key % 2 ) == 0 ) ? "row_off" : "row_on"; |
---|
313 | |
---|
314 | $value_messages .= "<tr>"; |
---|
315 | $value_messages .= "<td align='left' style='width:25%;' class='".$className."'> ".$value['message_from']." </td>"; |
---|
316 | $value_messages .= "<td align='left' style='width:25%;' class='".$className."'> ".$value['message_to']." </td>"; |
---|
317 | $value_messages .= "<td align='left' style='width:40%;' class='".$className."'> ".utf8_decode($value['message_body'])." </td>"; |
---|
318 | $value_messages .= "<td align='center' style='width:10%' class='".$className."'> ".$this->formatDate($value['message_timestamp'])." </td>"; |
---|
319 | $value_messages .= "</tr>"; |
---|
320 | } |
---|
321 | } |
---|
322 | |
---|
323 | $GLOBALS['phpgw']->template->set_file(array('jabberit_messenger' => 'logMessagesJabber.tpl')); |
---|
324 | $GLOBALS['phpgw']->template->set_block('jabberit_messenger','log_message_complete'); |
---|
325 | $GLOBALS['phpgw']->template->set_var(array( |
---|
326 | 'action_url' => $GLOBALS['phpgw']->link('/index.php','menuaction=jabberit_messenger.uilogmessage.getMessageUserComplete'), |
---|
327 | 'action_url_back' => $GLOBALS['phpgw']->link('/index.php','menuaction=jabberit_messenger.uilogmessage.getMessageUserDate'), |
---|
328 | 'bt_previous' => ( $limitPrevious == 0 ) ? '<input type="submit" value="Anterior" name="bt_previous" disabled="disabled" style="color:#cecece !important"/>' : '<input type="submit" value="Anterior" name="bt_previous"/>', |
---|
329 | 'bt_next' => ( count($data) < 30 ) ? '<input type="submit" value="Próximo" name="bt_next" disabled="disabled" style="color:#cecece !important"/>' : '<input type="submit" value="Próximo" name="bt_next" />', |
---|
330 | 'label_back' => lang("Back"), |
---|
331 | 'label_body' => lang("Content"), |
---|
332 | 'label_date' => lang("Date and Hour"), |
---|
333 | 'label_next' => lang("Next"), |
---|
334 | 'label_page' => (count($data) > 0 ) ? lang("Page") . " : " : "", |
---|
335 | 'label_previous' => lang("Previous"), |
---|
336 | 'label_user_1' => lang("From"), |
---|
337 | 'label_user_2' => lang("To"), |
---|
338 | 'value_first_message' => $_REQUEST['first_message'], |
---|
339 | 'value_last_message' => $_REQUEST['last_message'], |
---|
340 | 'value_messages' => $value_messages, |
---|
341 | 'value_next' => $limitNext, |
---|
342 | 'value_page' => (count($data) > 0 ) ? (( $limitPrevious / 30 ) + 1) : "", |
---|
343 | 'value_previous' => $limitPrevious, |
---|
344 | 'value_pg1_next' => $_REQUEST['pg1_next'], |
---|
345 | 'value_pg1_previous' => $_REQUEST['pg1_previous'], |
---|
346 | 'value_pg2_next' => $_REQUEST['pg2_next'], |
---|
347 | 'value_pg2_previous' => $_REQUEST['pg2_previous'], |
---|
348 | 'value_txtUser' => $_REQUEST['txtUser'], |
---|
349 | 'value_user' => $_REQUEST['user'], |
---|
350 | 'value_user1' => $_REQUEST['user1'], |
---|
351 | 'value_user2' => $_REQUEST['user2'], |
---|
352 | 'value_dtfirst' => $_REQUEST['dtfirst'], |
---|
353 | 'value_dtlast' => $_REQUEST['dtlast'] |
---|
354 | )); |
---|
355 | |
---|
356 | $GLOBALS['phpgw']->template->pparse('out','log_message_complete'); |
---|
357 | } |
---|
358 | } |
---|
359 | |
---|
360 | ?> |
---|