EMLOG评论获取QQ资料 | 传递QQ头像
4
2631
2017年9月30日
在网站找了很多,发现很多基本上已经不能使用,所以自己研究了一个,按照以前的代码进行修改。
首先在module.php文件里找到:
- //blog:发表评论表单
- function blog_comments_post($logid,$ckname,$ckmail,$ckurl,$verifyCode,$allow_remark){
- if($allow_remark == 'y'): ?>
- <div id="comment-place">
- <div class="comment-post" id="comment-post">
- <div class="cancel-reply" id="cancel-reply" style="display:none"><a href="javascript:void(0);" onclick="cancelReply()"><i class="icon-forward"></i> 取消回复</a></div>
- <h3><i class="icon-chat"></i>发表评论<a name="respond"></a></h3>
(以上内容会按照模板的不同而不同,不过基本相似)在这个下面添加
- <p>
- <input onblur="qiuye()" type="text" name="u" id="qqinfo"maxlength="20" list="nickname" value="" size="22" tabindex="1" placeholder="必填" required/><label for="author" ob>QQ*</label>
- </p>
继续第二步,在公共JS里面添加以下代码:
- function qiuye(){var qq_num=document.getElementById("qqinfo").value;
- if(qq_num){
- if( !isNaN(qq_num)){
- $.ajax({
- url:"http://www.f162.cn/get_qq_info.php",
- type:"get",
- data:{qq:qq_num},
- dataType:"json",
- success:function(data){
- document.getElementById("commail").value=(qq_num+'@qq.com');
- document.getElementById("comurl").value=('http://user.qzone.qq.com/'+qq_num);
- $('#comment').focus();
- if(data==null){
- document.getElementById("comname").value=('QQ游客');
- }else{
- document.getElementById("comname").value=(data[qq_num][6]==""?'QQ游客':data[qq_num][6]);
- }
- },
- error:function(err){
- document.getElementById("comname").value=('QQ游客');
- document.getElementById("commail").value=(qq_num+'@qq.com');
- document.getElementById("comurl").value=('http://user.qzone.qq.com/'+qq_num);
- $('#comment').focus();
- }
- });
- }else{
- alert('你输入的好像不是QQ号码');
- $('#qqinfo').focus();
- }
- }else{
- alert('请输入您的QQ号');
- $('#qqinfo').focus();
- }
- }
表单需要增加ID信息,给每个input增加ID信息,相信一般看得懂代码的人都会点吧,不会的留言即可。
到了这一步基本上QQ信息已经获取到了,然后就是显示头像的事情了。
module.php找到评论列表里面的:
- <div class="comment-head">
- <?php if($isGravatar == 'y'): ?>
- <img src="http://q.qlogo.cn/headimg_dl?bs=qq&dst_uin=<?php $a=$comment['mail'];echo str_replace("@qq.com","",$a);?>&src_uin=www.feifeiboke.com&fid=blog&spec=100" alt="avatar" class="avatar" /><?php endif; ?>
- <?php if(strip_tags($comment['poster'])==$name){echo "<span class='sbname'>".$name."</span>";}else{echo "<span class='name'>".$comment['poster']."</span>";} ?><span class="floor"><?php if($i>3) echo '#'.$i.'';elseif($i==3) echo '地板';elseif($i==2) echo '板凳';elseif($i==1)echo '沙发'; ?></span>
- </div>
这边我是修改过了。找到img属性,吧img里面src参数修改成:
- src="http://q.qlogo.cn/headimg_dl?bs=qq&dst_uin=<?php $a=$comment['mail'];echo str_replace("@qq.com","",$a);?>&src_uin=www.yankj.com&fid=blog&spec=100"
子评论列表相同方式,最新评论改成:
- src="http://q.qlogo.cn/headimg_dl?bs=qq&dst_uin=<?php $a=$value['mail'];echo str_replace("@qq.com","",$a);?>&src_uin=www.yankj.com&fid=blog&spec=100"
此方法有一个弊端:
邮箱必须是QQ邮箱,否则头像将显示QQ默认头像
Ps:原创很累,虽然第一个不是我发明的,但是基本上很多代码都是自己修改的,转载请留下版权,谢谢。
这个主题简介啊