<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Adminuser extends CI_Controller
{
private static $data = array();
public function __construct()
{
parent::__construct();
$this->load->model('Role_model', 'role');
$this->load->model('Admin_model', 'admin');
$this->load->model('Public_model', 'public');
$this->load->model('Webcommon_model','common') self::$data['header'] = $this->public->header('管理员');
self::$data['left'] = $this->public->leftmenu('adminuser');
self::$data['footer'] = $this->public->footer();
$this->load->library('Session');
$this->public->authentication();
}
public function index()
{
if($_GET){
$draw = $_GET['draw'] $order_column = $_GET['order']['0']['column'] $order_dir = $_GET['order']['0']['dir'] $orderSql = "";
if(isset($order_column)){
$i = intval($order_column);
switch($i){
case 0;$orderSql = " order by adminId ".$order_dir;break; case 3;$orderSql = " order by roleId ".$order_dir;break; default;$orderSql = '';
}
}
$search = $_GET['search']['value']
$start = $_GET['start'] $length = $_GET['length'] $limitSql = '';
$limitFlag = isset($_GET['start']) && $length != -1 ;
if ($limitFlag ) {
$limitSql = " LIMIT ".intval($start).", ".intval($length);
}
$sumSql = "SELECT count(*) as sum FROM admin as a WHERE a.deleteFlag=0";
$sumSqlWhere =" and (a.adminName LIKE '%".$search."%' or a.realName LIKE '%".$search."%')";
$recordsFiltered = 0;
$recordsTotal = 0;
$total = $this->common->getsqldata($sumSql);
$recordsTotal = $total[0]['sum'];
$totalResultSql = "SELECT a.* FROM admin as a WHERE a.deleteFlag=0";
if(strlen($search)>0){
$total = $this->common->getsqldata($sumSql.$sumSqlWhere);
$recordsFiltered = $total[0]['sum'];
$list =$this->common->getsqldata($totalResultSql.$sumSqlWhere.$orderSql.$limitSql);
}else{
$recordsFiltered = $recordsTotal;
$list = $this->common->getsqldata($totalResultSql.$orderSql.$limitSql);
}
header("Content-Type:text/html;charset=utf-8"); foreach($list as $key=>$value)
{
$roleInfo = $this->role->getRoleRow( $value['roleId']);
$list[$key]['roleName'] = $roleInfo['roleName'];
}
exit(json_encode(array(
"draw" => intval($draw),
"recordsTotal" => intval($recordsTotal),
"recordsFiltered" => intval($recordsFiltered),
"data" => $list
)));
}else {
$this->load->view('admincp/adminuser/adminuserlist', self::$data);
}
}
public function edit($adminId = 0)
{
$adminId = $this->input->get_post('adminId');
$roleInfo = $this->role->getRoleList('','roleId,roleName',100);
$adminUserInfo = $this->admin->getAdminRow($adminId);
self::$data['adminId'] = $adminId;
self::$data['adminUserInfo'] = $adminUserInfo;
self::$data['roleList'] = $roleInfo;
$this->load->view('admincp/adminuser/adminuserinfo', self::$data);
}
public function editpass()
{
self::$data['adminName'] = $_SESSION['adminName'];
$this->load->view('admincp/adminuser/editpass', self::$data);
}
public function updatepass()
{
$referer = !empty($url) ? $this->config->item('base_url') . base64_decode($url) : $this->config->item('base_url') . '/admincp/adminuser/editpass';
$oldpassword = $this->input->post('password');
$newpassword = $this->input->post('newpassword');
$newpassword2 = $this->input->post('newpassword2');
if ($newpassword!=$newpassword2){
$msg = '修改失败!,两次密码不同';
$isok = 1;
echo $this ->public->message( $msg, $referer, $isok, array(), array('keyword'=>'adminuser'));exit;
} $adminId = $_SESSION['adminId'];
$adminUserInfo = $this->admin->getAdminRow($adminId);
if (md5($oldpassword)!=$adminUserInfo['password']){
$msg = '修改失败!,原密码错误';
$isok = 1;
echo $this ->public->message( $msg, $referer, $isok, array(), array('keyword'=>'adminuser'));exit;
}
$userData = array(
'password' => md5($newpassword),
); $bool = $this->admin->setAdminByID($userData, $adminId);
$msg = $bool ? '修改成功!' : '修改失败!';
$isok = $bool ? 0 : 1;
echo $this ->public->message( $msg, $referer, $isok, array(), array('keyword'=>'adminuser'));exit;
}
public function updateData()
{
$url = trim($this->input->get_post('backurl'));
$referer = !empty($url) ? $this->config->item('base_url') . base64_decode($url) : $this->config->item('base_url') . '/admincp/adminuser';
$adminId = $this->input->post('adminId');
$adminName = $this->input->post('adminName');
$realName = $this->input->post('realName');
$password = $this->input->post('password');
$roleId = $this->input->post('roleId');
if (empty($adminId))
{
$password = md5($password);
$userData = array(
'adminName' => $adminName,
'realName' => $realName,
'password' => $password,
'roleId' => $roleId
);
$bool = $this->admin->insertData( $userData );
$msg = $bool ? '添加成功!' : '添加失败!';
$isok = $bool ? 0 : 1;
}
else
{
$userData = array(
'adminName' => $adminName,
'realName' => $realName,
'roleId' => $roleId
);
if(!empty($password))
{
$password = md5($password);
$userData = array_merge($userData,array('password'=>$password));
}
$bool = $this->admin->setAdminByID($userData, $adminId);
$msg = $bool ? '修改成功!' : '修改失败!';
$isok = $bool ? 0 : 1;
}
echo $this ->public -> message( $msg, $referer, $isok, array(), array('keyword'=>'adminuser'));exit;
}
public function ajaxcheck()
{
$res = array('status' => 0);
$adminId = $this->input->post('adminId');
$adminName = $this->input->post('adminName');
$data = $this->admin->checkUnique(trim($adminName),$adminId);
if(!empty($data))
{
$res['status'] = 1;
}
echo json_encode($res);
}
public function delete()
{
$res = array(
'err' => 1,
'msg' => '系统错误'
);
$adminId = trim($this->input->get_post('adminId'));
$adminInfo = $this->admin->getAdminRow($adminId);
if (empty($adminInfo))
{
$res['msg'] = '参数错误';
echo json_encode($res);
exit();
}
$bool = $this->admin->delete( $adminId );
$res['err'] = $bool ? 0 : 1;
$res['msg'] = $bool ? '删除成功' : '删除失败';
echo json_encode($res);
exit();
}
public function qrcode()
{
$this->load->view('admincp/adminuser/qrcode', self::$data);
}
public function generateQRfromGoogle($widhtHeight ='150')
{
$chl = "http://m-dev.zhiyuntcm.com/#/register";
$chl = urlencode($chl);
echo '<img src="https://api.qrserver.com/v1/create-qr-code/?size='.$widhtHeight.'x'.$widhtHeight.'
&data='.$chl.'" alt="QR code" />';
}
}