Emlog非插件实现获取评论用户操作系统与浏览器信息

Emlog非插件实现获取评论用户操作系统与浏览器信息

ZJ
ZJ
2019-11-23 / 0 评论 / 362 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2019年11月23日,已超过1615天没有更新,若内容或图片失效,请留言反馈。

首先找到并打开 include/model/comment_model.php 文件 找到如下代码(一般在第45行


while ($row = $this->db->fetch_array($ret)){
           //在这里增加一个获取useragent的信息
}

在上面的位置增加一个获取useragent的信息的代码
$row['useragent'] = htmlspecialchars($row['useragent']);

代码位置如下图所示

Emlog非插件实现获取评论用户操作系统与浏览器信息

其次在249行的评论提交中增加一个useragent的信息到数据库

修改代码如下:

function addComment($name, $content, $mail, $url, $imgcode, $blogId, $pid) 
	{
		$ipaddr = getIp();
		$useragent = $_SERVER['HTTP_USER_AGENT'];
		$utctimestamp = time();
 
		if($pid != 0) {
			$comment = $this->getOneComment($pid);
			$content = '@' . addslashes($comment['poster']) . ':' . $content;
		}
 
		$ischkcomment = Option::get('ischkcomment');
		$hide = ROLE == ROLE_VISITOR ? $ischkcomment : 'n';
 
		$sql = 'INSERT INTO '.DB_PREFIX."comment (date,poster,gid,comment,mail,url,hide,ip,pid,useragent)
				VALUES ('$utctimestamp','$name','$blogId','$content','$mail','$url','$hide','$ipaddr','$pid','$useragent')";
		$ret = $this->db->query($sql);
		$cid = $this->db->insert_id();
		$CACHE = Cache::getInstance();
 
		if ($hide == 'n') {
			$this->db->query('UPDATE '.DB_PREFIX."blog SET comnum = comnum + 1 WHERE gid='$blogId'");
			$CACHE->updateCache(array('sta', 'comment'));
			doAction('comment_saved', $cid);
			emDirect(Url::log($blogId).'#'.$cid);
		} else {
			$CACHE->updateCache('sta');
			doAction('comment_saved', $cid);
			emMsg('评论发表成功,请等待管理员审核', Url::log($blogId));
		}
	}

Emlog获取评论用户操作系统与浏览器信息

然后打开Emlog模板目录并找到module.php文件

添加如下代码:


<?php
//获取评论用户操作系统、浏览器等信息
function useragent($info){
	require_once 'useragent.class.php';
	$useragent = UserAgentFactory::analyze($info);
?>
<img src="<?php echo TEMPLATE_URL.$useragent->platform['image']?>">&nbsp;<?php echo $useragent->platform['title']; ?>&nbsp;
<img src="<?php echo TEMPLATE_URL.$useragent->browser['image']?>">&nbsp;<?php echo $useragent->browser['title']; ?>
<?php
}
?> 

最后再到模版文件module.php中的评论列表和子评论列表适当位置添加如下挂载点代码

<?php echo useragent($comment['useragent']); ?>

本文共 243 个字数,平均阅读时长 ≈ 1分钟
0

评论 (0)

取消