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