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

Revision 4453, 3.3 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
13define('PHPGW_INCLUDE_ROOT','../');     
14define('PHPGW_API_INC','../phpgwapi/inc');
15require_once(PHPGW_API_INC . '/class.db.inc.php');
16
17class bologmessage
18{
19        private $db;
20        private $db_name;
21        private $db_host;
22        private $db_port;
23        private $db_user;
24        private $db_pass;
25        private $db_type;
26       
27        function __construct()
28        {
29                $this->db = new db();
30                $this->db_name = "bandersnatch";
31                $this->db_host = "localhost";
32                $this->db_port = "3306";
33                $this->db_user = "";
34                $this->db_pass = "";
35                $this->db_type = "mysql";
36                $this->connectDB();
37        }
38
39        function __destruct()
40        {
41                $this->db->disconnect();               
42        }
43
44        private function connectDB()
45        {
46                $this->db->connect($this->db_name,$this->db_host,$this->db_port,$this->db_user,$this->db_pass,$this->db_type);
47        }       
48
49        public function getMessageUser( $pUser, $pLim1, $pLim2 )
50        {
51                $query = "SELECT message_from, COUNT(*) AS total_messages, MIN(message_timestamp) AS first_message, MAX(message_timestamp) AS last_message FROM message WHERE message_from like '%".$pUser."%' GROUP BY message_from LIMIT ".$pLim1.",".$pLim2.";";
52
53                $data = array();
54
55                if($this->db->query($query))
56                {
57                        while($this->db->next_record())
58                                $data[] = $this->db->row();
59                }
60               
61                return $data;
62        }
63       
64        public function getMessageUserDate( $pUser, $pDtFirst, $pDtLast, $pLim1, $pLim2 )
65        {
66                $data           = array();
67                $field_1        = "message_from";
68                $field_2        = "message_to";
69               
70                $user = explode( '@', $pUser );
71                $user = rawurlencode( $user[ 0 ] ) . '@' . $user[ 1 ];
72
73                $query = "SELECT ".$field_1.", ".$field_2.", COUNT(*) AS total_messages, MIN(message_timestamp) AS first_message, MAX(message_timestamp) AS last_message FROM message WHERE ".$field_1." = '".$user."' AND message_timestamp BETWEEN '".$pDtFirst."' AND '".$pDtLast."' GROUP BY ".$field_2." LIMIT ".$pLim1.",".$pLim2.";";
74               
75                if($this->db->query($query))
76                {
77                        while($this->db->next_record())
78                                $data[] = $this->db->row();
79                }
80               
81                return $data;
82        }
83       
84        public function getMessageUserComplete( $pUser1, $pUser2, $pDtFirst, $pDtLast, $pLim1, $pLim2 )
85        {
86                $user1 = explode( '@', $pUser1 );
87                $user1 = rawurlencode( $user1[ 0 ] ) . '@' . $user1[ 1 ];
88               
89                $user2 = explode( '@', $pUser2 );
90                $user2 = rawurlencode( $user2[ 0 ] ) . '@' . $user2[ 1 ];
91               
92                $query = "SELECT message_from, message_to, message_body, message_timestamp FROM message WHERE message_from = '".$user1."' AND message_to = '".$user2."' AND message_timestamp BETWEEN '".$pDtFirst."' AND '".$pDtLast."' ORDER BY message_timestamp DESC LIMIT ".$pLim1.",".$pLim2.";";
93               
94                if($this->db->query($query))
95                {
96                        while($this->db->next_record())
97                                $data[] = $this->db->row();
98                }
99               
100                return $data;
101        }
102}
103
104?>
Note: See TracBrowser for help on using the repository browser.