source: pro-violet-viettel/sourcecode/application/modules/admin/controllers/user.php @ 761

Last change on this file since 761 was 742, checked in by namnd, 10 years ago
File size: 4.8 KB
Line 
1<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
2
3class User extends MX_Controller
4{
5       
6        const TOKENPW = 'violet';
7       
8        public function __construct()
9        {
10                parent::__construct();
11                $this->load->helper('cookie');
12        }
13       
14        public function index()
15        {
16                $admin_info = $this->session->userdata('adminInfo');
17                if ($admin_info)
18                {
19                        $data['content'] = $this->get_users();
20                        $this->load->view('user/index', $data);
21                }else
22                {
23                        $this->load->view('login');
24                }
25        }
26       
27        public function get_users()
28        {
29                $this->load->helper('pagging');
30                $this->load->model('user_model');
31                $data['current_page'] = $this->uri->segment(4, 1);
32                $data['itemsoptions'] = array(10, 25, 50, 100);
33                $data['perpage'] = 10;
34                $data['statusoptions'] = array(0=>"Tất cả", 1=>"Đã đăng kÜ", 2=>"Dùng thá»­");
35                $data['status'] = 0;
36                if ($this->input->post('status'))
37                {
38                        $data['status'] = (int)$this->input->post('status') ;
39                }
40                $data['keyword'] = "";
41                $data['sorting_order']="sorting_desc";
42        $data['sorting_field']="created_time";
43                if ($this->input->post('sorting_order')) {
44                        if ($this->input->post('sorting_order') != "sorting")
45                        {
46                                $data['sorting_order'] = $this->input->post('sorting_order');
47                                $data['sorting_field'] = $this->input->post('sorting_field');
48                        }
49                }
50                if ($this->input->post('items'))
51                {
52                        $data['perpage'] = $this->input->post('items');
53                }
54                if ($this->input->post('keyword')) {
55            $data['keyword'] = $this->input->post('keyword');
56        }
57                $data['daterange_start'] = "";
58                $data['daterange_end'] = "";
59                if ($this->input->post('daterange')){
60                        $daterange = explode(" - ", $this->input->post('daterange'));
61                        $daterange[0] = str_replace('/', '-', $daterange[0]);
62                        $daterange[1] = str_replace('/', '-', $daterange[1]);
63                        $data['daterange_start'] = date('Y-m-d H:i:s', strtotime($daterange[0]));
64                        $data['daterange_end'] = date('Y-m-d H:is:s', strtotime($daterange[1].' + 1 day'));
65                }
66                $data['start'] = ($data['current_page'] - 1) * $data['perpage'];
67                $data['total'] = $this->user_model->get_total_users($data);
68                $us = $this->user_model->get_list_users($data);
69                $users = array();
70               
71                foreach($us as $u) {
72                        $id = $u['us_id'];
73                        //$username = $this->get_username($id);
74                        $userinfo = $this->get_userinfo($id);
75                        if($userinfo){
76                                $u['username'] = $userinfo['username'];
77                                $u['province'] = $userinfo['province'];
78                                array_push($users, $u);
79                        }
80                }
81               
82                $data['users'] = $users;
83                $data['paging_url'] = base_url() . "admin/nguoi_dung/trang/";
84                $data['num_links'] = 2;
85                $data['paging'] = pagging($data);
86                if ($this->input->is_ajax_request())
87                {
88                        return $this->load->view('user/listview', $data);
89                }
90                return $this->load->view('user/listview', $data, true);
91        }
92       
93        public function edit_user()
94        {
95                $admin_info = $this->session->userdata('adminInfo');
96                if ($admin_info)
97                {
98                        $input = $this->input->post();
99                        $result = array();
100                        $result['success'] = 0;
101                        $us_id = (int)$this->uri->segment(4, 0);
102                        if ($us_id==0){
103                                $result['success'] = 0;
104                        }else
105                        {
106                                $this->load->model('user_model');
107                                $input['updated_time'] = date("Y-m-d H:i:s");
108                                $this->user_model->update($us_id, $input);
109                                $result['success'] = 1;
110                        }
111                        echo json_encode($result);
112                }else
113                {
114                        $this->load->view('login');
115                }
116        }
117       
118        public function delete_user()
119        {
120                $admin_info = $this->session->userdata('adminInfo');
121                if ($admin_info)
122                {
123                        $result = array();
124                        $result['success'] = 0;
125                        $us_id = (int)$this->uri->segment(4, 0);
126                        if ($us_id == 0){
127                                $result['success'] = 0;
128                        }else
129                        {
130                                $this->load->model('user_model');
131                                $this->user_model->delete($us_id);
132                                $result['success'] = 1;
133                        }
134                        echo json_encode($result);
135                }else
136                {
137                        $this->load->view('login');
138                }
139        }
140       
141        public function get_user_by_id()
142        {
143                $admin_info = $this->session->userdata('adminInfo');
144                if ($admin_info)
145                {
146                        $result = array();
147                        $result['success'] = 0;
148                        $us_id = (int)$this->uri->segment(4, 0);
149                        if ($us_id == 0)
150                        {
151                                $result['success'] = 0;
152                        }else
153                        {
154                                $this->load->model('user_model');
155                                $data = $this->user_model->search_by_id($us_id);
156                                $result['item'] = $data;
157                                $result['success'] = 1;
158                        }
159                        echo json_encode($result);
160                }else
161                {
162                        $this->load->view('login');
163                }
164        }
165       
166        private function get_userinfo($us_id)
167        {
168                $src = 'violet';
169                $token = md5($us_id.self::TOKENPW);
170                $this->load->model('user_model');
171                $data = $this->user_model->get_user_info($src, $us_id, $token);
172                //var_dump($data);
173                $result = array();
174                parse_str($data, $result);
175                return $result;
176                /*
177                if (strpos($data, '&')){
178                        $arr_users = explode("&", $data);
179                        $str_username = $arr_users[1];
180                        $arr_username = explode("=", $str_username);
181                        return $arr_username[1];
182                }else
183                {
184                        return "";
185                }*/
186
187        }
188       
189}
Note: See TracBrowser for help on using the repository browser.