source: pro-violet-viettel/sourcecode/application/modules/admin/models/user_model.php

Last change on this file was 906, checked in by namnd, 10 years ago
File size: 14.2 KB
Line 
1<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
2
3class User_model extends CI_Model
4{
5       
6        protected $table_name = 'tbluser';
7        protected $id_name = 'us_id';
8
9        function __construct()
10        {
11                parent::__construct();
12                $this->vservices->setApiUrl($this->config->item('api_url'));
13                $this->vservices->setConnection($this->curl);
14        }
15       
16        function check_data($login_name)
17        {
18                $this->db->where('login_name', $login_name);
19                $query = $this->db->get($this->table_name);
20                return $query->num_rows();
21        }
22       
23        function get_list_users($data)
24        {
25               
26                $sql="SELECT * FROM ".$this->table_name;
27                if ($data['status'] == 1){
28                        $sql.=" WHERE expire_date > NOW() AND p_id <> 5";
29                }
30                if ($data['status'] == 2){
31                        $sql.=" WHERE expire_date > NOW() AND p_id = 5";
32                }
33                if ($data['status'] == 3){
34                        $sql.=" WHERE expire_date < NOW() AND p_id = 5";
35                }
36                if ($data['status'] == 4){
37                        $sql.=" WHERE expire_date < NOW() AND p_id <> 5";
38                }
39                //if (isset($data['keyword']))
40                //{
41                        if (strlen($data['keyword'])>0){
42                                if ($data['status']==0){
43                                        if (strlen($data['province'])>0){
44                                                if (strlen($data['district'])>0){
45                                                        if(strlen($data['daterange_start'])>0){
46                                                                $sql.=" WHERE province = '".$data['province']."' AND district = '".$data['district']."' AND (cellphone LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%') AND (created_time BETWEEN '".$data['daterange_start']."' AND '".$data['daterange_end']."')";
47                                                        }else{
48                                                                $sql.=" WHERE province = '".$data['province']."' AND district = '".$data['district']."' AND (cellphone LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%')";
49                                                        }
50                                                }else{
51                                                        if(strlen($data['daterange_start'])>0){
52                                                                $sql.=" WHERE province = '".$data['province']."' AND (cellphone LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%') AND (created_time BETWEEN '".$data['daterange_start']."' AND '".$data['daterange_end']."')";
53                                                        }else{
54                                                                $sql.=" WHERE province = '".$data['province']."' AND (cellphone LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%')";
55                                                        }
56                                                }
57                                        }else{
58                                                if(strlen($data['daterange_start'])>0){
59                                                        $sql.=" WHERE (cellphone LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%') AND (created_time BETWEEN '".$data['daterange_start']."' AND '".$data['daterange_end']."')";
60                                                }else
61                                                {
62                                                        $sql.=" WHERE (cellphone LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%')";
63                                                }
64                                        }
65                                }else
66                                {
67                                        if (strlen($data['province'])>0){
68                                                if (strlen($data['district'])>0){
69                                                        if(strlen($data['daterange_start'])>0){
70                                                                $sql.=" AND province = '".$data['province']."' AND district = '".$data['district']."' AND (cellphone LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR district LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%') AND (created_time BETWEEN '".$data['daterange_start']."' AND '".$data['daterange_end']."')";
71                                                        }else{
72                                                                $sql.=" AND province = '".$data['province']."' AND district = '".$data['district']."' AND (cellphone LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR district LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%') ";
73                                                        }
74                                                }else{
75                                                        if(strlen($data['daterange_start'])>0){
76                                                                $sql.=" AND province = '".$data['province']."' AND (cellphone LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR district LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%') AND (created_time BETWEEN '".$data['daterange_start']."' AND '".$data['daterange_end']."')";
77                                                        }else{
78                                                                $sql.=" AND province = '".$data['province']."' AND (cellphone LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR district LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%') ";
79                                                        }
80                                                }
81                                               
82                                        }
83                                }
84                        }else
85                        {
86                                if(strlen($data['daterange_start'])>0){
87                                       
88                                        if ($data['status']==0){
89                                                if (strlen($data['province'])>0){
90                                                        if (strlen($data['district'])>0){
91                                                                $sql.=" WHERE province = '".$data['province']."' AND district = '".$data['district']."' AND created_time BETWEEN '".$data['daterange_start']."' AND '".$data['daterange_end']."'";
92                                                        }else{
93                                                                $sql.=" WHERE province = '".$data['province']."' AND created_time BETWEEN '".$data['daterange_start']."' AND '".$data['daterange_end']."'";
94                                                        }
95                                                }else{
96                                                        $sql.=" WHERE (created_time BETWEEN '".$data['daterange_start']."' AND '".$data['daterange_end']."')";
97                                                }
98                                        }else{
99                                                if (strlen($data['province'])>0){
100                                                        if (strlen($data['district'])>0){
101                                                                $sql.=" AND province = '".$data['province']."' AND district = '".$data['district']."' AND (created_time BETWEEN '".$data['daterange_start']."' AND '".$data['daterange_end']."')";
102                                                        }else{
103                                                                $sql.=" AND province = '".$data['province']."' AND (created_time BETWEEN '".$data['daterange_start']."' AND '".$data['daterange_end']."')";
104                                                        }
105                                                }else{
106                                                        $sql.=" AND (created_time BETWEEN '".$data['daterange_start']."' AND '".$data['daterange_end']."')";
107                                                }
108
109                                        }               
110                                }
111                                else{
112                                        if ($data['status']==0){
113                                       
114                                                if (strlen($data['province'])>0){
115                                                        if (strlen($data['district'])>0){
116                                                                $sql.=" WHERE province = '".$data['province']."' AND district = '".$data['district']."'";
117                                                        }else{
118                                                                $sql.=" WHERE province = '".$data['province']."'";
119                                                        }
120                                                       
121                                                }
122                                        }else{
123                                                write_file('./log/test.log', date("d-m-Y: H:i:s"). ": ".$sql."\n" , FOPEN_WRITE_CREATE);
124                                                if (strlen($data['province'])>0){
125                                                        if (strlen($data['district'])>0){
126                                                                $sql.=" AND province = '".$data['province']."' AND district = '".$data['district']."'";
127                                                        }else{
128                                                                $sql.=" AND province = '".$data['province']."'";
129
130                                                        }
131                                                }
132                                               
133                                        }               
134                                }
135                        }
136                //}
137       
138                $order = "";
139               
140                if ($data['sorting_order'] != "sorting") {
141                        if($data['sorting_field'] != "status"){
142                                $sort = "DESC";
143                                if ($data['sorting_order'] == "sorting_asc")
144                                        $sort = "ASC";
145                                $order = "ORDER BY " . $data['sorting_field'] . " " . $sort;
146                        }
147                }
148                //write_file('./log/sql.log', date("d-m-Y: H:i:s"). ": ".$sql." ".$order." LIMIT ".$data['start'].", ".$data['perpage']."\n" , FOPEN_WRITE_CREATE);
149                return $this->db->query($sql." ".$order." LIMIT ".$data['start'].", ".$data['perpage']." ")->result_array();
150        }
151
152        function get_total_users($data)
153        {
154                $sql="SELECT COUNT(".$this->id_name.") AS total FROM ".$this->table_name;
155               
156                if ($data['status'] == 1){
157                        $sql.=" WHERE expire_date > NOW() AND p_id <> 5";
158                }
159                if ($data['status'] == 2){
160                        $sql.=" WHERE expire_date > NOW() AND p_id = 5";
161                }
162                if ($data['status'] == 3){
163                        $sql.=" WHERE expire_date < NOW() AND p_id = 5";
164                }
165                if ($data['status'] == 4){
166                        $sql.=" WHERE expire_date < NOW() AND p_id <> 5";
167                }
168               
169                //if (isset($data['keyword']))
170                //{
171                        if (strlen($data['keyword'])>0){
172                                if ($data['status']==0){
173                                        if (strlen($data['province'])>0){
174                                                if (strlen($data['district'])>0){
175                                                        if(strlen($data['daterange_start'])>0){
176                                                                $sql.=" WHERE province = '".$data['province']."' AND district = '".$data['district']."' AND (cellphone LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%') AND (created_time BETWEEN '".$data['daterange_start']."' AND '".$data['daterange_end']."')";
177                                                        }else{
178                                                                $sql.=" WHERE province = '".$data['province']."' AND district = '".$data['district']."' AND (cellphone LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%')";
179                                                        }
180                                               
181                                                }else{
182                                                        if(strlen($data['daterange_start'])>0){
183                                                                $sql.=" WHERE province = '".$data['province']."' AND (cellphone LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%') AND (created_time BETWEEN '".$data['daterange_start']."' AND '".$data['daterange_end']."')";
184                                                        }else{
185                                                                $sql.=" WHERE province = '".$data['province']."' AND (cellphone LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%')";
186                                                        }
187                                               
188                                                }
189                                               
190                                        }else{
191                                                if(strlen($data['daterange_start'])>0){
192                                                        $sql.=" WHERE (cellphone LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%') AND (created_time BETWEEN '".$data['daterange_start']."' AND '".$data['daterange_end']."')";
193                                                }else
194                                                {
195                                                        $sql.=" WHERE (cellphone LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%')";
196                                                }
197                                        }
198                                }else
199                                {
200                                        if (strlen($data['province'])>0){
201                                                if (strlen($data['district'])>0){
202                                                        if(strlen($data['daterange_start'])>0){
203                                                                $sql.=" AND province = '".$data['province']."' AND district = '".$data['district']."' AND (cellphone LIKE '%".$data['keyword']."%' OR collaborator LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR district LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%') AND (created_time BETWEEN '".$data['daterange_start']."' AND '".$data['daterange_end']."')";
204                                                        }else{
205                                                                $sql.=" AND province = '".$data['province']."' AND district = '".$data['district']."' AND (cellphone LIKE '%".$data['keyword']."%' OR collaborator LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR district LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%') ";
206                                                        }       
207                                                }else{
208                                                        if(strlen($data['daterange_start'])>0){
209                                                                $sql.=" AND province = '".$data['province']."' AND (cellphone LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR district LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%') AND (created_time BETWEEN '".$data['daterange_start']."' AND '".$data['daterange_end']."')";
210                                                        }else{
211                                                                $sql.=" AND province = '".$data['province']."' AND (cellphone LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR district LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%') ";
212                                                        }
213                                                }
214                                        }
215                                }
216                        }else
217                        {
218                                if(strlen($data['daterange_start'])>0){
219                                        if ($data['status']==0){
220                                                if (strlen($data['province'])>0){
221                                                        if (strlen($data['district'])>0){
222                                                                $sql.=" WHERE province = '".$data['province']."' AND district = '".$data['district']."' AND created_time BETWEEN '".$data['daterange_start']."' AND '".$data['daterange_end']."'";
223                                                        }else{
224                                                                $sql.=" WHERE province = '".$data['province']."' AND created_time BETWEEN '".$data['daterange_start']."' AND '".$data['daterange_end']."'";
225                                                        }
226                                                }else{
227                                                        $sql.=" AND (created_time BETWEEN '".$data['daterange_start']."' AND '".$data['daterange_end']."')";
228                                                }
229                                        }else{
230                                                if (strlen($data['province'])>0){
231                                                        if (strlen($data['district'])>0){
232                                                                $sql.=" AND province = '".$data['province']."' AND district = '".$data['district']."' AND (created_time BETWEEN '".$data['daterange_start']."' AND '".$data['daterange_end']."')";
233                                                        }else{
234                                                                $sql.=" AND province = '".$data['province']."' AND (created_time BETWEEN '".$data['daterange_start']."' AND '".$data['daterange_end']."')";
235                                                        }
236                                                }else{
237                                                        $sql.=" AND (created_time BETWEEN '".$data['daterange_start']."' AND '".$data['daterange_end']."')";
238                                                }
239                                        }               
240                                }
241                                else{
242                                        if ($data['status']==0){
243                                                if (strlen($data['province'])>0){
244                                                        if (strlen($data['district'])>0){
245                                                                $sql.=" WHERE province = '".$data['province']."' AND district = '".$data['district']."'";
246                                                        }else{
247                                                                $sql.=" WHERE province = '".$data['province']."'";
248                                                        }
249                                                }
250                                        }else{
251                                                if (strlen($data['province'])>0){
252                                                        if (strlen($data['district'])>0){
253                                                                $sql.=" AND province = '".$data['province']."' AND district = '".$data['district']."'";
254                                                        }else{
255                                                                $sql.=" AND province = '".$data['province']."'";
256                                                        }
257                                                }
258                                        }               
259                                }
260                        }
261                //}
262                //write_file('./log/sql.log', date("d-m-Y: H:i:s"). ": ".$sql."\n" , FOPEN_WRITE_CREATE);
263                $query = $this->db->query($sql);
264                $row = $query->row_array();
265               
266                return $row['total'];
267        }
268       
269        function get_user_info($src, $us_id, $token)
270        {
271                $data = $this->vservices->actionExecute('getinfo', array('src' => $src, 'us_id' => $us_id, 'token'=>$token), 'user');
272        return $data;
273        }
274       
275        public function getDistrictByProvince($provinceId){
276                $sql = "SELECT * FROM tbldistrict WHERE province_id = ?";
277                $query = $this->db->query ( $sql, array (
278                                $provinceId
279                ) );
280                $results = $query->result_array();
281                return $results;
282        }
283       
284        public function getDistrictByIdAndProvince($districtId, $provinceId){
285                $sql = "SELECT * FROM tbldistrict WHERE district_id = ? AND province_id = ?";
286                $query = $this->db->query ( $sql,array ($districtId, $provinceId) );
287                if ($query->num_rows () > 0) {
288                        $row = $query->row_array ();
289                        return $row;
290                }
291               
292        }
293}
Note: See TracBrowser for help on using the repository browser.