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

  • A+
所属分类:Emlog

打开 include/model/comment_model.php 文件

找到

  1. while ($row $this->db->fetch_array($ret)) {

(在这里增加一个获取 useragent 的信息),添加下面的代码:

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

 

添加后如图:

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

 

其次在评论提交中增加一个 useragent 的信息到数据库里,修改代码如下:

  1. function addComment($name$content$mail$url$imgcode$blogId$pid)
  2.     {
  3.         $ipaddr = getIp();
  4.         $useragent = $_SERVER['HTTP_USER_AGENT'];
  5.         $utctimestamp = time();
  6.         if($pid != 0) {
  7.             $comment = $this->getOneComment($pid);
  8.             $content = '@' . addslashes($comment['poster']) . ':' . $content;
  9.         }
  10.         $ischkcomment = Option::get('ischkcomment');
  11.         $hide = ROLE == ROLE_VISITOR   $ischkcomment : 'n';
  12.         $sql = 'INSERT INTO '.DB_PREFIX."comment (date,poster,gid,comment,mail,url,hide,ip,pid,useragent)
  13.                 VALUES ('$utctimestamp','$name','$blogId','$content','$mail','$url','$hide','$ipaddr','$pid','$useragent')";
  14.         $ret = $this->db->query($sql);
  15.         $cid = $this->db->insert_id();
  16.         $CACHE = Cache::getInstance();
  17.         if ($hide == 'n') {
  18.             $this->db->query('UPDATE '.DB_PREFIX."blog SET comnum = comnum + 1 WHERE gid='$blogId'");
  19.             $CACHE->updateCache(array('sta', 'comment'));
  20.             doAction('comment_saved', $cid);
  21.             emDirect(Url::log($blogId).'#'.$cid);
  22.         } else {
  23.             $CACHE->updateCache('sta');
  24.             doAction('comment_saved', $cid);
  25.             emMsg('评论发表成功,请等待管理员审核', Url::log($blogId));
  26.         }
  27.     }

修改后如下图:Emlog 非插件获取评论用户操作系统与浏览器信息

 

然后打开你的博客模板目录,找到 module.php 文件,添加以下代码:

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

调用的格式:

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

将这段代码添加到 module.php 评论列表和子评论列表的适当位置就行了。

其他一些文件直接在下面,下载后放到模板根目录。

useragent.zip 下载地址:http://pan.baidu.com/s/1hsLskPA  密码:d1uj

本资源收集于网络,只做学习和交流使用

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: