| <?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 MyAction(){ | 
|         $user_id = $this->session['user']['user_id']; | 
|         $user = $this->user_service->getUserInfo(array('_id' => $user_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['edit_time'] = time(); | 
|                 if($this->user_service->update($data, array('_id' => $user_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; | 
|     } | 
|   | 
| } |