Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[原创]童虎虚拟形象首页调用cache版

[复制链接]
PerfectWorks 发表于 2005-8-2 16:52:22 | 显示全部楼层 |阅读模式
今天试了一下午终于搞定啦~不敢独享(其实是为了赚积分)第一时间放出来
效果是可以在首页显示一小时内最新的一个虚拟形象
演示: www.dyxs.cn
安装很简单

index.php
找到
  1. $discuz_action = 1;
复制代码

下面加

  1. $cachetime = 3600;//每小时更新一次,如果要三小时更新一次就改成3600*3
  2. if(($timestamp-$_DCACHE[vavatar][2])>$cachetime){
  3. require_once DISCUZ_ROOT.'./include/cache.php';
  4. updatecache('vavatar');
  5. }
复制代码


cache.php
找到
  1. 'forumlinks',
复制代码

后面加
  1. 'vavatar',
复制代码

再找到
  1.                
  2. case ranks:
  3. $table = $GLOBALS['table_ranks'];
  4. $cols='ranktitle,postshigher,stars,color';
  5. $conditions = "WHERE 1 ORDER BY postshigher desc";
  6. break;  
复制代码

下面加

  1. case vavatar:
  2. $table = $GLOBALS['table_images_user']." iu LEFT JOIN ".$GLOBALS['table_members']." m ON iu.userid=m.uid";
  3. $cols='iu.userid,m.username,m.gender';
  4. $conditions = "ORDER BY iu.buydata DESC LIMIT 0,1";
  5. break;
复制代码

找到

  1. $query = $db->query("SELECT $cols FROM $table $conditions");
  2. switch($cachename) {
复制代码

下面加

  1.                 case 'vavatar':
  2.                         $userinfo = $db->fetch_array($query);
  3.                         $uid = $userinfo[userid];
  4.                         $username = $userinfo[username];

  5.                         if($userinfo[gender] == 2){
  6.                                 $sex = "f";
  7.                                 $upid = "initf";
  8.                         }else{
  9.                                 $sex = "m";
  10.                                 $upid = "init";
  11.                         }

  12.                         if($userinfo[gender] == 2){
  13.                                 $userequip = '0-0-0-0-0-0-0-0-initf-initf-0-initf-0-initf-initf-0-0-0-initf-0-0-0-0-0-0-0';
  14.                         }else{
  15.                                 $userequip = '0-0-0-0-0-0-0-0-init-init-0-init-0-init-init-0-0-0-init-0-0-0-0-0-0-0';
  16.                         }

  17.                         unset($userinfo);

  18.                         require ('virtualimage/images_config.php');
  19.                         $imageurl = $setting['imageurl'];
  20.                         unset($setting);

  21.                         $cookiearray = explode('-', $userequip);
  22.                         $temptime = time();
  23.                         $imageschange = $sexchange = 0;

  24.                         $query = $db->query("SELECT * FROM $GLOBALS[table_images_user] WHERE userid = '$uid' AND dafaultuse = '1'");

  25.                         while ($userimages = $db->fetch_array($query)){
  26.                                         $classid = $userimages[classid];
  27.                                         $weardate = time() - $userimages[lastuse];
  28.                                         $images_weardate = ceil(($userimages[endurance] - $weardate)/86400);

  29.                                         if (($userimages[suitable] != $sex and $userimages[suitable] != 't') or $images_weardate <= 0){
  30.                                                         if($images_weardate <= 0 && $setting[beold]){
  31.                                                                         $imageschange = 1;
  32.                                                         }elseif($userimages[suitable] != $sex and $userimages[suitable] != 't'){
  33.                                                                         $sexchange = 1;
  34.                                                         }
  35.                                                         if($userimages[classid] == 8||$userimages[classid]==9||$userimages[classid]==11||$userimages[classid]==13||$userimages[classid]==14||$userimages[classid]==18){
  36.                                                                         $cookiearray[$classid] = $upid;
  37.                                                         }else{
  38.                                                                         $cookiearray[$classid] = "0";
  39.                                                         }
  40.                                         }else{
  41.                                                         $cookiearray[$classid] = $userimages[picid];
  42.                                         }

  43.                         }

  44.                         if($imageschange){
  45.                                         $db->query("UPDATE $GLOBALS[table_images_user] SET dafaultuse = '3',endurance=0 WHERE userid = '$imagesuser[uid]' AND endurance<=$temptime-lastuse AND dafaultuse = '1'");
  46.                         }

  47.                         if($sexchange){
  48.                                         $db->query("UPDATE $GLOBALS[table_images_user] SET dafaultuse = '0',endurance=endurance+lastuse-$temptime,lastuse='$temptime' WHERE userid = '$imagesuser[uid]' AND (suitable!='$sex' AND suitable!='t') AND dafaultuse = '1'");
  49.                         }

  50.                         if ($cookiearray[6] != '0'){
  51.                                         $cookiearray[8] = '0';
  52.                                         $cookiearray[9] = '0';
  53.                         }
  54.                         if ($cookiearray[12] != '0'){
  55.                                         $cookiearray[6] = '0';
  56.                                         $cookiearray[7] = '0';
  57.                                         $cookiearray[8] = '0';
  58.                                         $cookiearray[9] = '0';
  59.                                         $cookiearray[10] = '0';
  60.                                         $cookiearray[11] = '0';
  61.                                         $cookiearray[13] = '0';
  62.                                         $cookiearray[14] = '0';
  63.                                         $cookiearray[17] = '0';
  64.                                         $cookiearray[18] = '0';
  65.                                         $cookiearray[20] = '0';
  66.                                         $cookiearray[21] = '0';
  67.                                         $cookiearray[22] = '0';
  68.                         }
  69.                         if ($cookiearray[22] != '0'){
  70.                                                         $cookiearray[6] = '0';
  71.                                                         $cookiearray[8] = '0';
  72.                                                         $cookiearray[9] = '0';
  73.                                                         $cookiearray[18] = '0';
  74.                                                         $cookiearray[5] = '0';
  75.                                         }
  76.                         if ($cookiearray[25] != '0'){
  77.                                         $cookiearray[2] = 0;
  78.                         $cookiearray[6] = 0;
  79.                         $cookiearray[8] = 0;
  80.                         $cookiearray[9] = 0;
  81.                                         $cookiearray[11] = 0;
  82.                                         $cookiearray[14] = 0;
  83.                                         $cookiearray[15] = 0;
  84.                                         $cookiearray[17] = 0;
  85.                         $cookiearray[18] = 0;
  86.                                         $cookiearray[21] = 0;
  87.                                         $cookiearray[22] = 0;
  88.                         $cookiearray[5] = 0;
  89.                                         }
  90.                        
  91.                         $data[0] = "<a href=viewpro.php?uid=".$uid.">".$username."的形象秀</a>";
  92.                         for ($i=0; $i<26; $i++){
  93.                            if($cookiearray[$i] != '0' || $cookiearray[$i]){
  94.                                   $data[1] .= "<IMG src=".$imageurl.$i."/".$cookiearray[$i].".gif style='padding:0;position:absolute;top:0;left:0;width:120;height:150;z-index:".$i.";'>";
  95.                            }
  96.                         }
  97.                         $data[1] .= "<IMG border=1 src=".$imageurl."blank.gif style='padding:0;position:absolute;top:0;left:0;width:120;height:150;z-index:50'>";
  98.                         $data[2] = time();
  99.                         break;
复制代码

更新缓存,

把下面的调用代码加在你喜欢的位置上

  1. <DIV style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: 120px; PADDING-TOP: 0px; POSITION: relative; TOP: 0px; HEIGHT: 150px">
  2. $_DCACHE[vavatar][1]
  3. </DIV>
  4. <br>
  5. $_DCACHE[vavatar][0]
复制代码


完成

BTW:为什么改cache的时候大家都喜欢拿case ranks:下手

[ 本帖最后由 文文の封印 于 2005-8-2 16:56 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

评分

1

查看全部评分

 楼主| PerfectWorks 发表于 2005-8-2 16:52:49 | 显示全部楼层
常坐沙发有益健康
回复

使用道具 举报

 楼主| PerfectWorks 发表于 2005-8-2 16:58:58 | 显示全部楼层
再BTW:GIF的虚拟形象那么好怎么都不爱用那……
回复

使用道具 举报

winter0706 发表于 2005-8-2 17:00:14 | 显示全部楼层
支持一下.........
回复

使用道具 举报

bababa00 发表于 2005-8-2 17:05:05 | 显示全部楼层
支持~~
回复

使用道具 举报

rodall123 发表于 2005-8-2 17:05:18 | 显示全部楼层
支持
回复

使用道具 举报

journey99 发表于 2005-8-2 17:18:47 | 显示全部楼层
支持下
没装那个虚拟形象
有点大
回复

使用道具 举报

hufanyun 发表于 2005-8-2 17:20:22 | 显示全部楼层
顶一下。加分了
回复

使用道具 举报

journey99 发表于 2005-8-2 17:20:39 | 显示全部楼层
文文
你论坛的社区形象进不去
是空白
回复

使用道具 举报

 楼主| PerfectWorks 发表于 2005-8-2 17:23:34 | 显示全部楼层
不可能啊一切好好的
对了积分要求20点才可进呢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-12-23 01:51 , Processed in 0.031302 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表