source: pro-violet-viettel/sourcecode/application/modules/admin/controllers/collaborator.php

Last change on this file was 906, checked in by namnd, 10 years ago
File size: 8.1 KB
Line 
1<?php
2
3if (!defined('BASEPATH'))
4    exit('No direct script access allowed');
5
6class Collaborator extends MX_Controller {
7
8    public function __construct() {
9        parent::__construct();
10        $this->load->helper('cookie');
11                $this->load->helper('language');
12                $this->lang->load('messages', 'message');
13    }
14
15    public function index() {
16        $data = array();
17        $admin_info = $this->session->userdata('adminInfo');
18        if ($admin_info) {
19                        $roles=array();
20            foreach ($admin_info['roles'] as $role)
21            {
22                $roles[]=$role['role_name'];
23            }
24            //$data['roles']=$roles;
25            $data['content'] = $this->getCollaborators(array(), $roles);
26            $this->load->view('collaborator/index', $data);
27        } else {
28            $this->load->view('login');
29        }
30    }
31
32    public function getCollaborators($filters = array(), $roles) {
33        $this->load->helper('pagging');
34        $this->load->model('collabolator_model');
35                $provinces = lang('_PROVINCES_');
36        $data['current_page'] = $this->uri->segment(4, 1);
37        $data['itemsoptions'] = array(10, 25, 50, 100);
38        $data['perpage'] = 10;
39        $data['keyword'] = "";
40        $data['sorting_order']="sorting_desc";
41        $data['sorting_field']="created_time";
42       
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            $data['perpage'] = $this->input->post('items');
52        }
53        if ($this->input->post('keyword')) {
54            $data['search_field']="";
55            $data['keyword'] = $this->input->post('keyword');
56            $data['search_field']="cellphone";
57           
58            if (preg_match("/[0-9]/", $data['keyword']))
59            {
60               $data['search_field']="cellphone";
61            }
62           
63        }
64                $data['daterange_start'] = "";
65                $data['daterange_end'] = "";
66        if ($this->input->post('daterange')){
67                        $daterange = explode(" - ", $this->input->post('daterange'));
68                        $data['daterange_start'] = date('Y-m-d H:i:s', strtotime($daterange[0]));
69                        $data['daterange_end'] = date('Y-m-d H:is:s', strtotime($daterange[1].' + 1 day'));
70                }
71        $data['start'] = ($data['current_page'] - 1) * $data['perpage'];
72        $data['total'] = $this->collabolator_model->countCollaborator($data); 
73               
74                $collaborators = $this->collabolator_model->getCollaborators($data);
75                foreach ($collaborators as $index => $collaborator){
76                        $collaborator ['province'] = isset($provinces[$collaborator ['province']]) ? $provinces[$collaborator ['province']] : $collaborator ['province'];
77                        $collaborators[$index] = $collaborator;
78                }
79        $data['collaborators'] = $collaborators;
80
81        $data['paging_url'] = base_url() . "/admin/cong_tac_vien/trang/";
82        $data['num_links'] = 2;
83        $data['paging'] = pagging($data);
84                $data['roles'] = $roles;
85               
86        if ($this->input->is_ajax_request()) {
87            return $this->load->view('collaborator/listview', $data);
88        }
89        return $this->load->view('collaborator/listview', $data, true);
90    }
91
92    public function addCollaborator() {
93        $result['success'] = 0;
94        $result = array();
95        $input = $this->input->post();
96        $this->load->model('collabolator_model');
97               
98        if (strlen($input['cellphone'])==0)
99        {
100            $result['errors'][] = array("content"=>lang('_SBG_PHONE_REQUIRED_MSG'),"field"=>"cellphone");
101        }
102        else
103        {
104                        if (!preg_match('/^([0-9]{10,11}$)$/', $input['cellphone'])) {
105                                $result['errors'][] = array("content"=>lang('_SBG_PHONE_FORMAT_ERROR_MSG'), "field"=>"cellphone");
106                        }
107                       
108            if ($this->collabolator_model->isExist(array('field'=>'cellphone','value'=>$input['cellphone'])))
109            {
110                $result['errors'][] = array("content"=>lang("_SBG_PHONE_DUPLICATE_MSG"),"field"=>"cellphone");
111            }
112        }
113       
114        if (!isset($result['errors']))
115        {
116   
117                        $passwd = $this->collabolator_model->createRandomPassword();
118            $input['passwd'] = md5($input['activated']);
119                        $input['login_name'] = $input['cellphone'];
120                        $input['author'] = 1;
121            $input['activated'] = 1;
122            $input['created_time'] = date("Y-m-d H:i:s");
123            $input['updated_time'] = date("Y-m-d H:i:s");
124            $this->load->model('collabolator_model');
125                       
126            $this->collabolator_model->insert($input);
127            $result['success'] = 1;
128        }
129
130       
131        echo json_encode($result);
132    }
133    public function viewUser()
134    {
135        $id=$this->uri->segment(4);
136        $this->load->model('collabolator_model');
137        $data=$this->collabolator_model->getCollaborator($id);
138        $this->load->view('collaborator/viewUser',$data);
139    }
140    public function editUser()
141    {
142        $id=$this->uri->segment(4);
143        $this->load->model('collabolator_model');
144        $data=$this->collabolator_model->getCollaborator($id);
145        $this->load->view('collaborator/editUser',$data);
146    }
147    public function dodeleteUser()
148    {
149        $input=$this->input->post();
150        $id=$input['id'];
151        $this->load->model('collabolator_model');
152        $data=$this->collabolator_model->delete($id);
153        $result['success']=1;
154        echo json_encode($result);
155    }
156    public function deleteUser()
157    {
158        $id=$this->uri->segment(4);
159        $this->load->model('collabolator_model');
160        $data=$this->collabolator_model->getCollaborator($id);
161        $this->load->view('collaborator/deleteUser',$data);
162    }
163    public function updateUser()
164    {
165        $input['activated']=0;
166        $input=  array_merge($input,$this->input->post());
167        $this->load->model('collabolator_model');
168        if (strlen($input['full_name'])==0)
169        {
170            $result['errors'][]="Tên cộng tác viên khÃŽng được để trống";
171        }
172        if (strlen($input['login_name'])==0)
173        {
174            $result['errors'][]="Tên đăng nhập khÃŽng được để trống";
175        }
176        else
177        {
178            if ($this->collabolator_model->isExist(array('field'=>'login_name','value'=>$input['login_name'],'id'=>$input['id'])))
179            {
180                $result['errors'][]="Tên đăng nhập đã được sá»­ dụng";
181            }
182        }
183        if (strlen($input['cellphone'])==0)
184        {
185            $result['errors'][]="Số điện thoại khÃŽng được để trống";
186        }
187        else
188        {
189            if ($this->collabolator_model->isExist(array('field'=>'cellphone','value'=>$input['cellphone'],'id'=>$input['id'])))
190            {
191                $result['errors'][]="Số điện thoại đã được sá»­ dụng";
192            }
193        }
194        if (strlen($input['passwd'])==0)
195        {
196            //$result['errors'][]="Mật khẩu khÃŽng được để trống";
197        }
198        if ($input['passwd'] != $input['passwd2'])
199        {
200            $result['errors'][]="Mật khẩu khÃŽng trùng nhau";
201        }
202        if (!isset($result['errors']))
203        {
204            unset($input['passwd2']);
205            $input['passwd']=md5($input['activated']);
206            $input['updated_time']=date("Y-m-d H:i:s");
207            $this->load->model('collabolator_model');
208            $this->collabolator_model->update($input['id'],$input);
209            $result['success'] = 1;
210        }
211        echo json_encode($result);
212    }
213    public function test() {
214       
215       
216        for ($i = 1; $i <= 500; $i++) {
217            $input['full_name']="Full Name ".$i;
218            $input['login_name']="loginname".$i;
219            $input['passwd']=md5("12345678");
220            $input['cellphone']="01234567".(100+$i);
221            $input['activated']=rand(0,1);
222            $input['created_time']=date("Y-m-d H:i:s");
223            $input['updated_time']=date("Y-m-d H:i:s");
224            $this->load->model('collabolator_model');
225            $this->collabolator_model->insert($input);
226        }
227       
228       
229    }
230
231}
Note: See TracBrowser for help on using the repository browser.