colly_wyx
2017-08-10 f7a98b088d5f7246cf12ee072169057a8e762664
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?php 
 
class UserController extends System_Controller_Admin{
 
    public function init(){
        parent::init();
        $this->user_service = new Service_User();
    }
 
    /**
     * 用户列表
     */
    public function ListAction(){
        if($this->getRequest()->isXmlHttpRequest()){
            $total = $this->user_service->getUserListTotal();
            $data['draw'] = !empty($_REQUEST['draw'])?$_REQUEST['draw']:1;
            $data['start'] = !empty($_REQUEST['start'])?$_REQUEST['start']:0;
            $data['length'] = !empty($_REQUEST['length'])?$_REQUEST['length']:10;
            $data['recordsTotal'] = $total;
            $data['recordsFiltered'] = $total;
            $data['data'] = $this->user_service->getUserList(array(), array(), array(), $data['length'], $data['start']);
            exit($this->sendToDataTable($data));
        }
    }
 
    /**
     * 添加用户
     */
    public function AddAction(){
        if($this->getRequest()->isXmlHttpRequest()){
            $data['phone'] = $this->post('phone');
            if(!$this->_checkPhone($data['phone'])){
                exit($this->showError('手机号码已存在,无法继续创建', 400, true));
            }
            $data['encrypt'] = Util::random(8);
            $data['password'] = md5(md5($this->post('password', '123456')).$data['encrypt']);
            $data['nickname'] = $this->post('nickname');
            $data['refresh_frequency'] = $this->post('refresh_frequency');
            $data['is_open_upload'] = $this->post('is_open_upload');
            $data['video'] = $this->post('video');
            $data['role'] = $this->post('role');
            $data['create_time'] = time();
            $data['edit_time'] = $data['create_time'];
            $data['is_lock'] = $this->post('is_lock');
             if($this->user_service->add($data)){
                exit($this->showSuccess('用户添加成功', true));
            }
            else{
                exit($this->showError($this->user_service->error, 400, true));
            }
        }
        $role_service = new service_Role();
        $roles = $role_service->getRoleList();
        $this->getView()->assign('roles', $roles);
    }
 
    /**
     * 修改用户
     */
    public function EditAction($id){
        $user = $this->user_service->getUserInfo(array('_id' => $id));
        if($user){
            if($this->getRequest()->isXmlHttpRequest()){
                $data['nickname'] = $this->post('nickname');
                $password = $this->post('password');
                if(!empty($password))
                $data['password'] = md5(md5($password).$user['encrypt']);
                $data['refresh_frequency'] = $this->post('refresh_frequency');
                $data['is_open_upload'] = $this->post('is_open_upload');
                $data['video'] = $this->post('video');
                $data['role'] = $this->post('role');
                $data['edit_time'] = time();
                $data['is_lock'] = $this->post('is_lock');
                if($this->user_service->update($data, array('_id' => $id))){
                    exit($this->showSuccess('用户修改成功', true));
                }
                else{
                    exit($this->showError($this->user_service->error, 400, true));
                }
            }
            $role_service = new Service_Role();
            $roles = $role_service->getRoleList();
            $this->getView()->assign(array('user' => $user, 'roles' => $roles));
        }
        else{
            $this->redirect('/error/show/type/no_data');
        }
    }
 
    /**
     * 验证手机号码是否存在
     */
    public function CheckPhoneAction(){
        $phone = $this->post('phone');
        $result = $this->_checkPhone($phone);
        if($this->isAjax()){
            exit($this->send(array('valid' => $result)));
        }
        else{
            return $result;
        }
    }
 
    /**
     * 验证号码是否存在
     * @param  [type] $phone [description]
     * @return [type]        [description]
     */
    public function _checkPhone($phone){
        $user = $this->user_service->getUserInfo(array('phone' => $phone));
        if($user)
            return false;
        else
            return true;
    }
 
}