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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[插件] 站内附件图片展示 FOR D4 全缓存强化版 By oytktk

[复制链接]
oytktk 发表于 2005-12-23 00:20:21 | 显示全部楼层 |阅读模式
补个BK.GIF放到IMAGES目录下: 下载

══════════════════════════════════════

#    原创   oytktk(靖飒)
#
#     版权 归   oytktk(靖飒) 所有  
#
#     技术支持       http://www.huasa.net
#
#

══════════════════════════════════════
■ 演示站点:   http://www.huasa.net
══════════════════════════════════════

══════════════════════════════════════
■ 以下是我的小站的友情连接信息
══════════════════════════════════════

        1). 论坛名称:            华飒科技
        2). 论坛 URL:            http://www.huasa.net
        3). 文字说明[可选]:    BT发布 视频 短片 图片 尤物 搞笑 电脑 技术 网络 下载 电影 插件
        4). logo 地址:            http://www.huasa.net/bbs/logo.php

══════════════════════════════════════
■ 已经做好连接的朋友PM我个,我立即交换连接
══════════════════════════════════════

:)

原创:  oytktk(靖飒)

现在的功能有下面这些:


后台:

1.首页站内图片展示开关及选项:
   输入 1 为显示在主页上方, 2 为显示在主页下方, 0 或其它为关闭

2.是否对游客开放此功能?
   如果想让游客看到, 就选择 是 ,否则就选择 否!

3.首页站内图片展示中图片的个数:

4.首页站内图片展示是否启用随机功能(缓存):

5.首页站内图片展示的滚动速度:
   默认为30,数字越大速度越慢,速度越快越占系统资源

6.首页站内图片展示中图片来源版块的FID列表(0=全部版块):
   想让哪些版块的图片在展示中显示出来, 请输入版块FID列表, 多个用逗号隔开


7.首页站内图片展示中随机图片的更新时间(分):
  想让随机展示的图片多少分钟更新一次?


前台:

加入表格以及COOKIE记录的折叠.

支持主页上方及下方显示的选择.




══════════════════════════════════════
■ 安装方法:
══════════════════════════════════════

SQL:

  1. INSERT INTO `cdb_settings` (`variable`, `value`) VALUES ('attaopen', '1');
  2. INSERT INTO `cdb_settings` (`variable`, `value`) VALUES ('attacoun', '15');
  3. INSERT INTO `cdb_settings` (`variable`, `value`) VALUES ('attasehe', '1');
  4. INSERT INTO `cdb_settings` (`variable`, `value`) VALUES ('attasppe', '30');
  5. INSERT INTO `cdb_settings` (`variable`, `value`) VALUES ('guestope', '0');
  6. INSERT INTO `cdb_settings` (`variable`, `value`) VALUES ('attafids', '0');
  7. INSERT INTO `cdb_settings` (`variable`, `value`) VALUES ('attatime', '10');
复制代码


1. 升级数据库


2. admin/settings.php

查找:

  1. showsetting('settings_smcols', 'settingsnew[smcols]', $settings['smcols'], 'text');
复制代码


下面加:

  1.         showsetting('settings_attaopen', 'settingsnew[attaopen]', $settings['attaopen'], 'text');
  2.         showsetting('settings_guestope', 'settingsnew[guestope]', $settings['guestope'], 'radio');
  3.         showsetting('settings_attacoun', 'settingsnew[attacoun]', $settings['attacoun'], 'text');
  4.         showsetting('settings_attasehe', 'settingsnew[attasehe]', $settings['attasehe'], 'radio');
  5.         showsetting('settings_attasppe', 'settingsnew[attasppe]', $settings['attasppe'], 'text');
  6.         showsetting('settings_attafids', 'settingsnew[attafids]', $settings['attafids'], 'text');
  7.         showsetting('settings_attatime', 'settingsnew[attatime]', $settings['attatime'], 'text');
复制代码


查找:

  1. 'maxonlines', 'loadctrl'
复制代码


后面加:

  1. , 'attacoun', 'attasppe', 'guestope', 'attatime'
复制代码


3.templates\default\admincp.lang.php

查找:

  1. 'settings_smcols_comment' => '发帖页面每行显示 Smilies 的个数',
复制代码


下面加:

  1.         'settings_attaopen' => '首页站内图片展示开关及选项:',
  2.         'settings_attaopen_comment' => '输入 1 为显示在主页上方, 2 为显示在主页下方, 0 或其它为关闭',
  3.         'settings_guestope' => '是否对游客开放此功能?',
  4.         'settings_guestope_comment' => '如果想让游客看到, 就选择 是 ,否则就选择 否!',
  5.         'settings_attacoun' => '首页站内图片展示中图片的个数:',
  6.         'settings_attasehe' => '首页站内图片展示是否启用随机功能:',
  7.         'settings_attasehe_comment' => '随机功能是指从指定的版块内所上传的图片中随机抽出图片展示,可以设置缓存更新时间',
  8.         'settings_attasppe' => '首页站内图片展示的滚动速度:',
  9.         'settings_attasppe_comment' => '默认为30,数字越大速度越慢,速度越快越占系统资源.(by oytktk)',
  10.         'settings_attafids' => '首页站内图片展示中图片来源版块的FID列表:',
  11.         'settings_attafids_comment' => '想让哪些版块的图片在展示中显示出来, 请输入版块FID列表, 多个用逗号隔开',
  12.         'settings_attatime' => '首页站内图片展示中随机图片的更新时间(分):',
  13.         'settings_attatime_comment' => '想让随机展示的图片多少分钟更新一次?',
复制代码



4. include/cache.php

查找:

  1. 'bbcodes'        => array('bbcodes', 'smilies'),
复制代码


下面加:

  1.                 'attasnew'        => array('attachs_new'),//首页站内图片附件展示 by oytktk
  2.                 'attasrand'        => array('attachs_rand'),//首页站内图片附件展示 by oytktk, 分开是为了优化缓存程序的查询
复制代码


查找第一个:

  1. case 'medals':
复制代码


在上面加:
               

  1.                 //首页站内图片附件展示 by oytktk
  2.                 case 'attachs_new':
  3.                         global $attacoun, $attacoun, $attafids;
  4.                         $table = 'attachments a';
  5.                         $cols= 'a.tid, a.attachment, p.subject';
  6.                         $conditions = "LEFT JOIN {$tablepre}posts p USING(pid) WHERE p.fid IN($attafids) and a.filetype='image/pjpeg' ORDER BY aid DESC LIMIT 0, $attacoun";
  7.                         break;

  8.                 case 'attachs_rand':
  9.                         global $attacoun, $attacoun, $attafids;
  10.                         $table = 'attachments a';
  11.                         $cols = 'a.tid, a.attachment, p.subject';
  12.                         $conditions = "LEFT JOIN {$tablepre}posts p USING(pid) WHERE a.filetype='image/pjpeg' and p.fid IN($attafids) ORDER BY rand() LIMIT 0, $attacoun";
  13.                         break;
  14.                 //首页站内图片附件展示 by oytktk
复制代码


再找第二个:

switch($cachename) {

下面加:


  1.                 //首页站内图片附件展示 by oytktk
  2.                 case 'attachs_rand':
  3.                         while($attarand=$db->fetch_array($query))$data[]=$attarand;
  4.                         $data['time']=time();
  5.                 break;
  6.                 //首页站内图片附件展示 by oytktk
复制代码




5. include/newreply.inc.php

查找:

  1. updatecredits($discuz_uid, $creditspolicy['postattach'], count($attachments));
复制代码


上面加:

  1.                 require_once DISCUZ_ROOT.'./include/cache.func.php';
  2.                 updatecache('attachs_new');
复制代码


6. include/newthread.inc.php

查找:

  1. updatecredits($discuz_uid, $creditspolicy['postattach'], count($attachments));
复制代码


下面加:

  1.                 require_once DISCUZ_ROOT.'./include/cache.func.php';
  2.                 updatecache('attachs_new');
复制代码


7. include/editpost.inc.php

查找:

  1. updatecredits($discuz_uid, $creditspolicy['postattach'], -($db->affected_rows()));
复制代码


下面加:

  1.                                 require_once DISCUZ_ROOT.'./include/cache.func.php';
  2.                                 updatecache('attachs_new');
复制代码


再找:

  1. updatecredits($discuz_uid, $creditspolicy['postattach'], count($attachments));
复制代码


下面加:

  1.                                 require_once DISCUZ_ROOT.'./include/cache.func.php';
  2.                                 updatecache('attachs_new');
复制代码


8. index.php

查找:

  1. $forumlist = $catforumlist = $forums = $catforums = $categories = $collapse = array();
复制代码


下面加:



  1.         //首页站内图片附件展示 by oytktk
  2.         if($attaopen && ( $guestope || (!$guestope && $discuz_user))){

  3.                 if(!isset($_COOKIE['discuz_collapse']) || strpos($_COOKIE['discuz_collapse'], 'category_hk1 ') === FALSE) {
  4.                         $categorys_hk1 = 'collapsed_no.gif';
  5.                         $collapse['category_hk1'] = '';
  6.                 } else {
  7.                         $categorys_hk1 = 'collapsed_yes.gif';
  8.                         $collapse['category_hk1'] = 'display: none';
  9.                 }
  10.                 if($attasehe){
  11.                         require DISCUZ_ROOT.'./forumdata/cache/cache_attasrand.php';
  12.                         $attass=$_DCACHE['attachs_rand'];
  13.                         $i=0;
  14.                         foreach($attass as $aids){
  15.                                 $scoll.="<a href='viewthread.php?tid=".$aids['tid']."'><img border='0' width='120' height='120' src='attachments/".$aids['attachment']."'></a><img border=0 src='images/bk.gif' title=$aids[subject]>";
  16.                                 if(($i++) == $attacoun-1) break;
  17.                         }
  18.                         $thistime=time();
  19.                         if($thistime - $attass['time'] > $attatime*60 ){
  20.                                 require_once DISCUZ_ROOT.'./include/cache.func.php';
  21.                                 updatecache('attachs_rand');
  22.                         }
  23.                 }else{
  24.                         require DISCUZ_ROOT.'./forumdata/cache/cache_attasnew.php';
  25.                         $attass=$_DCACHE['attachs_new'];
  26.                         foreach($attass as $aids){
  27.                                 $scoll.="<a href='viewthread.php?tid=".$aids['tid']."'><img border='0' width='120' height='120' src='attachments/".$aids['attachment']."'></a><img border=0 src='images/bk.gif' title=$aids[subject]>";
  28.                         }
  29.                 }
  30.         }else{
  31.                 $attaopen = 0;
  32.         }
  33.         //首页站内图片附件展示 by oytktk end

复制代码






9. 模板 index.htm

查找:

  1. <!--{if !empty($newpmexists)}-->
复制代码


上面加:


  1. <!--{if $attaopen == 1}-->
  2. <table cellspacing="{INNERBORDERWIDTH}" cellpadding="{TABLESPACE}" width="{TABLEWIDTH}" align="center" class="tableborder">
  3. <tr class="header"><td>
  4.   <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="100%">
  5.     <tr>
  6.       <td width="50%" class="header">站内附件图片展示</td>
  7.       <td width="50%">
  8.       <p align="right">
  9.       <a href="###" onclick="toggle_collapse('category_hk1')"><img id="category_hk1_img" src="{IMGDIR}/$categorys_hk1" align="right" border="0"></a></td>
  10.     </tr>
  11.   </table>
  12. </td></tr>
  13. <tr class="altbg2" id="category_hk1" style="$collapse['category_hk1']"><td><center> <div id=demo style=overflow:hidden;height:122;width:100%>
  14. <table height="100%" border=0 align=left cellpadding=2 cellspace=0>
  15. <tr><td height="120" valign=top id=demo1>$scoll</td><td id=demo2 valign=top>
  16. </td></tr>
  17. </tbody>
  18. </table>
  19. </div></center></td></tr>
  20. </table><br>
  21. <!--{/if}-->
复制代码




继续找:

  1. <!--{if empty($gid) && ($_DCACHE['forumlinks'] || $whosonlinestatus)}-->
复制代码


下面加:



  1. <!--{if $attaopen == 2}-->
  2. </td></tr></table><br>
  3. <table cellspacing="{INNERBORDERWIDTH}" cellpadding="{TABLESPACE}" width="{TABLEWIDTH}" align="center" class="tableborder">
  4. <tr class="header"><td>
  5.   <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="100%">
  6.     <tr>
  7.       <td width="50%" class="header">站内附件图片展示</td>
  8.       <td width="50%">
  9.       <p align="right">
  10.       <a href="###" onclick="toggle_collapse('category_hk1')"><img id="category_hk1_img" src="{IMGDIR}/$categorys_hk1" align="right" border="0"></a></td>
  11.     </tr>
  12.   </table>
  13. </td></tr>
  14. <tr class="altbg2" id="category_hk1" style="$collapse['category_hk1']"><td><center> <div id=demo style=overflow:hidden;height:122;width:100%>
  15. <table height="100%" border=0 align=left cellpadding=2 cellspace=0>
  16. <tr><td height="120" valign=top id=demo1>$scoll</td><td id=demo2 valign=top>
  17. </td></tr>
  18. </table>
  19. </div></center></td></tr></table><table cellspacing="{INNERBORDERWIDTH}" cellpadding="{TABLESPACE}" width="{TABLEWIDTH}" align="center" class="tableborder">
  20. <!--{/if}-->
复制代码




最后找:

  1. {template footer}
复制代码


下面加:

  1. <script>
  2.         var speed=$attasppe;
  3.         demo2.innerHTML=demo1.innerHTML;
  4.         function Marquee(){
  5.                 if(demo2.offsetWidth-demo.scrollLeft<=0)
  6.                         demo.scrollLeft-=demo1.offsetWidth
  7.                 else{
  8.                         demo.scrollLeft++
  9.                 }
  10.         }
  11.         var MyMar=setInterval(Marquee,speed)
  12.         demo.onmouseover=function() {clearInterval(MyMar)}
  13.         demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
  14. </script>
复制代码


完工..后台设置参数去.然后更新缓存.

[ 本帖最后由 oytktk 于 2007-8-24 09:06 编辑 ]

本帖子中包含更多资源

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

x
amoshuang 发表于 2005-12-23 00:22:46 | 显示全部楼层
沙发
回复

使用道具 举报

elefee 发表于 2005-12-23 00:25:26 | 显示全部楼层
没占到
回复

使用道具 举报

 楼主| oytktk 发表于 2005-12-23 00:26:16 | 显示全部楼层
汗..睡觉了先..明天发~
回复

使用道具 举报

爱好者 发表于 2005-12-23 00:32:47 | 显示全部楼层
帅呆了~ 先占个位。
回复

使用道具 举报

eghawk 发表于 2005-12-23 01:49:04 | 显示全部楼层
支持靖飒
回复

使用道具 举报

eghawk 发表于 2005-12-23 01:52:28 | 显示全部楼层
原帖由 oytktk 于 2005-12-23 00:26 发表
汗..睡觉了先..明天发~

是24号,还是23号(今天)天亮以后,迫不及待了
回复

使用道具 举报

MacauNet 发表于 2005-12-23 02:54:30 | 显示全部楼层
老O,圖片能否再縮小一點??
回复

使用道具 举报

karl907 发表于 2005-12-23 04:38:09 | 显示全部楼层
还是深夜发插件!!嗬嗬!!
回复

使用道具 举报

yjflq2002 发表于 2005-12-23 08:53:43 | 显示全部楼层
建议增加对于部分权限不够的用户也不显示图片
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 01:48 , Processed in 0.128423 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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