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; } }