2008-2-19 23:03
exgbit
[PP插件] 会员头像展示Ajax缓存版1.0 完成~
[PP插件] 会员头像展示Ajax缓存版1.0
/* Project Parasynthesis 插件
会员头像展示Ajax缓存版
版本:1.0
exgbit(果比) sai
支持站:[url=http://saicn.com/bbs/]http://saicn.com/bbs/[/url]
*/
比起0.5改进:
1、采用ParasyCore.php更新缓存
2、读取首页时,采用php随机读取,避免了ajax冲突
3、保留了ajax方式,ajax即时刷新头像覆盖php读取内容
4、FF行显示
安装:
1、上传exgbit_avatar.js到include\javascript\文件夹下
2、打开parasy_json_tab.php
找到[code] case 'json_home_tab_latest':[/code]在上面加上[code] case 'json_exg_ava':
require_once DISCUZ_ROOT.'./forumdata/cache/cache_exgbit_ava.php';
$top = array();
$i = 0;
foreach($exgava as $exgav) {
$i++;
$exga[$i]['uidav'] = $exgav['uidav'];
$exga[$i]['picav'] = $exgav['picav'];
$exga[$i]['nameav'] = iconv('gbk', 'utf-8', $exgav['nameav']);
$exga[$i]['nicknameav'] = iconv('gbk', 'utf-8', $exgav['nicknameav']);
}
header('Content-type: text/plain; charset=utf-8');
header('Cache-control: no-cache, must-revalidate');
if (function_exists('json_encode')) {
$encoded = json_encode($exga);
} else {
$encoded = Zend_Json::encode($exht);
}
echo $encoded;
break;[/code]3、打开ParasyCore.php
找到[code]?>[/code]在上面加上[code]/*Parasy || Exgbit Ajax Avatar*/
function exg_avas() {
global $db, $_DCACHE, $timestamp, $tablepre, $discuz_uid, $member;
$data = array();
$query_exgava = $db->query("SELECT cm.uid,username,nickname,avatar from {$tablepre}members cm LEFT JOIN {$tablepre}memberfields cdm ON cm.uid=cdm.uid WHERE avatar !='' ORDER BY rand() LIMIT 20");
while($exgava = $db->fetch_array($query_exgava)) {
$data['exgava'][$exgava[uid]]['uidav'] = $exgava['uid'];
$data['exgava'][$exgava[uid]]['nameav'] = $exgava['username'];
$data['exgava'][$exgava[uid]]['nicknameav'] = $exgava['nickname'];
$data['exgava'][$exgava[uid]]['picav'] = $exgava['avatar'];
}
$data['exgava_expiration'] = 900 + time();
nmwritetocache(cache_exgbit_ava, '', nmgetcachevars($data),'','cache');
return $data['exgava'];
}
/*Parasy || Exgbit Ajax Avatar*/[/code]4、打开discuz.htm
找到[code]<!--{if $show_cloud == 0}-->
<div class="maintable" align="left">
<span class="tip_i">New in NoName [/code]在上面加上[code]<!--{if $exgava}-->
<div class="maintable" align="left"><table width="100%"><tr><td>
<script type="text/javascript" src="$bbsdir/include/javascript/exgbit_avatar.js"></script>
<ul class="tabs">
<li class="normal" id="exgava" onclick="initHomeTabs_ex('exgava')">会员头像展示(点击刷新) ...</li>
</ul>
<div id="home_tab_top_ex"></div><div id="home_tab_content_ex">
<table><tr>
<!--{loop $exgava $exga}-->
<!--{eval $i_exg ++;}-->
<!--{if $i_exg <= 6}-->
<td><a href="viewpro.php?uid=$exga[uidav]" class="friend"><img src="$exga[picav]" class="portrait" /><br />$exga[nameav]<div class="tip">$exga[nicknameav]</div></a></td>
<!--{/if}-->
<!--{/loop}-->
</tr></table>
</div>
</td></tr></table>
</div>
<!--{/if}-->[/code]下载文件:[url=http://www.51ok.com/filedown-803967239.html]http://www.51ok.com/filedown-803967239.html[/url](exgbit_avatar.js)
预览:
[url=http://tu.6.cn/pic/id/e306ee7cc601ef91b12ff1d82dce6510][img]http://tu.6.cn/img/id/e306ee7cc601ef91b12ff1d82dce6510[/img][/url]上图红色区域,点击可即时刷新头像。
演示:[url=http://www.csustbbs.net/bbs/]http://www.csustbbs.net/bbs/[/url]
[[i] 本帖最后由 exgbit 于 2008-2-20 00:02 编辑 [/i]]
2008-2-19 23:06
exgbit
补充:
6、打开index.php
找到:[code]$gid = !empty($gid) ? intval($gid) : 0;
if(!$gid) {[/code]在上面加上:[code]/*Parasy || Exgbit Ajax Avatar*/
@include DISCUZ_ROOT.'./forumdata/cache/cache_exgbit_ava.php';
if((@!include('forumdata/cache/cache_exgbit_ava.php')) || $exgava_expiration < time()) {
$exgava = exg_avas();
} else {
$exgava = $exgava;
}
@shuffle($exgava);
/*Parasy || Exgbit Ajax Avatar*/[/code]
[[i] 本帖最后由 exgbit 于 2008-2-19 23:07 编辑 [/i]]
2008-2-20 00:08
Sai
这是我见过的最快的版本升级....
Good job!
2008-2-20 07:57
exgbit
...插件嘛..没必要那么讲究哈.. = 3 =
关键功能上已经完善了,应该不用大动,直接1.0...
2008-2-20 11:46
kinway
哈哈 好东西~!
不过我有个小问题 就是我论坛里面有很多会员没有了头像 或者头像过期了 如何把这些会员的头像都默认为noavatar呢?
2008-2-20 11:52
exgbit
要把这些会员都赛选出来,有没有什么共同特征呢?
如果实在没有,干脆点
一次性把全部会员头像都清空,都重新上传
sql:
UPDATE `cdb_memberfields` SET `avatar` = ''
2008-2-20 12:40
Sai
[code]
UPDATE `cdb_memberfields` SET `avatar` = '' ` WHERE `avatar` LIKE 'http%';[/code]
清空使用url作为头像的会员
2008-2-20 21:40
kinway
感谢两位的帮助,可是用
UPDATE `cdb_memberfields` SET `avatar` = '' ` WHERE `avatar` LIKE 'http%';
提示错误
。。。
然后我又发现 在无名这直接点击copy to clipboard
会连着[Copy to clipboard]CODE:都copy掉
2008-2-20 22:36
exgbit
[code]
UPDATE `cdb_memberfields` SET `avatar` = '' WHERE `avatar` LIKE 'http%';[/code]
2008-2-20 22:53
Sai
恩……where前面多了一个`
2008-2-21 01:23
kinway
哈 that's it
2008-2-21 01:27
kinway
基本搞定咯(ll05)
[[i] 本帖最后由 kinway 于 2008-2-21 10:35 编辑 [/i]]
2008-2-21 20:51
Sai
这个会整合到r46里
2008-2-25 22:51
hanzi
开始使用的0.5的一直有问题
现在这个出来了
是直接按上面操作还是怎么去升级?
2008-2-25 23:11
Leeiio
那个个人主页被浏览的次数也应该在r46里了吧
2008-2-29 10:01
aquino
檔案沒了~可否再放到儲存較長的空間.....(ll11)
2008-3-1 11:57
exgbit
安装1.0是全新安装,如果曾装过0.5,请先卸载...
2008-3-1 16:45
aquino
(ll11)下載不到exgbit_avatar.js這支檔案。
2008-3-2 01:32
exgbit
那个空间不经用...我重新上传...
2008-4-13 17:25
Sonic
有点问题,就是使用的会员的昵称,很多会员都没有昵称的。那么鼠标放上去后,上面就显示一条橘黄色的线。有什么方法修改呢?
页:
[1]
Powered by Discuz! Archiver 5.5.0
© 2001-2006 Comsenz Inc.