source: branches/2.2.0.1/jabberir_messenger/inc/class.uilogmessage.inc.php @ 4453

Revision 4453, 15.7 KB checked in by rafaelraymundo, 13 years ago (diff)

Ticket #1726 - Adicionando jabberit_messenger da comunidade.

  • Property svn:executable set to *
Line 
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
13require_once "class.bologmessage.inc.php";
14
15class 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?>
Note: See TracBrowser for help on using the repository browser.