您的位置:首页 > 编程语言 > PHP开发

thinkPHP3.2 记录后台管理员的操作日志

2016-08-03 16:11 375 查看
封装的公共方法,【思路从auth_rule表(权限节点表)中读取节点名称】:

DROP TABLE IF EXISTS `cgw_logs`;
CREATE TABLE `cgw_logs` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`url` varchar(300) NOT NULL COMMENT '操作的url',
`operator` varchar(225) NOT NULL COMMENT '操作管理员名',
`description` char(200) NOT NULL COMMENT '操作行为描述',
`operate_time` int(10) NOT NULL COMMENT '执行时间',
`ip` varchar(300) NOT NULL COMMENT '执行ip地址',
`status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '0:操作成功 1:操作失败',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=246 DEFAULT CHARSET=utf8 COMMENT='系统日志表';

//记录管理员用户的行为日志信息
function action_log($info='',$userid='',$status=true){
$data['url'] = substr(__ACTION__, strpos(__ACTION__, 'index.php')+strlen('index.php')+1);
$data['url']=strtolower($data['url']);
$data['operator'] =empty($userid)?getadminname($_SESSION["ADMIN_ID"]):getadminname($userid);
$data['operate_time'] = NOW_TIME;
$data['ip']=get_client_ip();
$node = M('auth_rule')->where(array('name'=>$data['url']))->find();//查找节点名称
if($status){
$data['status']=0;
}else{
$data['status']=1;
}
if(!empty($node) || !empty($info)){
if($info){
$data['description']=$info;
}else{
$data['description'] = $node['title'];
}
$data['url']=__ACTION__;
M('logs')->add($data);//记录日志
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: