Emlog评论区显示用户操作系统与浏览器信息教程

近期有不少初入Emlog的站长来咨询Emlog程序的评论区域如何实现获取到评价用户的操作系统和浏览器信息,其实要实现该功能也很简单,而且网上也有不少类是的插件。今天,冬镜就和大家聊聊不用插件来实现获取评论用户操作系统与浏览器信息。

Emlog评论区改造

Emlog评论区改造

Emlog评论区改造教程

温馨提示:做任何改造前,请先备份源码!

1、添加useragent信息

找到 comment_model.php 文件并进行改造,其路径为 include/model/comment_model.php ,该文件中第45行(默认)找到如下代码:

while ($row = $this->db->fetch_array($ret)){
           //增加一个 useragent
}

在上面写增加useragent的地方添加如下代码:

$row['useragent'] = htmlspecialchars($row['useragent']);

2、提交useragent信息到数据库

继续在上一个步骤中的文件执行如下操作,在该文件的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));
		}
	}

3、module.php新增函数

在模版目录文件 module.php 增加一个php函数,其路径为 content/templates/模版文件夹名称/module.php ,新增如下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
}
?>

4、评论区域和子评论区域添加挂载点

在上一步module.php文件中的评论区域代码和子评论区域代码添加挂载点,寻找代码的时候可以直接启用搜索功能快速查找。挂载点变量代码如下:

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

完成改造后效果如下:

Emlog评论区显示用户操作系统与浏览器信息教程

Emlog评论区显示用户操作系统与浏览器信息教程

好了,关于Emlog评论区改造获取用户操作系统与浏览器信息,冬镜就简单分享到这里,如果你还有什么不懂的,评论区留言交流。

支持本站请点击我们的赞助商广告!我们将不断更新精品!

评论0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
没有账号? 忘记密码?