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

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