Manyou诚邀开发者加盟 | 常见问题
《站长》俱乐部官方群公布 城市联络员机会多多
立即免费下载 Discuz!7.0.0 正式版
安装升级指南 | 用户手册 | 新手建站学堂
基于.net架构的Discuz!NT2.6正式版发布
Comsenz公司2009年招贤纳士,期待您的加盟
Discuz!收费服务内容及价格
7月重庆、成都、西安三地社区运营实战特训速报名
Discuz!/UCHome 专用官方虚拟主机
牧场新服一起联运:豆浆机免费带回家
基于Discuz!的免费论坛空间5D6D
康盛创想《站长》俱乐部18城市互动之旅报名ing
返回列表 回复 发帖

社区监狱 4.0 For 5.0.0 [06/12/30] [官方安全修正]

//===========================================================
//插件名称:社区监狱 4.0
//适用版本:Discuz! 5.0.0
//插件编码:GBK
//作  者:pk0909,童虎,rel4x,connan
//最后修改:Freddy
//最后更新:2006-12-30
//技术支持:www.discuz.net
//数据升级:有
//修改文件:include/newthread.inc.php、include/global.func.php、include/newreply.inc.php、include/editpost.inc.php
//修改模版:无
//===========================================================


注意事项:
1、请先设置好后台再玩这个插件,不然出了问题请自行解决。
2、请自行修改监狱插件的公告再玩。
3、监狱长(管理员默认为监狱长)、管理员、总版主、版主可进行抓人。



插件升级说明:
1、修正了2处严重漏洞以及17处小错误。(Freddy,Maple-X)
2、增强逃狱功能,并且修正一处刷逃狱的BUG。(Freddy)
3、增加了所有操作的PMs。(Freddy)
4、后台增加积分策略。(Freddy)
5、为用户增加了各种选项。如:劫狱失败的被关时间、插件页面显示多少犯人再进行翻页、有无保释金的各种劫狱机率的不同设置等等。(Freddy)
6、修正了原版本中的犯人的页面显示不恰当的地方。(Freddy)
7、代码重排。(Freddy)

全新安装开始:(升级安装在二楼)



1 上传upload内的文件!!!

2 升级数据库

MYSQL 版本 > 4.0.* 的升级以下两个表、并根据自己论坛的字符集将gbk设置成相应的:
  1. CREATE TABLE `cdb_postban` (
  2.   `pb_id` int(10) unsigned NOT NULL auto_increment,
  3.   `username` varchar(15) NOT NULL default '',
  4.   `opername` varchar(15) NOT NULL default '',
  5.   `fid` smallint(6) unsigned NOT NULL default '0',
  6.   `timelimit` int(10) unsigned NOT NULL default '0',
  7.   `starttime` int(10) unsigned NOT NULL default '0',
  8.   `pbmoney` int(10) NOT NULL default '0',
  9.   `reason` text NOT NULL,
  10.   PRIMARY KEY  (`pb_id`),
  11.   KEY `fid` (`fid`)
  12. ) TYPE=MyISAM DEFAULT CHARSET=gbk ;

  13. CREATE TABLE `cdb_postban_escapelog` (
  14.   `pb_id` int(10) unsigned NOT NULL auto_increment,
  15.   `prison` varchar(15) NOT NULL default '',
  16.   `starttime` int(10) unsigned NOT NULL default '0',
  17.   PRIMARY KEY  (`pb_id`)
  18. ) ENGINE=MyISAM DEFAULT CHARSET=gbk ;
复制代码
MYSQL 版本 <= 4.0.* 的升级以下两个表:
  1. CREATE TABLE `cdb_postban` (
  2.   `pb_id` int(10) unsigned NOT NULL auto_increment,
  3.   `username` varchar(15) NOT NULL default '',
  4.   `opername` varchar(15) NOT NULL default '',
  5.   `fid` smallint(6) unsigned NOT NULL default '0',
  6.   `timelimit` int(10) unsigned NOT NULL default '0',
  7.   `starttime` int(10) unsigned NOT NULL default '0',
  8.   `pbmoney` int(10) NOT NULL default '0',
  9.   `reason` text NOT NULL,
  10.   PRIMARY KEY  (`pb_id`),
  11.   KEY `fid` (`fid`)
  12. ) TYPE=MyISAM ;

  13. CREATE TABLE `cdb_postban_escapelog` (
  14.   `pb_id` int(10) unsigned NOT NULL auto_increment,
  15.   `prison` varchar(15) NOT NULL default '',
  16.   `starttime` int(10) unsigned NOT NULL default '0',
  17.   PRIMARY KEY  (`pb_id`)
  18. ) ENGINE=MyISAM ;
复制代码
3 在 include/global.func.php 文件的最后 PHP结束符(?>)之前,插入以下代码:
  1. //==============禁言检查函数Begin===============
  2. function postban_check($fid, $theuser){
  3.         global $adminid, $db, $tablepre, $postban; //fixed by Freddy
  4.         if (!$fid || !$theuser) {
  5.                 return 1;
  6.         }
  7.         if ($adminid == '1' || $adminid == '2' || $adminid == '3') {
  8.                 return 1;
  9.         } else {
  10.                 $timestamp = time();
  11.                 $fid=intval($fid);
  12.                 if ($fid < '1') {
  13.                         return 0;
  14.                 }

  15.                 $qq = $db->query("SELECT count(*) FROM {$tablepre}postban WHERE (fid='$fid' or fid='65535') AND username='$theuser' AND timelimit > $timestamp");

  16.                 $post_bancount = $db->result($qq, 0);

  17.                 if ($post_bancount) {
  18.                         return 0;
  19.                 } else {
  20.                         return 1;
  21.                 }
  22.         }
  23. }
  24. //=====================END======================
复制代码
4 include/newthread.inc.php

查找:
  1. if($subject == '' || $message == '') {
  2.                 showmessage('post_sm_isnull');
  3.         }
复制代码
上面插入:
  1. //===========板块禁言检查begin========
  2. if (!$ismoderator) {
  3.         if (!postban_check($forum[fid], $discuz_user)) {
  4.                 showmessage('你在本板块被禁言,不能发贴和编辑');
  5.         }
  6. }
  7. //===========板块禁言检查end==========
复制代码
5 include/newreply.inc.php

查找:
  1. if($subject == '' && $message == '') {
复制代码
上面插入:
  1. //===========板块禁言检查begin========
  2. if (!$ismoderator) {
  3.         if (!postban_check($forum[fid], $discuz_user)) {
  4.                 showmessage('你在本板块被禁言,不能发贴和编辑');
  5.         }
  6. }
  7. //===========板块禁言检查end==========
复制代码
6 include/editpost.inc.php

查找:
  1. if(empty($delete)) {
复制代码
上面插入:
  1. //===========板块禁言检查begin========
  2. if (!$ismoderator) {
  3.         if (!postban_check($forum[fid], $discuz_user)) {
  4.                 showmessage('你在本板块被禁言,不能发贴和编辑');
  5.         }
  6. }
  7. //===========板块禁言检查end==========
复制代码
7 在后台的插件添加里面,导入附件里面那个upload外的txt文件:)

8 更新缓存+后台设置


有关此插件的疑问请全部到此贴回复说明!!!
http://www.discuz.net/thread-497153-1-1.html


[ 本帖最后由 freddy 于 2006-12-31 10:03 编辑 ]
back.JPG
index.JPG
pm.JPG

[Plugin]社区监狱.zip (64.04 KB)

1

评分次数

What the fuck are you lookin' at, you lame-ass motherfucker!

社区监狱 3.0 -> 4.0 升级安装开始:

注意:这次的4.0版是根据http://www.discuz.net/thread-230718-1-2.html基础上开发的,所以只有装过http://www.discuz.net/thread-230718-1-2.html的朋友才可以往下看!!!

一、升级数据库:

MYSQL 版本 > 4.0.* 的升级以下表、并根据自己论坛的字符集将gbk设置成相应的:
  1. CREATE TABLE `cdb_postban_escapelog` (
  2.   `pb_id` int(10) unsigned NOT NULL auto_increment,
  3.   `prison` varchar(15) NOT NULL default '',
  4.   `starttime` int(10) unsigned NOT NULL default '0',
  5.   PRIMARY KEY  (`pb_id`)
  6. ) ENGINE=MyISAM DEFAULT CHARSET=gbk ;
复制代码
MYSQL 版本 <= 4.0.* 的升级以下表:
  1. CREATE TABLE `cdb_postban_escapelog` (
  2.   `pb_id` int(10) unsigned NOT NULL auto_increment,
  3.   `prison` varchar(15) NOT NULL default '',
  4.   `starttime` int(10) unsigned NOT NULL default '0',
  5.   PRIMARY KEY  (`pb_id`)
  6. ) ENGINE=MyISAM ;
复制代码
二、将插件文件包上传覆盖以前的插件文件。

三、将以前添加在include/global.func.php内的函数替换成下面的函数:
  1. //==============禁言检查函数Begin===============
  2. function postban_check($fid, $theuser){
  3.         global $adminid, $db, $tablepre, $postban; //fixed by Freddy
  4.         if (!$fid || !$theuser) {
  5.                 return 1;
  6.         }
  7.         if ($adminid == '1' || $adminid == '2' || $adminid == '3') {
  8.                 return 1;
  9.         } else {
  10.                 $timestamp = time();
  11.                 $fid=intval($fid);
  12.                 if ($fid < '1') {
  13.                         return 0;
  14.                 }

  15.                 $qq = $db->query("SELECT count(*) FROM {$tablepre}postban WHERE (fid='$fid' or fid='65535') AND username='$theuser' AND timelimit > $timestamp");

  16.                 $post_bancount = $db->result($qq, 0);

  17.                 if ($post_bancount) {
  18.                         return 0;
  19.                 } else {
  20.                         return 1;
  21.                 }
  22.         }
  23. }
  24. //=====================END======================
复制代码
最后:更新缓存+后台设置。

[ 本帖最后由 freddy 于 2006-12-30 18:12 编辑 ]
What the fuck are you lookin' at, you lame-ass motherfucker!
Reserved.
What the fuck are you lookin' at, you lame-ass motherfucker!
现在FOR D5的这个还没有,所以我就把这个放出了.TB的很多人PM说不要,要我这个,所以么,呵呵.
功能上只是一点更新而已.主要还是修复了些安全问题.所以建议升级!
楼下回复的注意,我先小人后君子,不要乱骂人,过节了,不要伤和气,我没强迫任何人用.觉得不好或者不想用也别回复.谢谢!
What the fuck are you lookin' at, you lame-ass motherfucker!
沙发~~~1
终于可以了,顶啊!
性知识
要查看完整签名请回复,谢谢![本签名隐藏: 138 字节]
我觉得提示信息还可以写得更人性化一点,呵呵
性知识
要查看完整签名请回复,谢谢![本签名隐藏: 138 字节]
还有前排啊...支持
大家希望的东西只要是免费的一律高危。。。。。。。
支持!下班回去就安装!
沙发,,支持.
www.0762.cn
返回列表