exgbit


disconnected
主题工具

[PP插件] 会员头像展示Ajax缓存版1.0 完成~

... 发表于 2008-2-19 23:03  ... 12957 次点击

[PP插件] 会员头像展示Ajax缓存版1.0
/*  Project Parasynthesis 插件
会员头像展示Ajax缓存版
版本:1.0
exgbit(果比)  sai
支持站:http://saicn.com/bbs/
*/

比起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
找到
case 'json_home_tab_latest':

在上面加上
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;

3、打开ParasyCore.php
找到

在上面加上
/*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*/

4、打开discuz.htm
找到
<!--{if $show_cloud == 0}-->
<div class="maintable" align="left">
<span class="tip_i">New in NoName

在上面加上

下载文件:http://www.51ok.com/filedown-803967239.html (exgbit_avatar.js)

预览:
上图红色区域,点击可即时刷新头像。

演示:http://www.csustbbs.net/bbs/

[ 本帖最后由 exgbit 于 2008-2-20 00:02 编辑 ]

本主题共有 19 条回复 | 回到顶部
#1 - 2008-2-19 23:06
exgbit 地球
补充:

6、打开index.php

找到:
$gid = !empty($gid) ? intval($gid) : 0;
if(!$gid) {

在上面加上:
/*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*/

[ 本帖最后由 exgbit 于 2008-2-19 23:07 编辑 ]
#2 - 2008-2-20 00:08
Sai 桂林
这是我见过的最快的版本升级....

Good job!
#3 - 2008-2-20 07:57
exgbit 地球
...插件嘛..没必要那么讲究哈.. = 3 =

关键功能上已经完善了,应该不用大动,直接1.0...
#4 - 2008-2-20 11:46
kinway 武汉
哈哈 好东西~!
不过我有个小问题 就是我论坛里面有很多会员没有了头像 或者头像过期了 如何把这些会员的头像都默认为noavatar呢?
#5 - 2008-2-20 11:52
exgbit 地球
要把这些会员都赛选出来,有没有什么共同特征呢?

如果实在没有,干脆点

一次性把全部会员头像都清空,都重新上传

sql:
UPDATE `cdb_memberfields` SET `avatar` = ''
#6 - 2008-2-20 12:40
Sai 桂林

UPDATE `cdb_memberfields` SET `avatar` = '' ` WHERE `avatar` LIKE 'http%';

清空使用url作为头像的会员
#7 - 2008-2-20 21:40
kinway 武汉
感谢两位的帮助,可是用

UPDATE `cdb_memberfields` SET `avatar` = '' ` WHERE `avatar` LIKE 'http%';

提示错误

。。。

然后我又发现 在无名这直接点击copy to clipboard
会连着[Copy to clipboard]CODE:都copy掉
#8 - 2008-2-20 22:36
exgbit 地球

UPDATE `cdb_memberfields` SET `avatar` = ''  WHERE `avatar` LIKE 'http%';

#9 - 2008-2-20 22:53
Sai 桂林
恩……where前面多了一个`
#10 - 2008-2-21 01:23
kinway 武汉
哈 that's it
#11 - 2008-2-21 01:27
kinway 武汉
基本搞定咯

[ 本帖最后由 kinway 于 2008-2-21 10:35 编辑 ]
#12 - 2008-2-21 20:51
Sai 桂林
这个会整合到r46里
#13 - 2008-2-25 22:51
hanzi 地球
开始使用的0.5的一直有问题

现在这个出来了
是直接按上面操作还是怎么去升级?
#14 - 2008-2-25 23:11
Leeiio 地球
那个个人主页被浏览的次数也应该在r46里了吧
#15 - 2008-2-29 10:01
aquino Sputnik 1
檔案沒了~可否再放到儲存較長的空間.....
#16 - 2008-3-1 11:57
exgbit 地球
安装1.0是全新安装,如果曾装过0.5,请先卸载...
#17 - 2008-3-1 16:45
aquino Sputnik 1
下載不到exgbit_avatar.js這支檔案。
#18 - 2008-3-2 01:32
exgbit 地球
那个空间不经用...我重新上传...

查看积分策略说明
附件
2008-3-2 01:32
  下载次数: 233
exgbit_avatar_1.0.rar (1.14 KB)
 
#19 - 2008-4-13 17:25
Sonic 地球
有点问题,就是使用的会员的昵称,很多会员都没有昵称的。那么鼠标放上去后,上面就显示一条橘黄色的线。有什么方法修改呢?
看完之后有话想说?那就帮楼主加盖一层吧!

在回复之前你需要先进行登录
用户名 / UID
密码
Project Parasynthesis | Based on Discuz! 5.5.0 | Thanks to Livid
About | Help | Developer | N2Design
清除 Cookies - 联系我们 - 无名杂志 - Archiver - Mobile
Processed in 0.037636 second(s), 9 queries, Gzip enabled