//===========================================================
//插件名称:社区监狱 4.0
//适用版本:Discuz! 5.0.0
//插件编码:GBK
//作 者:pk0909,童虎,rel4x,connan
//最后修改:Freddy
//最后更新:2006-12-30
//技术支持:discuz.dismall.com
//数据升级:有
//修改文件: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设置成相应的:
- CREATE TABLE `cdb_postban` (
- `pb_id` int(10) unsigned NOT NULL auto_increment,
- `username` varchar(15) NOT NULL default '',
- `opername` varchar(15) NOT NULL default '',
- `fid` smallint(6) unsigned NOT NULL default '0',
- `timelimit` int(10) unsigned NOT NULL default '0',
- `starttime` int(10) unsigned NOT NULL default '0',
- `pbmoney` int(10) NOT NULL default '0',
- `reason` text NOT NULL,
- PRIMARY KEY (`pb_id`),
- KEY `fid` (`fid`)
- ) TYPE=MyISAM DEFAULT CHARSET=gbk ;
- CREATE TABLE `cdb_postban_escapelog` (
- `pb_id` int(10) unsigned NOT NULL auto_increment,
- `prison` varchar(15) NOT NULL default '',
- `starttime` int(10) unsigned NOT NULL default '0',
- PRIMARY KEY (`pb_id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=gbk ;
复制代码
MYSQL 版本 <= 4.0.* 的升级以下两个表:
- CREATE TABLE `cdb_postban` (
- `pb_id` int(10) unsigned NOT NULL auto_increment,
- `username` varchar(15) NOT NULL default '',
- `opername` varchar(15) NOT NULL default '',
- `fid` smallint(6) unsigned NOT NULL default '0',
- `timelimit` int(10) unsigned NOT NULL default '0',
- `starttime` int(10) unsigned NOT NULL default '0',
- `pbmoney` int(10) NOT NULL default '0',
- `reason` text NOT NULL,
- PRIMARY KEY (`pb_id`),
- KEY `fid` (`fid`)
- ) TYPE=MyISAM ;
- CREATE TABLE `cdb_postban_escapelog` (
- `pb_id` int(10) unsigned NOT NULL auto_increment,
- `prison` varchar(15) NOT NULL default '',
- `starttime` int(10) unsigned NOT NULL default '0',
- PRIMARY KEY (`pb_id`)
- ) ENGINE=MyISAM ;
复制代码
3 在 include/global.func.php 文件的最后 PHP结束符(?>)之前,插入以下代码:
- //==============禁言检查函数Begin===============
- function postban_check($fid, $theuser){
- global $adminid, $db, $tablepre, $postban; //fixed by Freddy
- if (!$fid || !$theuser) {
- return 1;
- }
- if ($adminid == '1' || $adminid == '2' || $adminid == '3') {
- return 1;
- } else {
- $timestamp = time();
- $fid=intval($fid);
- if ($fid < '1') {
- return 0;
- }
- $qq = $db->query("SELECT count(*) FROM {$tablepre}postban WHERE (fid='$fid' or fid='65535') AND username='$theuser' AND timelimit > $timestamp");
- $post_bancount = $db->result($qq, 0);
- if ($post_bancount) {
- return 0;
- } else {
- return 1;
- }
- }
- }
- //=====================END======================
复制代码
4 include/newthread.inc.php
查找:
- if($subject == '' || $message == '') {
- showmessage('post_sm_isnull');
- }
复制代码
在上面插入:
- //===========板块禁言检查begin========
- if (!$ismoderator) {
- if (!postban_check($forum[fid], $discuz_user)) {
- showmessage('你在本板块被禁言,不能发贴和编辑');
- }
- }
- //===========板块禁言检查end==========
复制代码
5 include/newreply.inc.php
查找:
- if($subject == '' && $message == '') {
复制代码
在上面插入:
- //===========板块禁言检查begin========
- if (!$ismoderator) {
- if (!postban_check($forum[fid], $discuz_user)) {
- showmessage('你在本板块被禁言,不能发贴和编辑');
- }
- }
- //===========板块禁言检查end==========
复制代码
6 include/editpost.inc.php
查找:
在上面插入:
- //===========板块禁言检查begin========
- if (!$ismoderator) {
- if (!postban_check($forum[fid], $discuz_user)) {
- showmessage('你在本板块被禁言,不能发贴和编辑');
- }
- }
- //===========板块禁言检查end==========
复制代码
7 在后台的插件添加里面,导入附件里面那个upload外的txt文件:)
8 更新缓存+后台设置
有关此插件的疑问请全部到此贴回复说明!!!
https://discuz.dismall.com/thread-497153-1-1.html
[ 本帖最后由 freddy 于 2006-12-31 10:03 编辑 ] |