最近在做一个自定义的用户主页,需要用到收听和取消收听,但是默认的用户空间和card名片里的代码拿出来无效。所以自己改了下,只要能获取到双方uid即可在任意位置和页面使用。
只是简单的示例:
一.当前登陆用户与网友主页的收听关系,适用于单独按钮:
查询
- $ismyfav=DB::result_first("select followuid from ".DB::table("home_follow")." WHERE `uid` = $_G[uid] AND `followuid`=$_GET[uid]");
复制代码 然后模板中使用代码:
- <!--{if !$ismyfav}-->
- <a id="followmod" onclick="showWindow(this.id, this.href, 'get', 0);" href="home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&fuid=$_GET[uid]" class="btn btn-block btn-default">收听TA</a>
- <!--{else}-->
- <a id="followmod" onclick="showWindow(this.id, this.href, 'get', 0);" href="home.php?mod=spacecp&ac=follow&op=del&fuid=$_GET[uid]" class="btn btn-block btn-default">取消收听</a>
- <!--{/if}-->
复制代码 需要用到的JS
- <script type="text/javascript">
- function succeedhandle_followmod(url, msg, values) {
- var fObj = $('followmod');
- if(values['type'] == 'add') {
- fObj.innerHTML = '取消收听';
- fObj.href = 'home.php?mod=spacecp&ac=follow&op=del&fuid='+values['fuid'];
- } else if(values['type'] == 'del') {
- fObj.innerHTML = '收听TA';
- fObj.href = 'home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&fuid='+values['fuid'];
- }
- }
- </script>
复制代码 二、关注我的/TA的
查询:
- $followinglists=array();
- $fgs=DB::query("SELECT a.*,b.* FROM ".DB::table("home_follow")." a LEFT JOIN ".DB::table("common_member")." b on b.uid=a.uid WHERE a.`uid` = $_GET[uid] AND b.`status`=0 ORDER BY a.`dateline` DESC LIMIT 0,50");
- while ($fg=DB::fetch($fgs)) {
- $followinglists[]=$fg;
- }
复制代码 模板中调出列表:
- <!--{loop $followerlists $fls}-->
- <!--{eval $isuserfav=DB::result_first("select followuid from ".DB::table("home_follow")." WHERE `uid` = $_G[uid] AND `followuid`=$fls[fuid]");}-->
- <div class="col-xs-12 col-sm-6 col-md-4">
- <div class="media user-card">
- <div class="media-left"><a title=" href=""><img class="media-object avatar-48" src="uc_server/avatar.php?uid=$fls['fuid']&size=middle" alt="56"></a></div>
- <div class="media-body">
- <div class="media-heading"><a class="user-name" data-name="congteng" href="user.php?uid=$fls['fuid']">{$fls['uname']}</a></div>
- <div class="infos">
- <div class="item opts">
- <!--{if $_G[uid] == $_GET[uid]}-->
- <!--{if !$isuserfav}-->
- <a id="a_followmod_{$fls[fuid]}" onclick="ajaxget(this.href);doane(event);" href="home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&fuid={$fls[fuid]}">关注TA</a>
- <!--{else}-->
- <a id="a_followmod_{$fls[fuid]}" onclick="ajaxget(this.href);doane(event);" href="home.php?mod=spacecp&ac=follow&op=del&fuid={$fls[fuid]}">取消关注</a>
- <!--{/if}-->
- <!--{/if}-->
- <!--{if $fls['mutual']==1}-->[互相]<!--{else}-->[单向]<!--{/if}-->
- </div>
- </div>
- </div>
- </div>
- </div>
- <!--{/loop}-->
复制代码 我关注的:
查询:
- $followinglists=array();
- $fgs=DB::query("SELECT a.*,a.uid as fuid,b.* FROM ".DB::table("home_follow")." a LEFT JOIN ".DB::table("common_member")." b on b.uid=a.uid WHERE a.`uid` = $_GET[uid] AND b.`status`=0 ORDER BY a.`dateline` DESC LIMIT 0,50");
- while ($fg=DB::fetch($fgs)) {
- $followinglists[]=$fg;
- }
复制代码 模板中调出列表
- <!--{loop $followinglists $fls}-->
- <!--{eval $isuserfav=DB::result_first("select followuid from ".DB::table("home_follow")." WHERE `uid` = $_G[uid] AND `followuid`=$fls[followuid]");}-->
- <div class="col-xs-12 col-sm-6 col-md-4">
- <div class="media user-card">
- <div class="media-left"><a title=" href=""><img class="media-object avatar-48" src="uc_server/avatar.php?uid=$fls['followuid']&size=middle" alt="56"></a></div>
- <div class="media-body">
- <div class="media-heading"><a class="user-name" data-name="congteng" href="user.php?uid=$fls['followuid']">{$fls['fusername']}</a></div>
- <div class="infos">
- <div class="item opts">
- <!--{if $_G[uid] == $_GET[uid]}-->
- <!--{if !$isuserfav}-->
- <a id="a_followmod_{$fls[followuid]}" onclick="ajaxget(this.href);doane(event);" href="home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&fuid={$fls[followuid]}">关注TA</a>
- <!--{else}-->
- <a id="a_followmod_{$fls[followuid]}" onclick="ajaxget(this.href);doane(event);" href="home.php?mod=spacecp&ac=follow&op=del&fuid={$fls[followuid]}">取消关注</a>
- <!--{/if}-->
- <!--{/if}-->
- <!--{if $fls['mutual']==1}-->[互相]<!--{else}-->[单向]<!--{/if}-->
- </div>
- </div>
- </div>
- </div>
- </div>
- <!--{/loop}-->
复制代码 所需JS
- <script type="text/javascript">
- function succeedhandle_followmod(url, msg, values) {
- var numObj = $('followernum_'+values['fuid']);
- if(numObj) {followernum = parseInt(numObj.innerHTML);}
- if(values['type'] == 'add') {
- if(values['from'] == 'head') {
- if($('followflag')) $('followflag').style.display = '';
- if($('unfollowflag')) $('unfollowflag').style.display = 'none';
- if($('fbkname_'+values['fuid'])) $('fbkname_'+values['fuid']).style.display = '';
- } else if($('a_followmod_'+values['fuid'])) {
- $('a_followmod_'+values['fuid']).innerHTML = '取消关注';
- if(values['from'] != 'block') {
- $('a_followmod_'+values['fuid']).className = 'flw_btn_unfo';
- }
- $('a_followmod_'+values['fuid']).href = 'home.php?mod=spacecp&ac=follow&op=del&fuid='+values['fuid']+(values['from'] == 'block' ? '&from=block' : '');
- }
- if(numObj) {
- numObj.innerHTML = followernum + 1;
- }
- } else if(values['type'] == 'del') {
- if(values['from'] == 'head') {
- if($('followflag')) $('followflag').style.display = 'none';
- if($('unfollowflag')) $('unfollowflag').style.display = '';
- if($('followbkame_'+values['fuid'])) $('followbkame_'+values['fuid']).innerHTML = '';
- if($('fbkname_'+values['fuid'])) {
- $('fbkname_'+values['fuid']).innerHTML = '[添加备注]';
- $('fbkname_'+values['fuid']).style.display = 'none';
- }
- } else if($('a_followmod_'+values['fuid'])) {
- $('a_followmod_'+values['fuid']).innerHTML = '关注TA';
- if(values['from'] != 'block') {
- $('a_followmod_'+values['fuid']).className = 'flw_btn_fo';
- }
- $('a_followmod_'+values['fuid']).href = 'home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&fuid='+values['fuid']+(values['from'] == 'block' ? '&from=block' : '');
- }
- if(numObj) {
- numObj.innerHTML = followernum - 1;
- }
- } else if(values['type'] == 'special') {
- if(values['from'] == 'head') {
- var specialObj = $('specialflag_'+values['fuid']);
- if(values['special'] == 1) {
- specialObj.className = 'flw_specialfo';
- specialObj.innerHTML = '添加特别关注';
- } else {
- specialObj.className = 'flw_specialunfo';
- specialObj.innerHTML = '取消特别关注';
- }
- specialObj.title = specialObj.innerHTML;
- specialObj.href = 'home.php?mod=spacecp&ac=follow&op=add&hash=661ce971&special='+values['special']+'&fuid='+values['fuid']+'&from=head';
- } else {
- $('a_specialfollow_'+values['fuid']).innerHTML = values['special'] == 1 ? '添加特别关注' : '取消特别关注';
- $('a_specialfollow_'+values['fuid']).href = 'home.php?mod=spacecp&ac=follow&op=add&hash=661ce971&special='+values['special']+'&fuid='+values['fuid'];
- }
- }
- }
- function changefeed(tid, pid, flag, obj) {
- var x = new Ajax();
- var o = obj.parentNode;
- for(var i = 0; i < 4; i++) {
- if(o.id.indexOf('original_content_') == -1) {
- o = o.parentNode;
- } else {
- break;
- }
- }
- x.get('forum.php?mod=ajax&action=getpostfeed&inajax=1&tid='+tid+'&pid='+pid+'&type=changefeed&flag='+flag, function(s){
- o.innerHTML = s;
- });
- }
- function vieworiginal(clickobj, id) {
- var obj = $(id);
- if(obj.style.display == 'none') {
- obj.style.display = '';
- clickobj.innerHTML = '- 收起';
- } else {
- obj.style.display = 'none';
- clickobj.innerHTML = '+ 展开全文';
- }
- }
- </script>
复制代码 因为改动频繁,代码比较随意。
|