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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[插件] [原创]签名的终极折叠 for 4.1.0 by lu5266[更新:06/06/07/16:47]

[复制链接]
lu5266 发表于 2006-5-3 19:41:24 | 显示全部楼层 |阅读模式
更新:06/06/07/16:47
一次性折叠所有的签名
安装方法B(建议该方法)

呵呵
应朋友的邀请

写了个签名的折叠

我以前写个一个

但是感觉就是不太好

这个简直是太完美了(你可以顺手把鼠标咂过来,反正我是自我感觉良好)

不信,假如你用了,你调查下会员反应良好的话,你就每天来顶这个贴一次,顶个10来天,怎么样?

呵呵,我自我感觉了那么多,你没砸烂显示器吧,言归正传:


功能:

顾名思义,就是签名的折叠嘛,
但是最主要的是可以
记录用户的折叠情况
就是他/她折叠了会员张三的签名的话,那么张三的签名无论在哪个页面都是折叠的
还有可以同时可以展开/折叠当前页的所有会员的签名
当然,也会记录折叠的情况

所以,你可以完全放心的开放安全的签名代码和签名高度咯,
因为所有的签名都是由会员自己选择看与不看某个会员的签名的



只能给这么一个截图了


[ 本帖最后由 lu5266 于 2006-6-7 16:58 编辑 ]

评分

1

查看全部评分

 楼主| lu5266 发表于 2006-5-3 19:42:23 | 显示全部楼层
名称:   签名的终极折叠 for 4.1.0 by lu5266
演示:  http://www.5466.ik8.com/           
功能: 签名的折叠
版本: 4.1.0
作者: lu5266
难易: 简单
支持: http://www.5466.ik8.com/
文件:  viewthread.php
模板:  viewthread.htm  (注意对应风格的)
版权:  lu5266(www.5466.ik8.com)  www.discuzplus.com


选择A或者B来安装,只要选择一个就可以了

A:按照每个会员来折叠的
安装方法:

1:  修改viewthread.php

查找:

  1. $postlist[$post['pid']] = $post;
复制代码


在上面加上:

  1.         //wondful signature collapse for discuz 4.1.0 by lu5266
  2.                 if(!isset($_COOKIE['dpt_sign_collapse']) || strpos($_COOKIE['dpt_sign_collapse'], 'signature_'.$post['authorid'].' ') === FALSE) {
  3.                     $post['collapseimg'] = 'collapsed_no.gif';
  4.                     $post['signdisplay'] = '';
  5.                 } else {
  6.                     $post['collapseimg'] = 'collapsed_yes.gif';
  7.                     $post['signdisplay'] = ' none';
  8.                 } //end signature collapse
复制代码



2: 修改viewthread.htm

1):

查找:

  1. <!--{if $post['signature'] && !$post['anonymous']}--><br><br><br></td></tr><tr><td valign="bottom" $maxsigrows><img src="images/common/sigline.gif"><br>$post[signature]<!--{/if}-->
复制代码


替换为:

  1.                 <!--{if $post['signature'] && !$post['anonymous']}-->
  2.                  <br><br><br></td></tr><tr><td valign="bottom" $maxsigrows>
  3.          <table>
  4.                  <tr><td><img src="images/common/sigline.gif"   onclick="dpt_sign_collapse('-1',1);" ondblclick="dpt_sign_collapse('-2',1);" title="单击 隐藏 本页所有会员的签名
  5.                  双击 展开 本页所有会员的签名
  6.                  单击右边的图片 切换 该会员的签名状态(隐藏<==>展开)
  7.                  所有的状态都会自动记录
  8.                  即: 假如会员的签名状态是 隐藏 的,
  9.                  那么在本站内他/她所有的贴里的签名都是隐藏的.
  10.                  ">
  11.                  <a href="###" onclick="dpt_sign_collapse('$post[authorid]',0);"><img  name="signature_img_$post[authorid]"  src="{IMGDIR}/$post[collapseimg]" border="0"></a>
  12.                  </td></tr>
  13.                              <tbody name="signature_$post[authorid]"  style="display:$post[signdisplay]">       
  14.                              <tr><td>$post[signature]</td></tr>
  15.                 </table>
  16.                 <!--{/if}-->       
复制代码



2):在文件的最后加上:


  1. <script language="javascript">
  2. //wondful signature collapse for discuz 4.1.0
  3. //http://www.discuzplus.com
  4. //power by lu5266(www.5466.ik8.com)
  5. function write_cookie(cookie_name,style_display,sign_uid){

  6.    collapsed    = getcookie("dpt_sign_collapse");
  7.    cookie_start = collapsed ? collapsed.indexOf(cookie_name) : -1;
  8.    cookie_end   = cookie_start + cookie_name.length + 1;
  9.    
  10.    if(style_display == "none" && sign_uid != "-1"  || sign_uid == "-2") {
  11.           if(cookie_start != -1) {
  12.                  collapsed = collapsed.substring(0, cookie_start) + collapsed.substring(cookie_end, collapsed.length);
  13.           }
  14.    }else{
  15.           if(cookie_start == -1){
  16.                  collapsed = collapsed + cookie_name + " ";
  17.           }
  18.    }

  19.    expires = new Date();
  20.    expires.setTime(expires.getTime() + (collapsed ? 86400 * 1000 * 30 * 12 : -(86400 * 30 * 1000)));
  21.    document.cookie = "dpt_sign_collapse=" + escape(collapsed) + "; expires=" + expires.toGMTString() + "; path=/";   

  22. }

  23. function dpt_sign_collapse(sign_uid,hide_all){
  24.    
  25.    authorobj    = document.getElementsByTagName("tbody");
  26.    autimgobj    = document.getElementsByTagName("img");

  27.    for(var AI=0; AI < autimgobj.length; AI++){
  28.        if(typeof(autimgobj[AI].name) != "undefined"){
  29.           issign = hide_all ? (autimgobj[AI].name.indexOf('ignature_img_') > 0  ? 1 : 0 ) : (autimgobj[AI].name == 'signature_img_'+ sign_uid ? 1 : 0);
  30.           if(issign){
  31.              if((autimgobj[AI].src.toString().indexOf("_yes.gif") > 0 && sign_uid !="-1" ) || sign_uid =="-2" ){
  32.                 autimg_re = new RegExp("_yes\\.gif$");         
  33.                         autimgobj[AI].src = autimgobj[AI].src.replace(autimg_re, '_no.gif');
  34.                      }else{
  35.                         autimg_re = new RegExp("_no\\.gif$");         
  36.                         autimgobj[AI].src = autimgobj[AI].src.replace(autimg_re, '_yes.gif');
  37.                      }                     
  38.           }
  39.        }
  40.    }
  41.       
  42.    for(AI=0; AI < authorobj.length; AI++){
  43.    
  44.        if(typeof(authorobj[AI].name) != "undefined"){
  45.           issign = hide_all ? (authorobj[AI].name.indexOf('ignature_') > 0 ? 1 : 0) : (authorobj[AI].name == 'signature_'+ sign_uid ? 1 : 0);
  46.           if(issign){
  47.              write_cookie(authorobj[AI].name,authorobj[AI].style.display,sign_uid);
  48.              authorobj[AI].style.display = authorobj[AI].style.display == "" || sign_uid =="-1" ? "none" : "";
  49.           }
  50.        }      
  51.    }
  52. }

  53. </script>
复制代码



=====================================================================


B:按照全论坛所有会员一起折叠
的安装方法:

1:  修改viewthread.php

查找:

  1. $postlist[$post['pid']] = $post;
复制代码


在上面加上:

  1.             //wondful signature collapse for discuz 4.1.0 by lu5266
  2.                 if(isset($signaturestatus)) {
  3.                         switch($signaturestatus) {
  4.                                 case 1: dsetcookie('signaturestatus', 1, 86400 * 365); break;
  5.                                 case 0: dsetcookie('signaturestatus', 0, 86400 * 365); break;
  6.                         }
  7.                 }
  8.                 $post['signature1'] = $post['signature'] ?        1 : 0;
  9.                 if($signaturestatus || (!empty($_DCOOKIE['signaturestatus']) && !isset($signaturestatus))) {
  10.                     $post['collapseimg'] = 'collapsed_no.gif';
  11.                     $signaturestatus1 = 0;
  12.                 } else {
  13.                     $post['collapseimg'] = 'collapsed_yes.gif';
  14.                     $signaturestatus1 = 1;
  15.                     $post['signature'] = '';                    
  16.                 }//end signature collapse
复制代码



2: 修改viewthread.htm


查找:

  1. <!--{if $post['signature'] && !$post['anonymous']}--><br><br><br></td></tr><tr><td valign="bottom" $maxsigrows><img src="images/common/sigline.gif"><br>$post[signature]<!--{/if}-->
复制代码


替换为:

  1.                 <!--{if $post['signature1'] && !$post['anonymous']}-->
  2.                         <br><br><br></td></tr><tr><td valign="bottom" $maxsigrows>        
  3.                 <img src="images/common/sigline.gif" >
  4.                 <a href="viewthread.php?tid=$tid&page=$page&extra=$extra&signaturestatus=$signaturestatus1"><img src="{IMGDIR}/$post[collapseimg]" border="0"></a>
  5.                 <br>$post[signature]               
  6.                 <!--{/if}-->
复制代码



完工,Ok

[ 本帖最后由 lu5266 于 2006-6-7 17:55 编辑 ]
回复

使用道具 举报

诺维兹基 发表于 2006-5-3 19:47:36 | 显示全部楼层
我猛刷新就为了抢张伪沙发!
回复

使用道具 举报

终结者4 发表于 2006-5-3 19:49:30 | 显示全部楼层
厉害!!

[ 本帖最后由 终结者4 于 2006-5-3 20:43 编辑 ]
回复

使用道具 举报

诺维兹基 发表于 2006-5-3 19:50:26 | 显示全部楼层

回复 #4 终结者4 的帖子

注册 2004-7-25   
潜水王子?
回复

使用道具 举报

魔面浪子 发表于 2006-5-3 19:54:40 | 显示全部楼层
在哪里?
回复

使用道具 举报

肯得基 发表于 2006-5-3 19:56:28 | 显示全部楼层
还没有发?
回复

使用道具 举报

foolq 发表于 2006-5-3 19:58:20 | 显示全部楼层
...........隐身了。
回复

使用道具 举报

默契网管 发表于 2006-5-3 19:58:29 | 显示全部楼层
???
回复

使用道具 举报

 楼主| lu5266 发表于 2006-5-3 20:03:23 | 显示全部楼层
原帖由 诺维兹基 于 2006-5-3 19:47 发表
我猛刷新就为了抢张伪沙发!


呵呵

你又想灌这个贴
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-21 23:19 , Processed in 0.035275 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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