博主资料

留言短消息 加为好友 收藏

用户ID:  455272
昵称:  笨笨啊

标题

欢迎欢迎

日历

2006 - 8
  12345
6789101112
13141516171819
20212223242526
2728293031  
«» 2006 - 8 «»

日志分类

最新评论

日志文章列表

2006年08月23日 10:27:46

【笨笨出品】Hack——多重引用 For PW 4.3.2

Hack名称:启用多重引用
适合版本:pw 4.3.2
安装程序:笨笨啊
安装难易:简单
hack特点:有后台,可控制是否启用多重引用
增加表 :无
影响字段:无
增加文件:无
修改文件:
require/bbscode.php
require/postreply.php
admin/settings.php
template/admin/setting.htm

好了,以下开始修改,请在修改前先备份文件:)

1.打开template/admin/setting.htm
找到
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

Copy code
  <tr class=b>
    <td>帖子中 iframe功能:</td>
    <td>
        <input type=radio value=1 name="config[windpost_iframe]" $windpost_iframe_Y>开启
        <input type=radio value=0 name="config[windpost_iframe]" $windpost_iframe_N>关闭
    </td>
  </tr>

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

在后面加上
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
Copy code

  <tr class=b>
    <td>帖子中 启用多重引用:</td>
    <td>
        <input type=radio value=1 name="config[windpost_mulquote]" $windpost_mulquote_Y>开启
        <input type=radio value=0 name="config[windpost_mulquote]" $windpost_mulquote_N>关闭
    </td>
  </tr>

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
Copy code

2.打开admin/settings.php

找到
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
[color=blue][code]
    ifcheck($db_windpost['iframe'],'windpost_iframe');

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

在后面加上
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
Copy code

    //add by 笨笨啊 多重引用
    ifcheck($db_windpost['mulquote'],'windpost_mulquote');
    //add by 笨笨啊 多重引用

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

3.打开require/bbscode.php

找到
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
Copy code
  if (strpos($message,"[quote]") !== false && strpos($message,"[/quote]") !== false){
    $message=preg_replace("/\[quote\](.+?)\[\/quote\]/eis","qoute('\\1')",$message);
  }

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

替换为
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
Copy code
//add by 笨笨啊 多重引用
  if (strpos($message,"[quote]") !== false && strpos($message,"[/quote]") !== false){
    if(!$allow['mulquote']){
    $message=preg_replace("/\[quote\](.+?)\[\/quote\]/eis","qoute('\\1')",$message);
    }else{
    $message=str_replace("[quote]","<div style=\"font-size:9px;margin-left:5px\"><b>QUOTE:</b></div><div class=quote>",$message);
    $message=str_replace("[/quote]","</div>",$message);
    }
  }
//add by 笨笨啊 多重引用

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
4.打开require/postreply.php

找到
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
Copy code
$old_content=preg_replace("/\[quote\](.*)\[\/quote\]/is","",$old_content);

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
替换为
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
Copy code
//add by 笨笨啊 多重引用
    if(!$db_windpost['mulquote']) $old_content=preg_replace("/\[quote\](.*)\[\/quote\]/is","",$old_content);
//add by 笨笨啊 多重引用

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
好了,安装完成,请到后台的“论坛核心设置=>发帖代码设置”中,设置多重引用是否启用:)Good luck!

本帖同步发行于碧海潮声
帖子地址:http://www.zjoubbs.com/read.php?tid=46877#0readme.txt

类别: 无分类 |  评论(6) |  浏览(4593) |  收藏
2006年08月22日 19:47:34

【笨笨出品】Hack——类Activex安装条提示游客登录

Hack名称:类似activex安装的提示登录
适合版本:pw 4.3.2 && Other version
安装程序:笨笨啊
安装难易:简单
hack特点:提示游客登录
增加表 :无
影响字段:无
增加文件:image/warning.gif
    image/warning2.gif
修改文件:
template/wind/header.htm(可能有多个)

修改方法:

1.将image目录下的两个文件复制到论坛的image目录下
2.打开template/模板目录/header.htm

找到

Copy code
</style><!--css-->
</head>


在其前面加上

Copy code
#infobar {FONT: message-box}
#infobar A {CLEAR: both; PADDING-RIGHT: 0.3em; DISPLAY: block; PADDING-LEFT: 2em; BACKGROUND: url(image/warning.gif) infobackground fixed no-repeat 0.3em 0.3em; FLOAT: left; PADDING-BOTTOM: 0.45em; WIDTH: 100%; CURSOR: default; COLOR: infotext; PADDING-TOP: 0.45em; BORDER-BOTTOM: 0.16em outset; TEXT-DECORATION: none;font-size:12px}
#infobar A:link {CLEAR: both; PADDING-RIGHT: 0.3em; DISPLAY: block; PADDING-LEFT: 2em; BACKGROUND: url(image/warning.gif) infobackground fixed no-repeat 0.3em 0.3em; FLOAT: left; PADDING-BOTTOM: 0.45em; WIDTH: 100%; CURSOR: default; COLOR: infotext; PADDING-TOP: 0.45em; BORDER-BOTTOM: 0.16em outset; TEXT-DECORATION: none}
#infobar A:visited {CLEAR: both; PADDING-RIGHT: 0.3em; DISPLAY: block; PADDING-LEFT: 2em; BACKGROUND: url(image/warning.gif) infobackground fixed no-repeat 0.3em 0.3em; FLOAT: left; PADDING-BOTTOM: 0.45em; WIDTH: 100%; CURSOR: default; COLOR: infotext; PADDING-TOP: 0.45em; BORDER-BOTTOM: 0.16em outset; TEXT-DECORATION: none}
#infobar A:active {CLEAR: both; PADDING-RIGHT: 0.3em; DISPLAY: block; PADDING-LEFT: 2em; BACKGROUND: url(image/warning.gif) infobackground fixed no-repeat 0.3em 0.3em; FLOAT: left; PADDING-BOTTOM: 0.45em; WIDTH: 100%; CURSOR: default; COLOR: infotext; PADDING-TOP: 0.45em; BORDER-BOTTOM: 0.16em outset; TEXT-DECORATION: none}
#infobar A:hover {BACKGROUND: url(image/warning2.gif) highlight fixed no-repeat 0.3em 0.3em; COLOR: highlighttext}


找到
Copy code
<table cellspacing=0 cellpadding=0 width='$tablewidth' $i_table align=center>

在其前面加上

Copy code

<!--
EOT;
if(!$winduid){
print <<<EOT
-->
<DIV id=infobar><A href="login.php">您还没有登陆或注册,请先登陆,点击此处跳转至登陆页面... 《碧海潮声欢迎您的到来!》</A></DIV>

<!--
EOT;
}
print <<<EOT
-->


截图
程序包
类似activex安装的提示登录.rar

类别: 无分类 |  评论(30) |  浏览(7122) |  收藏
2006年08月17日 16:15:36

【笨笨出品】Hack——清空回收站功能 For PW 4.3.2

Hack名称:清空回收站
适合版本:pw 4.3.2
安装程序:笨笨啊
安装难易:简单
hack特点:默认的回收站内帖子较多时,无法进行清空操作。所以增加了清空回收站功能。
增加表 :无
影响字段:无
增加文件:无
修改文件:
admin/recycle.php
template/admin/recycle.htm


如果之前未修改过这两个文件的,可以直接用包里的覆盖


请在修改前做好相关的文件备份。虽然本Hack在本地调试通过并正常。但不能保证您在安装的时候出现一些错误。


1.打开template/admin/recycle.htm,找到
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

Copy code
<input type='button' name='chkall' value='全 选' onclick='CheckAll(this.form)'>
<input type="submit" name="hello" value="提 交">

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

替换为
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
Copy code

<input type="radio" name="action" value="del" checked>删除<br><br>
<input type='button' name='chkall' value='全 选' onclick='CheckAll(this.form)'>
<input type='button' name='clearall' value='清空回收站' onclick='if(confirm("清空回收站操作不可逆,是否确实清空回收站?"))location="$basename&action=clearall"''>
<input type="submit" name="hello" value="提 交">

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆


2.打开admin/recycle.php

找到
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
Copy code

?>

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

在前面加上
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
Copy code

//add by 笨笨啊 清空回收站
elseif($action == 'clearall'){
//先取得所有的tid
$query=$db->query("select tid from pw_recycle");
$deltid='';
   while($rt=$db->fetch_array($query)){
       $deltid.=$rt['tid'].',';

   }
       $deltid.= '0';

   $db->update("DELETE FROM pw_tmsgs where tid IN($deltid)");
   $db->update("DELETE FROM pw_threads where fid='$db_recycle'");
   $db->update("DELETE FROM pw_posts where fid='$db_recycle'");
   $db->update("DELETE FROM pw_recycle");
   updateforum($db_recycle);
   adminmsg('operate_success');

}
//add by 笨笨啊 清空回收站

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

完成。
可以在后台的“批量删除管理=>回收站管理”里找到 清空回收站 功能。清空回收站.rar

类别: 无分类 |  评论(31) |  浏览(5528) |  收藏
2006年08月12日 00:43:28

【笨笨出品】插件:论坛点歌台 For pw All

插件:论坛点歌台
原作者:忘了
修改:笨笨啊
修改内容:时间、头部导航、忘了
演示:http://www.zjoubbs.com



修改方法:
1.将文件复制到pw目录下
2.打开template/模板/index.htm

找到

Copy code
<!--<?php print <<<EOT
-->


替换为
Copy code
<!--
<?
$songdetail=readover("data/songdata/songcache.htm");/*点歌代码*/
print <<<EOT
-->

找到
Copy code
<!--
EOT;
foreach($catedb as $key=>$cate){
if($forumdb[$cate[fid]]){
if($cate[across]){print <<<EOT
-->


在其前面加上

Copy code
<!-- 点歌模版 -->
<script>
function popwin2(id,path)
{         window.open("songs.php?action=song_st&dgno="+id,"","height=470,width=390,resizable=no,scrollbars=no,status=no,toolbar=no,menubar=no,location=no");
}
</script>

<table width=$tablewidth border=0 $i_table align=center cellspacing=1 cellpadding=1>

<tr bgcolor=$forumcolortwo>
<td class=head height=25>
<b>-=></b><a class=headurl>温馨点歌台</a>-----<a href=song.php?action=user class=headurl><font color=ffff00>我要点歌</font></a>-----<a href=song_admin.php class=headurl>管理员入口</a></td></tr>
<tr>
<td style=background-image:url("$imgpath/$stylepath/background.gif") width=62% bgcolor=$forumcolorone>
<marquee scrollamount=1 direction=up height=70 onmouseover=this.stop(); onmouseout=this.start();>
$songdetail
</marquee>
</td></tr>
</table>
<!-- 点歌模版 -->


OK

消费金额在song.php里改。论坛点歌台.rar

类别: 无分类 |  评论(68) |  浏览(5735) |  收藏
2006年08月12日 00:21:12

【笨笨出品】小Hack:关于快速回复的小bug

快速回复有一个令人讨厌的小bug

大家可以这样测试一下。。

默认的还好,如果是动态gif的,如果点击了“表情”之后,整个页面上的gif图片都不能动了。其实这个问题很好解决,只是官方的人懒

打开template/wind/fastpost.htm
找到

Copy code
<a href="javascript:addsmile('')"><img src="$imgpath/post/smile/$facedb"></a>



改成
Copy code

<a onclick="addsmile('')" style="cursor:hand"><img src="$imgpath/post/smile/$facedb"></a>



这样,就不会影响页面上的gif动画了

类别: 无分类 |  评论(21) |  浏览(5153) |  收藏
2006年08月11日 07:04:12

【笨笨出品】Hack——论坛匿名完美版(有后台) For PW 4.3.2(last updated 0816)

Hack名称:论坛匿名完美版(有后台)
适合版本:pw 4.3.2
安装程序:笨笨啊
安装难易:中等
hack特点:与系统无缝结合,带后台,可定义允许匿名回复的版块,可定义各个用户组的匿名相关权限,有后台总开关直接控制。…………还有很多。
增加表 :无
影响字段:共影响三张表,分别为pw_usergroups(增加四个字段)、pw_posts(增加两个字段)、pw_forums(增加一个字段)
增加文件:
image/wind/hidename.gif (匿名用户头像)
image/wind/read/viewhide.gif (照妖镜小图)
修改文件:
admin/level.php
admin/setting.php
admin/setforum.php
require/postreply.php
require/postfunc.php
read.php
job.php
template/admin/level.htm
template/admin/setting.htm
template/admin/setforum.htm
template/admin/cp_lang_left.php
template/wind/post.htm
template/wind/fastpost.htm
template/风格目录/read.htm(可能有多个)
-------
simple/mod_read.php
wap/read.php



请在修改前做好相关的文件备份。虽然本Hack在本地调试通过并正常。但不能保证您在安装的时候出现一些错误。


在修改前,请先更新数据库。可以使用install_hide.php来进行安装。或者利用phpmyadmin执行以下句子

ALTER TABLE `pw_usergroups` ADD `hcost` SMALLINT DEFAULT '50' NOT NULL AFTER `uploadmoney` ,
ADD `hsuc` TINYINT DEFAULT '75' NOT NULL AFTER `hcost` ,
ADD `hvcost` SMALLINT DEFAULT '50' NOT NULL AFTER `hsuc` ,
ADD `hvsuc` TINYINT DEFAULT '75' NOT NULL AFTER `hvcost` ;
ALTER TABLE `pw_forums` ADD `hidepost` TINYINT(1) DEFAULT '1' NOT NULL ;
ALTER TABLE `pw_posts` ADD `ifhide` TINYINT(1) DEFAULT '0' NOT NULL ,
ADD `canview` TEXT NOT NULL ;


或者,利用phpmyadmin来执行包内的hidename.sql文件。


在完成数据库字段更新之后,我们开始要修改文件了。请注意,在修改前请先做好备份!

关于后台文件的修改,请参考 后台修改.txt
关于前台文件的修改,请参考 前台修改.txt
关于无图版文件修改,请参考 无图版修改.txt
关于WAP文件修改,请参考 WAP修改.txt


PS.图片说明
匿名时显示的头像:image/风格目录/hidename.gif
照妖镜图标   :image/风格目录/read/viewhide.gif
如有不同风格,请自主修改。

=========0812更新==========
1.增加了使用火眼金睛模式(特定组无需使用照妖镜即可查看所以匿名信息)
2.增加了使用照妖镜时的信息提示。
3.为快速回复以及回复时的匿名选项中了label标签。

如果在此之前已安装好Hack的,可以按以下步骤进行更新

1.打开template/admin/level.htm
找到

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

Copy code
<td>用户使用照妖镜所需要消耗的论坛币,-1为禁用该用户组照妖镜使用权限。</td>

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

替换为

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
Copy code
<td>用户使用照妖镜所需要消耗的论坛币,-1为禁用该用户组照妖镜使用权限。-2为火眼金睛模式(无需使用即可见)</td>

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆



2.打开read.php
找到

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
Copy code
$canview=($groupid==3 || ($winduid && in_array($winduid,$canuid)) || $winduid==$read['authorid']);

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

替换为

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
Copy code
$canview=($groupid==3 || ($winduid && in_array($winduid,$canuid)) || $winduid==$read['authorid'] || $gp_hvcost==-2);

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

3.打开template/模板文件/read.htm

找到

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
Copy code
<!--
EOT;
if($db_allowviewhide && $gp_hvcost!=-1 && $read[authorid]!=$winduid && $read[ifhide]){print <<<EOT
-->
<a href='job.php?action=viewhide&pid=$read[pid]&tid=$tid&page=$page'>
<img src='$imgpath/$stylepath/read/viewhide.gif' align=absmiddle alt='快使用照妖镜'></a>
<!--
EOT;
}print <<<EOT
-->

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

替换为

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
Copy code
<!--
EOT;
if($db_allowviewhide && $gp_hvcost!=-1 && $read[authorid]!=$winduid && $read[ifhide]){print <<<EOT
-->
<a onFocus="this.blur()" href='javascript:if(confirm("使用照妖镜将消耗您{$gp_hvcost}论坛币,并且成功率是{$gp_hvsuc}%\\n\\n确定要使用照妖镜吗?"))location="job.php?action=viewhide&pid=$read[pid]&tid=$tid&page=$page"'>
<img src='$imgpath/$stylepath/read/viewhide.gif' align=absmiddle alt='快使用照妖镜'></a>
<!--
EOT;
}print <<<EOT
-->

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

4.打开template/wind/fastpost.htm

找到

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
Copy code
<input type=checkbox name='atc_hidepost' value='1'>
<label for='atc_hidepost'>匿名回复此帖。此操作将消耗您{$gp_hcost}论坛币,有{$gp_hsuc}%的成功率哦~</label><br>

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
替换为

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
Copy code
<input type=checkbox name='atc_hidepost' value='1' id='atc_hidepost'>
<label for='atc_hidepost'>匿名回复此帖。此操作将消耗您{$gp_hcost}论坛币,有{$gp_hsuc}%的成功率哦~</label><br>


◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆


5.打开template/wind/post.htm
找到

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
Copy code
<input type=checkbox name='atc_hidepost' value='1'>
<label for='atc_hidepost'>匿名回复此帖。此操作将消耗您{$gp_hcost}论坛币,有{$gp_hsuc}%的成功率哦~</label><br>


◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
替换为

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
Copy code
<input type=checkbox name='atc_hidepost' value='1' id='atc_hidepost'>
<label for='atc_hidepost'>匿名回复此帖。此操作将消耗您{$gp_hcost}论坛币,有{$gp_hsuc}%的成功率哦~</label><br>

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆




=============0816更新,解决主题回顾bug==============

解决了主题回复时可见匿名者ID的bug

打开require/postreply.php
找到

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
Copy code
   $post_reply="";
   $query = $db->query("SELECT author,subject,postdate,content FROM pw_posts WHERE
tid='$tid' AND ifcheck='1' ORDER BY postdate DESC LIMIT 0 ,$db_showreplynum");
   while($oldsubject=$db->fetch_array($query)){
       $oldsubject['subject']=stripslashes($oldsubject['subject']);
       $oldsubject['content']=stripslashes($oldsubject['content']);
       $tpc_author=$oldsubject['author'];
       $post_reply.="<table align=center width=70% cellspacing=1 cellpadding=2
style='TABLE-LAYOUT: fixed;WORD-WRAP: break-word'><tr><td width=100%>    $oldsubject
[author]:$oldsubject[subject]<br><br>".convert($oldsubject
['content'],$db_windpost)."</td></tr></table><hr size=1 color=$tablecolor width=80%>";
   }

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
替换为
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
Copy code
//add by 笨笨啊 匿名
   $post_reply="";
   $query = $db->query("SELECT author,subject,postdate,content,ifhide FROM pw_posts
WHERE tid='$tid' AND ifcheck='1' ORDER BY postdate DESC LIMIT 0 ,$db_showreplynum");
   while($oldsubject=$db->fetch_array($query)){
       $oldsubject['subject']=stripslashes($oldsubject['subject']);
       $oldsubject['content']=stripslashes($oldsubject['content']);
       $tpc_author=$oldsubject['author'];
       if ($oldsubject['ifhide']==1) $oldsubject['author']="匿名人士";
       $post_reply.="<table align=center width=70% cellspacing=1 cellpadding=2
style='TABLE-LAYOUT: fixed;WORD-WRAP: break-word'><tr><td width=100%>    $oldsubject
[author]:$oldsubject[subject]<br><br>".convert($oldsubject
['content'],$db_windpost)."</td></tr></table><hr size=1 color=$tablecolor width=80%>";
   }
//add by 笨笨啊 匿名

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆


============华丽滴分割线==============
相关截图
版块设置是否允许匿名


核心设置总开关


用户组设置匿名选项


匿名效果


匿名效果2


匿名效果3
新的匿名图片
程序包 0816
匿名432.rar

类别: 无分类 |  评论(71) |  浏览(9031) |  收藏
2006年08月10日 17:46:19

【笨笨出品】SQL查询的监听者:方便解决query过多或灵异事件

之所以写了这个东东,是因为之前我的论坛发生了灵异扣钱事件。。

一直不知道原因,后来想到监听所有的sql语句,最后才发现了原因所在,并因此有了这个简陋的监听器。。

使用方法:

先备份require/db_mysql.php
然后将包里文件覆盖进去。
修改
  if(1 || ( substr($sql,0,6)=="UPDATE" && (strpos($sql,"MEMBERDATA")>0) && (strpos($sql,"MONEY")>0)))
  //符合条件的,自动添加到文件里去。在这里增加要监听的条件。前面的1是强制监听所有记录

这里的条件,以满足监听要求。如果是为了解决query过多问题,就用这个默认的好了,能记录所有的查询语句

监听日志会保存在data/目录下,命名为sql_月日.log
比如今天是8月10号,则会命名为data/sql_810.log
一行一条记录,可记录 查询时间、文件、IP、查询语句

这样可以方便查看是哪些sql出现了问题,以便解决问题。

比如说是,以下是我的测试数据

Quote:

08/10/06 17:19:08   /zjoubbs/index.php   127.0.0.1   SELECT F.FID,F.FUP,F.TYPE,F.LOGO,F.NAME, F.DESCRIP,F.FORUMADMIN,F.ACROSS,F.ALLOWHTM,F.PASSWORD,F.ALLOWVISIT,F.F_TYPE,F.CMS,FD.TPOST,FD.TOPIC,FD.ARTICLE,FD.SUBTOPIC,FD.TOP1,FD.LASTPOST FROM PW_FORUMS F LEFT JOIN PW_FORUMDATA FD USING(FID) WHERE F.IFSUB='0' AND F.CMS!='1' ORDER BY F.VIEWORDER
08/10/06 17:19:09   /zjoubbs/index.php   127.0.0.1   SELECT * FROM PW_BBSINFO WHERE ID=1
08/10/06 17:19:09   /zjoubbs/index.php   127.0.0.1   SELECT * FROM PW_BBSINFO WHERE ID=1



呵呵

PS。当遇到首页查询失败时,如果是update pw_threads set hits=hits+1…………之类的语句过多,不用多说,直接将data/bbscache/hits.txt文件重命名,即可解决这个问题

开关位置:
在require/db_mysql.php里找到$_debug=1;
改成0就恢复正常了。改成1就开始监听了
db_mysql.rar

类别: 无分类 |  评论(15) |  浏览(4989) |  收藏
2006年08月08日 21:50:43

【笨笨出品】Hack——永远免除类似官方的帖子跑到楼上的现象

造成这种现象的原因在于,官方的默认排序是按postdate,即发帖时间来排序
。而当有多台镜像并且这几台镜像时间不一致的时候,很容易造成这种后发帖的跑到楼上去的现象
还有一种情况就是在后台修改了时区以后,也会出现这种问题
其实只要改成按pid排序就行了啊!

修改方法:


打开read.php

找到

Copy code
  $query = $db->query("SELECT p.*,m.uid,m.username,m.qqface,m.gender, m.oicq, m.groupid,m.memberid,m.icon AS micon,m.hack,m.honor,m.signature,m.regdate,m.signchange,m.medals,m.showsign,m.payemail,md.postnum,md.digests,md.rvrc,md.money,md.credit,md.currency,md.thisvisit,md.onlinetime,md.starttime,md.meeggs,md.meflowers FROM pw_posts p LEFT JOIN pw_members m ON m.uid=p.authorid LEFT JOIN pw_memberdata md ON md.uid=p.authorid WHERE p.tid='$tid' AND p.ifcheck='1' ORDER BY postdate $asc LIMIT $start_limit, $readnum");



将后面的
Copy code
ORDER BY postdate

修改成
Copy code
ORDER BY pid


便可解决这个问题

类别: 无分类 |  评论(84) |  浏览(5101) |  收藏
2006年08月08日 20:34:37

【笨笨出品】Hack——增强版评分显示!(last updated 08.21)

Hack名称:评分增强
适合版本:pw 4.3.2
安装程序:笨笨啊
安装难易:简单
hack特点:美化评分显示界面,可显示评分时间及评分理由。较官方的好看。
增加表 :无
影响字段:随意。可选择修改pw_tmsgs和表pw_posts表中的ifmark字段为text字段。
增加文件:无
修改文件:
read.php
job.php
template/风格目录/read.htm(可能有多个)



请在修改前做好相关的文件备份。虽然本Hack在本地调试通过并正常。但不能保证您在安装的时候出现一些错误。


为了防止评分多的时候不显示之前的评分记录,可以选择执行这句(这步可以不操作)

Copy code

ALTER TABLE `pw_posts` CHANGE `ifmark` `ifmark` TEXT;
ALTER TABLE `pw_tmsgs` CHANGE `ifmark` `ifmark` TEXT;




这两句sql,将ifmark字段类型改成text,这样就突破了255长度的限制。

然后开始将修改文件。请注意,在修改前请先做好备份!

1.打开job.php
找到
Copy code

$ifmark=$atc['ifmark']? $name.':'.$addpoint.'('.addslashes($windid).")\t".$atc['ifmark'] : $name.':'.$addpoint.'('.addslashes($windid).')';
  if(strlen($ifmark)>120){
    $ifmark=substr($ifmark,0,120);  
    $ifmark=substr($ifmark,0,strrpos($ifmark,"\t"));
  }



替换为
Copy code
  //add by 笨笨啊 评分增强
  $atc_content=str_replace("|","Ä",$atc_content);
  $ifmark=$atc['ifmark']? $name.':'.$addpoint.'('.addslashes($windid)."|$timestamp|".Char_cv($atc_content).")\t".$atc['ifmark'] : $name.':'.$addpoint.'('.addslashes($windid)."|$timestamp|".Char_cv($atc_content).')';
  //add by 笨笨啊 评分增强



2.打开template/模板目录/read.htm

找到:
Copy code

<table cellspacing=1 cellpadding=4 bgcolor=$tablecolor>
<tr><td align=center class=t_one>此帖被评分,最近评分记录<table>$read[mark]</table></td></tr></table>


替换为:

Copy code
<table cellspacing="1" cellpadding="4" width="98%" align="center" class='i_table'>
<tr align="center" class="head">
<td width="15%">评分者</td><td width="25%">时间</td><td width="15%">分数</td><td width="45%">理由</td></tr>
</tr>
$read[mark]
</table>



3.打开read.php
找到
Copy code


  if($read['ifmark']){
    $markdb=explode("\t",$read['ifmark']);
    $markinfo="<tr>";
    foreach($markdb as $key=>$value){
        $markinfo.='<td>'.$value.'</td>';
        $key++;
        if($key%3==0)$markinfo.='</tr><tr>';
    }
    $markinfo.='</tr>';
    $read['mark']=$markinfo;
  } else{
    $read['mark']='';
  }



替换为

Copy code

//add by 笨笨啊 评分增强
 
/*  
  if($read['ifmark']){
    $markdb=explode("\t",$read['ifmark']);
    $markinfo="<tr>";
    foreach($markdb as $key=>$value){
        $markinfo.='<td>'.$value.'</td>';
        $key++;
        if($key%3==0)$markinfo.='</tr><tr>';
    }
    $markinfo.='</tr>';
    $read['mark']=$markinfo;
  } else{
    $read['mark']='';
  }
*/
  if($read['ifmark']){
    $markdb=explode("\t",$read['ifmark']);
    foreach($markdb as $key=>$value){
        list($tmark_3,$tmark)=explode("(",$value); //得到评分的结果
        $tmark=str_replace(")","",$tmark);
        list($tmark_1,$tmark_2,$tmark_4)=explode("|",$tmark);         //得到评分人,评分时间,以及评分理由
        $tmark_4=str_replace("Ä","|",$tmark_4);
        $tmark_1="<a href='profile.php?action=show&username=$tmark_1' target=_blank>$tmark_1</a>";
        //因为之前的评分是没有时间的,所以要先加个判断
        if($tmark_2)
          {
          $tmark_2=get_date($tmark_2);
          }
        else
          {
          $tmark_2='unknow time';
          }
        if(!$tmark_4) $tmark_4=" ";
          $markinfo.="<tr align='center'>";
          $markinfo.="<td>$tmark_1</td>";
          $markinfo.="<td>$tmark_2</td>";
          $markinfo.="<td align='left'>$tmark_3</td>";
          $markinfo.="<td>$tmark_4</td>";
          $markinfo.="</tr>";
          }
    $markinfo.='</tr>';
    $read['mark']=$markinfo;
  } else{
    $read['mark']='';
  }

//add by 笨笨啊 评分增强


完成~

截图



===============华丽的分割线 For 0821更新=============
解决了不能显示2条以上评分问题:
1.如果需要显示所有的评分,请勿必要执行开头的两句sql,使得字段变成text,以防数据溢出
2.如果之前安装此hack的,请打开job.php,找到
Copy code
  if(strlen($ifmark)>120){
    $ifmark=substr($ifmark,0,120);  
    $ifmark=substr($ifmark,0,strrpos($ifmark,"\t"));
  }


替换为(其实就是注释掉)
Copy code
/*
  if(strlen($ifmark)>120){
    $ifmark=substr($ifmark,0,120);  
    $ifmark=substr($ifmark,0,strrpos($ifmark,"\t"));
  }
*/


OK~

上面的安装文档已更新主程序包(0821)
版主评分hack.rar

类别: 无分类 |  评论(57) |  浏览(5193) |  收藏
2006年08月07日 21:56:56

【笨笨出品】迷你Hack——无签名时显示系统默认签名(便于论坛宣传)

Hack名称:无签名时显示系统默认签名
适合版本:pw 4.3.2 或其它版本
安装程序:笨笨啊
安装难易:极简单
Hack说明:一般总会有一些会员的签名会是空的,这个时候,我们可以让他的签名默认为你的论坛的宣传广告
增加表 :无
影响字段:无
增加文件:无
修改文件:
read.php



请在修改前做好相关的文件备份。虽然本Hack在本地调试通过并正常。但不能保证您在安装的时候出现一些错误。


支持html

修改方法:

打开 read.php,找到

Copy code
  return $read;
}



在其前面加上一句


Copy code
if(!$read['signature']) $read['signature']="欢迎来到碧海潮声——我们网上共同的家园。<br>请记住我们的网址<br><a href=http://www.zjoubbs.com target=_blank>http://www.zjoubbs.com</a>";




即可,非常简单

类别: 无分类 |  评论(48) |  浏览(7002) |  收藏
2006年08月07日 15:09:01

【笨笨出品】Hack——无聊作品:只看楼主

Hack名称:只看楼主
适合版本:pw 4.3.2
安装程序:笨笨啊
安装难易:简单
hack特点:模仿mop的 “只看楼主” 功能…………。点击“只看楼主”之后,帖子将只显示楼主的发言,而不是显示其它的回复
增加表 :无
影响字段:无
增加文件:无
修改文件:
read.php
template/wind/read.htm(可能有多个)


请在修改前做好相关的文件备份。虽然本Hack在本地调试通过并正常。但不能保证您在安装的时候出现一些错误。



1.打开read.php

找到

Copy code
$read = $db->get_one("SELECT t.* $S_sql FROM pw_threads t $J_sql WHERE t.tid='$tid'");
if(!$read){
  Showmsg('illegal_tid');
}


在后面加上
Copy code

// add by 笨笨啊 只看楼主

global $authoronly_href,$authoronly_text,$authorname;
$authorname=$read['author'];
if($authoronly==1)
{
  $authoronly_href='0';
  $authoronly_text='阅读全部';
}
else
{
  $authoronly_href='1';
  $authoronly_text='只看楼主';
}


// add by 笨笨啊 只看楼主



找到
Copy code

if ($winddb['p_num']){
  $db_readperpage = $winddb['p_num'];
} elseif ($forumset['readnum']){
  $db_readperpage = $forumset['readnum'];
}

在后面加上


Copy code
//只看楼主
if($authoronly==1)
{
$numofpage=1;
$db_readperpage=$read['replies']+1;
}
//只看楼主



(以下这段请注意,如果您之前做过这段sql代码的hack的,可酌情修改。以免Hack冲突)
找到

Copy code
  $query = $db->query("SELECT p.*,m.uid,m.username,m.gender, m.oicq, m.groupid,m.memberid,m.icon AS micon,m.hack,m.honor,m.signature,m.regdate,m.signchange,m.medals,m.showsign,m.payemail,md.postnum,md.digests,md.rvrc,md.money,md.credit,md.currency,md.thisvisit,md.onlinetime,md.starttime FROM pw_posts p LEFT JOIN pw_members m ON m.uid=p.authorid LEFT JOIN pw_memberdata md ON md.uid=p.authorid WHERE p.tid='$tid' AND p.ifcheck='1' ORDER BY postdate $asc LIMIT $start_limit, $readnum");


替换为
Copy code

  if($authoronly==1)
  {
  $query = $db->query("SELECT p.*,m.uid,m.username,m.gender, m.oicq, m.groupid,m.memberid,m.icon AS micon,m.hack,m.honor,m.signature,m.regdate,m.signchange,m.medals,m.showsign,m.payemail,md.postnum,md.digests,md.rvrc,md.money,md.credit,md.currency,md.thisvisit,md.onlinetime,md.starttime FROM pw_posts p LEFT JOIN pw_members m ON m.uid=p.authorid LEFT JOIN pw_memberdata md ON md.uid=p.authorid WHERE p.tid='$tid' AND p.ifcheck='1' AND p.author='$authorname' ORDER BY postdate $asc LIMIT $start_limit, $readnum");
  }
  else
  {$query = $db->query("SELECT p.*,m.uid,m.username,m.gender, m.oicq, m.groupid,m.memberid,m.icon AS micon,m.hack,m.honor,m.signature,m.regdate,m.signchange,m.medals,m.showsign,m.payemail,md.postnum,md.digests,md.rvrc,md.money,md.credit,md.currency,md.thisvisit,md.onlinetime,md.starttime FROM pw_posts p LEFT JOIN pw_members m ON m.uid=p.authorid LEFT JOIN pw_memberdata md ON md.uid=p.authorid WHERE p.tid='$tid' AND p.ifcheck='1' ORDER BY postdate $asc LIMIT $start_limit, $readnum");
  }



2.打开template/风格目录/read.htm

找到
Copy code
<!--
EOT;
if($key==0){print <<<EOT
-->
<input type="button" value="删除选定的帖子" onclick="javascript:document.delatc.submit();">
<!--
EOT;
}}print <<<EOT
-->

在后面加上
Copy code

<!--
EOT;
if($key==0){print <<<EOT
-->
【<a href="read.php?tid={$read[tid]}&authoronly={$authoronly_href}" title="{$authoronly_text}"><font color=red><b>{$authoronly_text}</b></font></a>】
<!--
EOT;
}print <<<EOT
-->


安装完成


截图
抗议,txt文件上传失败!!
只看楼主.rar

类别: 无分类 |  评论(30) |  浏览(5339) |  收藏
2006年08月05日 01:38:42

【笨笨出品】Hack——增加版主推荐功能

Hack名称:版主推荐
适合版本:pw 4.3.2
安装程序:笨笨啊
安装难易:中等
hack特点:与pw 4.3.2无缝结合,可以定义推荐理由,有前台操作记录,能短消息通知。…………
增加表 :无
影响字段:在pw_threads表中增加一数值型字段ifcommend
增加文件:
image/commend.gif
image/风格目录/thread/commend.gif

修改文件:
thread.php
read.php
mawhole.php
template/wind/mawhole.htm
template/wind/read.htm(可能有多个)
template/wind/thread.htm(可能有多个)
template/wind/lang_writemsg.php
template/wind/lang_log.php


特别感谢konsi帮忙提供图片:)

请在修改前做好相关的文件备份。虽然本Hack在本地调试通过并正常。但不能保证您在安装的时候出现一些错误。


以下是安装全过程。请逐步进行安装调试。安装前,请先用附件中的安装文件增加pw_threads表中的ifcommend字段,或者是使用phpmyadmin执行附件包中的sql文件进行安装。或者直接用phpmyadmin手工修改pw_threads表,并增加一个TINYINT类型的字段,长度为1;
手工增加字段也可以执行以下sql语句

Copy code
ALTER TABLE `pw_threads` ADD `ifcommend` TINYINT( 1 ) UNSIGNED NOT NULL ;


然后,将包内带的image/commend.gif复制到您论坛的image目录下。
将image/wind/thread/commend.gif,复制到您论坛的image/风格目录/thread/目录下。


好,现在开始修改文件。



1.打开mawhole.php
找到

Copy code
if (empty($fid) || empty($tidarray) || !in_array($action,array('type','check','del','move','copy','headtopic','digest','lock','pushtopic','edit'))){



替换为
Copy code
if (empty($fid) || empty($tidarray) || !in_array($action,array('type','check','del','move','copy','headtopic','digest','lock','pushtopic','edit','commend'))){



找到
Copy code
  }   elseif(($action=="digest" || $action=="lock" || $action=="pushtopic" || $action=="edit") && $SYSTEM['typeadmin']){


替换为
Copy code
  }   elseif(($action=="digest" || $action=="lock" || $action=="pushtopic" || $action=="edit" || $action=="commend") && $SYSTEM['typeadmin']){

找到
Copy code
?>

在其前面加上

Copy code
// add by 笨笨啊 版主推荐
elseif($action=="commend"){
  if(empty($_POST['step'])){
    if(is_numeric($seltid)){
      $rt = $db->get_one("SELECT fid,ifcommend FROM pw_threads WHERE tid='$seltid'");
      if($fid != $rt['fid']){
          Showmsg('admin_forum_right');
      }
      $commend_0='';
      $commend_1='';

      if($rt['ifcommend']==0 || !$rt['ifcommend'])
      {
          $commend_0='checked';
      }
      else
      {
          $commend_1='checked';
     
      }
     
    }
    require_once PrintEot('mawhole');footer();
  } else{
    count($tidarray) > 500 && Showmsg('mawhole_count');
    $selids = '';
    foreach($tidarray as $k => $v){
      if(is_numeric($v)){
          $selids .= $selids ? ','.$v : $v;
      }
    }
    !$selids && Showmsg('mawhole_nodata');
    $msgdb = $logdb = array();
    $query = $db->query("SELECT tid,fid,postdate,author,authorid,subject,ifcommend FROM pw_threads WHERE tid IN($selids)");
    while($rt=$db->fetch_array($query)){
      if($fid != $rt['fid']){
          Showmsg('admin_forum_right');
      }
      if(!$rt['ifcommend'] && $commend){

          if($ifmsg){
            $msgdb[] = array(
              $rt['author'],
              $winduid,
              'commend_title',
              $timestamp,
              'commend_content',
              '',
              $windid,
              'fid'     => $fid,
              'tid'     => $rt['tid'],
              'subject'   => $rt['subject'],
              'postdate'   => get_date($rt['postdate']),
              'forum'     => $forum[$fid]['name'],
              'admindate'   => get_date($timestamp),
              'reason'   => $atc_content
            );
          }
          $logdb[] = array(
            'type'   => 'commend',
            'username1' => $rt['author'],
            'username2' => $windid,
            'field1'   => $fid,
            'field2'   => '',
            'field3'   => '',
            'descrip'   => 'commend_descrip',
            'timestamp' => $timestamp,
            'ip'   => $onlineip,
            'tid'     => $rt['tid'],
            'subject'   => substrs($rt['subject'],28),
            'forum'     => $forum[$fid]['name'],
            'reason'   => $atc_content
          );
      } elseif($rt['ifcommend'] && !$commend){
          if($ifmsg){
            $msgdb[] = array(
              $rt['author'],
              $winduid,
              'uncommend_title',
              $timestamp,
              'uncommend_content',
              '',
              $windid,
              'fid'     => $fid,
              'tid'     => $rt['tid'],
              'subject'   => $rt['subject'],
              'postdate'   => get_date($rt['postdate']),
              'forum'     => $forum[$fid]['name'],
              'admindate'   => get_date($timestamp),
              'reason'   => $atc_content
            );
          }
          $logdb[] = array(
            'type'   => 'commend',
            'username1' => $rt['author'],
            'username2' => $windid,
            'field1'   => $fid,
            'field2'   => '',
            'field3'   => '',
            'descrip'   => 'uncommend_descrip',
            'timestamp' => $timestamp,
            'ip'   => $onlineip,
            'tid'     => $rt['tid'],
            'subject'   => substrs($rt['subject'],28),
            'forum'     => $forum[$fid]['name'],
            'reason'   => $atc_content
          );
      }
    }
    foreach($msgdb as $key=>$val){
      writenewmsg($val,1);
    }
    foreach($logdb as $key=>$val){
      writelog($val);
    }
    $db->update("UPDATE pw_threads SET ifcommend='$commend' WHERE tid IN($selids)");
    refreshto("thread.php?fid=$fid",'operate_success');
  }
}






2.打开template/wind/mawhole.htm
找到
Copy code
<!--
EOT;
}elseif($action=='edit'){print <<<EOT
-->
          加亮文章标题操作
<!--
EOT;
}print <<<EOT
-->

替换为

Copy code
<!--
EOT;
}elseif($action=='edit'){print <<<EOT
-->
          加亮文章标题操作
         
<!--
EOT;
}elseif($action=='commend'){print <<<EOT
-->
          版主推荐操作
<!--
EOT;
}print <<<EOT
-->


找到

Copy code
<!--
EOT;
}elseif($action=='pushtopic'){
print <<<EOT
-->
<tr><td class='f_one' width='21%'>管理选项:</td><td class='f_one'>
提前帖子
</td></tr>


替换为

Copy code
<!--
EOT;
}elseif($action=='pushtopic'){
print <<<EOT
-->
<tr><td class='f_one' width='21%'>管理选项:</td><td class='f_one'>
提前帖子
</td></tr>
<!--
EOT;
}elseif($action=='commend'){
print <<<EOT
-->
  <tr>
  <td class='f_one' width='21%'>管理选项:</td>
  <td class='f_one'>
  <input type='radio' name='commend' value='1' $commend_1>设为推荐
  <input type='radio' name='commend' value='0' $commend_0>取消推荐
  </td>
  </tr>


3.打开template/wind/lang_writemsg.php
找到

Copy code
  'lock_title'   => '您的文章被锁定',
  'lock_content'   => "您发表的文章被 [b]{$msg[6]}[/b] 执行 [b]锁定[/b] 操作{$msg_add}",
  'unlock_title'   => '您的文章被解除锁定',
  'unlock_content'=> "您发表的文章被 [b]{$msg[6]}[/b] 执行 [b]解除锁定[/b] 操作{$msg_add}",


在其后面加上

Copy code
//add by 笨笨啊 版主推荐
  'commend_title'   => '您的文章被版主推荐',
  'commend_content'   => "您发表的文章被 [b]{$msg[6]}[/b] 执行 [b]版主推荐[/b] 操作{$msg_add}",
  'uncommend_title'   => '您的文章被解除版主推荐',
  'uncommend_content'=> "您发表的文章被 [b]{$msg[6]}[/b] 执行 [b]解除版主推荐[/b] 操作{$msg_add}",
//add by 笨笨啊 版主推荐



4.打开template/wind/lang_log.php
找到
 
Copy code
'locked'   => '锁定',

在其后面加上
 
Copy code
'commend'   => '推荐',




找到
 
Copy code
'lock_descrip'         =>   "文章:[url=$db_bbsurl/read.php?tid=$log[tid]]$log[subject][/url]
操作:将文章锁定
原因:{$log[reason]}",
  'unlock_descrip'     =>   "文章:[url=$db_bbsurl/read.php?tid=$log[tid]]$log[subject][/url]
操作:将文章解除锁定
原因:{$log[reason]}",


在后面加上

Copy code
// add by 笨笨啊 版主推荐
  'commend_descrip'         =>   "文章:[url=$db_bbsurl/read.php?tid=$log[tid]]$log[subject][/url]
操作:将文章设为版主推荐
原因:{$log[reason]}",
  'uncommend_descrip'     =>   "文章:[url=$db_bbsurl/read.php?tid=$log[tid]]$log[subject][/url]
操作:将文章解除版主推荐
原因:{$log[reason]}",
// add by 笨笨啊 版主推荐



5.打开template/风格目录/read.htm

找到
Copy code
[<a href='mawhole.php?action=headtopic&fid=$fid&seltid=$tid' title='置顶帖子'>置顶</a>]
[<a href='mawhole.php?action=digest&fid=$fid&seltid=$tid' title='精华帖子'>精华</a>]
[<a href='mawhole.php?action=lock&fid=$fid&seltid=$tid' title='锁定帖子'>锁定</a>]
[<a href='mawhole.php?action=pushtopic&fid=$fid&seltid=$tid' title='提前帖子'>提前</a>]
[<a href='mawhole.php?action=edit&fid=$fid&seltid=$tid' title='编辑标题颜色'>加亮</a>]
[<a href='mawhole.php?action=del&fid=$fid&seltid=$tid' title='删除帖子'>删除</a>]
[<a href='mawhole.php?action=move&fid=$fid&seltid=$tid' title='移动帖子'>移动</a>]
[<a href='mawhole.php?action=copy&fid=$fid&seltid=$tid' title='复制帖子'>复制</a>]

在其后面加上

Copy code
[<a href='mawhole.php?action=commend&fid=$fid&seltid=$tid' title='版主推荐'>推荐</a>]


找到
Copy code
<span class='tpc_title'>$read[subject]</span><br>


在其后面加上
[code]
<!--
EOT;
if($commend==1) {
print <<<EOT
-->
<div id="commend" style="right: 200px; WIDTH: 0px; POSITION: absolute; TOP: 410px; HEIGHT: 0px"><img border="0" src="$imgpath/commend.gif" width="123" height="104" border="0"></div>
<!--
EOT;
}
print <<<EOT
-->[/code]

6.打开thread.php
找到
[code]
  if($thread['pollid']&&$thread['locked']==0){
    $thread['status']="<img src='$imgpath/$stylepath/thread/vote.gif' border=0>";
  } elseif($thread['pollid']&&$thread['locked']>0){
    $thread['status']="<img src='$imgpath/$stylepath/thread/votelock.gif' border=0>";
  } else{
    if ($thread['locked']==1){
        $thread['status']="<img src='$imgpath/$stylepath/thread/topiclock.gif' border=0>";
    } elseif ($thread['locked']==2){
        $thread['status']="<img src='$imgpath/$stylepath/thread/topicclose.gif' border=0>";
    } elseif ($thread['replies']>=10){
        $thread['status']="<img src='$imgpath/$stylepath/thread/topichot.gif' border=0>";
    } else{
        $thread['status']="<img src='$imgpath/$stylepath/thread/topicnew.gif' border=0>";
    }
  }[/code]

在后面加上
[code]
//add by 笨笨啊 版主推荐
  if($thread['ifcommend']){
    //下面第一行是在标题后面显示红字加粗的字表明是版主推荐
    //第二行是修改标题左边的状态小图标。如果不喜欢,可以将不要的用//注释掉
    $thread['subject'].=" [<font color=red><b>版主推荐</b></font>]";
    $thread['status']="<img src='$imgpath/$stylepath/thread/commend.gif' border=0>";
  } else{
    unset($thread['ifcommend']);
  }
// add by 笨笨啊 版主推荐[/code]




7.打开template/风格目录/thread.htm

找到
[code]<a href='mawhole.php?action=edit&fid=$thread[fid]&seltid=$thread[tid]' title='编辑标题'>亮</a>[/code]

在其后面加上

[code]<a href='mawhole.php?action=commend&fid=$thread[fid]&seltid=$thread[tid]' title='版主推荐'>荐</a>[/code]

找到

[code]<input name=action type=radio value='copy'>复制[/code]

在其后面加上
[code]<input name=action type=radio value='commend'>推荐[/code]



8.打开read.php

找到

[code]$read = $db->get_one("SELECT t.* $S_sql FROM pw_threads t $J_sql WHERE t.tid='$tid'");
if(!$read){
  Showmsg('illegal_tid');
}[/code]

在其后面加上

[code]// add by 笨笨啊 版主推荐
$commend=$read['ifcommend'];
// add by 笨笨啊 版主推荐[/code]

==============华丽得不得了的分割线========
常见问题:
问:在阅读帖子的时候,那个“推荐”的位置不好,如何调整?
答:请打开template/风格目录/read.htm
找到修改的
[code]
<div id="commend" style="right: 200px; WIDTH: 0px; POSITION: absolute; TOP: 410px; HEIGHT: 0px"><img border="0" src="$imgpath/commend.gif" width="123" height="104" border="0"></div>
[/code]
在这里,其中 的right、top这两个属性就是用来控制位置的,不同的风格可以适量调整


问:如果版主推荐之后,帖子前面的小图标不适应我的风格,怎么办?
答:请按image/wind/thread/commend.gif的样式制作一个适合您当前风格的文件,并放在image/风格目录/thread/ 目录下,命名为commend.gif即可


问:为什么我安装此hack之后,版主推荐的帖子前面小图标为红X?
答:此问题和上一个问题一样。

其它待续…………版主推荐.rar

类别: 无分类 |  评论(35) |  浏览(5419) |  收藏
2006年08月03日 17:49:20

【笨笨出品】论坛许愿爱墙完全整合增强版(附带sql)

插件名称:论坛爱墙
适合版本:pw 4.X & pw_3.X
插件修改:笨笨啊
安装程序:笨笨啊
安装难易:极易
增加表 :1张(pw_hack_lovewall)
影响字段:无
增加文件:
love.php
love.css
hack/love.php
template/wind/love_show.htm
template/wind/love_input.htm


主要说明:原来有人发过一份,但不但没有删除功能,而且也不能扣除论坛金币,并且并不是和论坛整合的,只是一个独立的系统。所以在lovewall公布的源代码中,本人重写了爱墙程序,以使其能与pw论坛无缝整合。能设定写纸条消耗的论坛币,并阻止了游客的进入。
同时也实现了程序的风格化。
写了一个安装程序。


安装说明。
1、上传所有文件到论坛目录,然后用浏览器运行love_install.php,完成建表工作。
2、在后台添加插件,或者在前台的template/风格目录/header.htm中的合适位置添加到love.php的链接

附:后台添加插件方法:

后台插件管理=>添中
新建一个
插件名称:许愿爱墙
唯一标识符:lovewall
前台文件:love.php
后台文件:空
相关文件:
love.php,love.css,hack/love.php,template/wind/love_show.htm,template/wind/love_input.htm

截图1


截图2



问:没有后台如何修改设置?(扣金钱数,显示范围,默认纸条等)
答:打开love.php,修改前面的配置段就行了。其内容为
//以下是环境配置
global $costmoney,$table,$msginfo,$theight,$mintop,$minleft,$maxtop,$maxleft;
$costmoney=50;     //写一张小纸条需要花费的金钱。
$table='pw_hack_lovewall';     //安装后的表
$mostshow=100;         //一次性显示的纸条数目。默认为100条
$msginfo="祝碧海潮声论坛越办越好!"; //添加时默认的文字。
$theight=500;         //默认的页面高度(指祝福条部分)

$mintop=250;         //纸条可能出现的最高度,单位为px。此配置只在防止纸条出现位置过高
$minleft=0;           //纸条可能出现的最左边,单位为px。此配置只在防止纸条出现位置过左
$maxtop=600;         //纸条可能出现的最下边,单位为px。此配置只在防止纸条出现位置过下
$maxleft=700;         //纸条可能出现的最下边,单位为px。此配置只在防止纸条出现位置过右

//以上是环境配置
,可酌情修改。


问:安装后出现?怎么办?
答:如果是gbk,请试用附件2的安装程序重新安装

问:安装失败怎么办?
答:用附件3中的love.sql用phpmyadmin导入试试

问:为什么不能用?点击没有反映?
答:目前出现这类问题是由于静态部署的原因造成的。可以试着关闭。
或者用如下方法解决(感谢daysky提出解决方案):

关于开启静态部署的问题的解决办法:
程序love.php中

Copy code
$action=!empty($_GET['action']) ? $_GET['action']:'show';
//判断动作是否合法

这句有问题,$action 不应该通过 $_GET 取值,因为在global.php中已经自动解析了
修改为
Copy code
empty($action) && $action = 'show';

OK!静态部署可以用。。。。。。。。。。
如果乱码gbk可以用这个安装包
love_install_gbk.rar安装sql
love.rar主程序
论坛许愿爱墙整合版.rar

类别: 无分类 |  评论(114) |  浏览(9873) |  收藏