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

Last change on this file since 923 was 906, checked in by namnd, 10 years ago
File size: 14.2 KB
RevLine 
[435]1<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
2
[579]3class User_model extends CI_Model
[435]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        {
[906]25               
[435]26                $sql="SELECT * FROM ".$this->table_name;
27                if ($data['status'] == 1){
[767]28                        $sql.=" WHERE expire_date > NOW() AND p_id <> 5";
[435]29                }
30                if ($data['status'] == 2){
[767]31                        $sql.=" WHERE expire_date > NOW() AND p_id = 5";
[435]32                }
[767]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                }
[906]39                //if (isset($data['keyword']))
40                //{
[610]41                        if (strlen($data['keyword'])>0){
42                                if ($data['status']==0){
[883]43                                        if (strlen($data['province'])>0){
44                                                if (strlen($data['district'])>0){
45                                                        if(strlen($data['daterange_start'])>0){
[906]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']."%')";
[883]49                                                        }
50                                                }else{
51                                                        if(strlen($data['daterange_start'])>0){
[906]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']."%')";
[883]55                                                        }
[769]56                                                }
57                                        }else{
58                                                if(strlen($data['daterange_start'])>0){
[906]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']."')";
[769]60                                                }else
61                                                {
[906]62                                                        $sql.=" WHERE (cellphone LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%')";
[769]63                                                }
[690]64                                        }
[610]65                                }else
66                                {
[883]67                                        if (strlen($data['province'])>0){
68                                                if (strlen($data['district'])>0){
69                                                        if(strlen($data['daterange_start'])>0){
[906]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']."')";
[883]71                                                        }else{
[906]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']."%') ";
[883]73                                                        }
[769]74                                                }else{
[883]75                                                        if(strlen($data['daterange_start'])>0){
[906]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']."')";
[883]77                                                        }else{
[906]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']."%') ";
[883]79                                                        }
[769]80                                                }
[883]81                                               
[690]82                                        }
[610]83                                }
[690]84                        }else
85                        {
86                                if(strlen($data['daterange_start'])>0){
[906]87                                       
[690]88                                        if ($data['status']==0){
[883]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                                                        }
[769]95                                                }else{
[818]96                                                        $sql.=" WHERE (created_time BETWEEN '".$data['daterange_start']."' AND '".$data['daterange_end']."')";
[769]97                                                }
[690]98                                        }else{
[883]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                                                        }
[769]105                                                }else{
106                                                        $sql.=" AND (created_time BETWEEN '".$data['daterange_start']."' AND '".$data['daterange_end']."')";
107                                                }
[883]108
[769]109                                        }               
[690]110                                }
[769]111                                else{
112                                        if ($data['status']==0){
[906]113                                       
[883]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                                                        }
[906]120                                                       
[769]121                                                }
122                                        }else{
[906]123                                                write_file('./log/test.log', date("d-m-Y: H:i:s"). ": ".$sql."\n" , FOPEN_WRITE_CREATE);
[883]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                                                        }
[769]131                                                }
[883]132                                               
[769]133                                        }               
134                                }
[610]135                        }
[906]136                //}
[883]137       
[435]138                $order = "";
[883]139               
[435]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                }
[883]148                //write_file('./log/sql.log', date("d-m-Y: H:i:s"). ": ".$sql." ".$order." LIMIT ".$data['start'].", ".$data['perpage']."\n" , FOPEN_WRITE_CREATE);
[435]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){
[767]157                        $sql.=" WHERE expire_date > NOW() AND p_id <> 5";
[435]158                }
159                if ($data['status'] == 2){
[767]160                        $sql.=" WHERE expire_date > NOW() AND p_id = 5";
[435]161                }
[767]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                }
[435]168               
[906]169                //if (isset($data['keyword']))
170                //{
[610]171                        if (strlen($data['keyword'])>0){
172                                if ($data['status']==0){
[883]173                                        if (strlen($data['province'])>0){
174                                                if (strlen($data['district'])>0){
175                                                        if(strlen($data['daterange_start'])>0){
[906]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                                               
[883]181                                                }else{
182                                                        if(strlen($data['daterange_start'])>0){
[906]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                                               
[883]188                                                }
189                                               
[769]190                                        }else{
191                                                if(strlen($data['daterange_start'])>0){
[906]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']."')";
[769]193                                                }else
194                                                {
[906]195                                                        $sql.=" WHERE (cellphone LIKE '%".$data['keyword']."%' OR acc_balanced LIKE '%".$data['keyword']."%' OR province LIKE '%".$data['keyword']."%')";
[769]196                                                }
[690]197                                        }
[610]198                                }else
199                                {
[883]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                                                        }       
[769]207                                                }else{
[883]208                                                        if(strlen($data['daterange_start'])>0){
[906]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']."')";
[883]210                                                        }else{
[906]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']."%') ";
[883]212                                                        }
[769]213                                                }
[690]214                                        }
[610]215                                }
[690]216                        }else
217                        {
218                                if(strlen($data['daterange_start'])>0){
219                                        if ($data['status']==0){
[883]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                                                        }
[769]226                                                }else{
227                                                        $sql.=" AND (created_time BETWEEN '".$data['daterange_start']."' AND '".$data['daterange_end']."')";
228                                                }
[690]229                                        }else{
[883]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                                                        }
[769]236                                                }else{
237                                                        $sql.=" AND (created_time BETWEEN '".$data['daterange_start']."' AND '".$data['daterange_end']."')";
238                                                }
239                                        }               
[690]240                                }
[769]241                                else{
242                                        if ($data['status']==0){
[883]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                                                        }
[769]249                                                }
250                                        }else{
[883]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                                                        }
[769]257                                                }
258                                        }               
259                                }
[610]260                        }
[906]261                //}
262                //write_file('./log/sql.log', date("d-m-Y: H:i:s"). ": ".$sql."\n" , FOPEN_WRITE_CREATE);
[579]263                $query = $this->db->query($sql);
264                $row = $query->row_array();
265               
266                return $row['total'];
[435]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');
[459]272        return $data;
[435]273        }
[584]274       
[883]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        }
[435]293}
Note: See TracBrowser for help on using the repository browser.