AL8 Forum » Discuz 5.0 及 5.5 插件發佈 » 社區監獄 4.0 For 5.0.0 [06/12/30] [官方安全修正][harry098繁化]已更新附件   


2006-12-31 14:18 harry098
社區監獄 4.0 For 5.0.0 [06/12/30] [官方安全修正][harry098繁化]已更新附件   

//===========================================================
//插件名稱:社區監獄 4.0
//適用版本:Discuz! 5.0.0
//插件編碼:BIG5
//作  者:pk0909,童虎,rel4x,connan
//最後修改:Freddy
//繁        化:牙件(harry098)     
//最後更新: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)
//===========================================================
[b][size=5]*已繁化了後台導入碼[/size][/b]


全新安裝開始:(升級安裝在二樓)



[b]1 上傳upload內的文件!!!
2 升級數據庫[/b]

MYSQL 版本 > 4.0.x 的升級以下兩個表、並根據自己論壇的字符集將big5設置成相應的:[code]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=big5 ;

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=big5 ;[/code]MYSQL 版本 <= 4.0.x 的升級以下兩個表:[code]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 ;[/code][b]3 在 include/global.func.php 文件的最後 PHP結束符[b]( ?> )[/b]之前,插入以下代碼:[/b][code]//==============禁言檢查函數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======================[/code][b]4 include/newthread.inc.php[/b]

查找:[code]if($subject == '' || $message == '') {
                showmessage('post_sm_isnull');
        }[/code]在[color=red]上面[/color]插入:[code]//===========板塊禁言檢查begin========
if (!$ismoderator) {
        if (!postban_check($forum[fid], $discuz_user)) {
                showmessage('你在本板塊被禁言,不能發貼和編輯');
        }
}
//===========板塊禁言檢查end==========[/code][b]5 include/newreply.inc.php[/b]

查找:[code]if($subject == '' && $message == '') {[/code]在[color=red]上面[/color]插入:[code]//===========板塊禁言檢查begin========
if (!$ismoderator) {
        if (!postban_check($forum[fid], $discuz_user)) {
                showmessage('你在本板塊被禁言,不能發貼和編輯');
        }
}
//===========板塊禁言檢查end==========[/code][b]6 include/editpost.inc.php[/b]

查找:[code]if(empty($delete)) {[/code]在[color=red]上面[/color]插入:[code]//===========板塊禁言檢查begin========
if (!$ismoderator) {
        if (!postban_check($forum[fid], $discuz_user)) {
                showmessage('你在本板塊被禁言,不能發貼和編輯');
        }
}
//===========板塊禁言檢查end==========[/code][b]7 在後台的插件添加裡面,導入附件裡面那個upload外的txt文件:)[/b]

[b]8 更新緩存+後台設置[/b]

[color=red]繁化[/color]-www.trup-zone.com

[[i] 本帖最後由 harry098 於 2006-12-31 19:12 編輯 [/i]]

2006-12-31 14:40 harry098
社區監獄 3.0 -> 4.0 升級安裝開始:

注意:這次的4.0版是根據http://www.alan888.com/Discuz/viewthread.php?tid=56733基礎上開發的,所以只有裝過http://www.alan888.com/Discuz/viewthread.php?tid=56733的朋友才可以往下看!!!

一、升級數據庫:

MYSQL 版本 > 4.0.x 的升級以下表、並根據自己論壇的字符集將big5設置成相應的:

[code]
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=big5 ;
[/code]

MYSQL 版本 <= 4.0.x 的升級以下表:

[code]
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 ;
[/code]

二、將插件文件包上傳覆蓋以前的插件文件。

三、將以前添加在include/global.func.php內的函數替換成下面的函數:

[code]
//==============禁言檢查函數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======================
[/code]

最後:更新緩存+後台設置。

2006-12-31 14:45 Eric03
第1個,支持:em21:

2006-12-31 14:47 friri
看到有修改地方,這個應該修正了問題,先前的監獄禁完都無用……

2006-12-31 14:54 夜月名
[url]http://www.alan888.com/Discuz/viewthread.php?tid=76792&extra=&highlight=%AA%C0%B0%CF%BA%CA%BA%BB&page=1[/url]


咁 Eric03 兄放個隻岩唔岩洗呢??

一樣咁裝?? :titter:

2006-12-31 16:26 la8896
導入txt有錯誤問題

jail.php有許、功、蓋問題

巳修正以上二項問題

12月31日18:00前下載者

請重新再下載檔案

因為不只有一個成"功"

巳重新上傳

[[i] 本帖最後由 la8896 於 2006-12-31 19:15 編輯 [/i]]

2006-12-31 23:26 kwanhonkei
好~支持已安裝。
但如何可以令罪犯不能在禁止區域看帖?

2006-12-31 23:30 alvin222
支持支持支持

2007-1-1 21:50 jric1107
可以取消逃獄功能嗎@.@?

2007-1-1 21:52 teng
*** 作者被禁止或刪除 內容自動屏蔽 ***

2007-1-1 23:03 xp1
good wo:em21:

2007-1-1 23:06 量產白頭片
:em37: :em37: :em37: :em37: 個pirson break 好正哦

2007-1-2 03:48 wantgo
Thanks!

看起來好像功能很完整,但沒有試過~
來去試試看!
感謝分享~

2007-1-2 21:30 k91313
支持已安裝成功~

2007-1-4 16:02 eddie309
失敗左, 不過都多謝分享!

2007-1-4 16:06 Eric03
[quote][b]原帖由 [i]夜月名[/i] 於 2006-12-31 14:54 發表。&nbsp;[/b][url=http://www.alan888.com/Discuz/viewthread.php?tid=96189&page=1#pid790958][img=13,13]http://www.alan888.com/Discuz/images/common/back.gif[/img][/url]
[url]http://www.alan888.com/Discuz/viewthread.php?tid=76792&extra=&highlight=%AA%C0%B0%CF%BA%CA%BA%BB&page=1[/url]
咁 Eric03 兄放個隻岩唔岩洗呢??
一樣咁裝?? :titter: [/quote]

裝左他果個就不可以安裝我的

[[i] 本帖最後由 Eric03 於 2007-1-13 20:48 編輯 [/i]]

2007-1-4 17:54 liiochong
好~多謝分享

2007-1-6 22:54 櫻love
導入戈時咁ga
點解吾得ga?



插件數據文件已損壞,無法導入,請返回。

2007-1-7 02:40 Repohk
成功...Q

2007-1-9 12:49 Yoson
升級錯誤,MySQL 提示: You have an error in your SQL syntax near 'ENGINE=MyISAM ' at line 1

我的版本是<4.0的 是將兩個表分兩次昇級對嗎?
第一個表成功昇級!
但第二個表出現以上一句~

應怎麼辨?! 謝謝!

2007-1-13 08:19 瑋少
支持:em32:

2007-1-26 23:13 winzen
好像沒有解決之前版本的問題....
確認好幾便..設定都沒有錯可是就是形同虛設..
一樣照常進出發帖和回文...
也不知道哪裡有問題...
另一版本( 社區監獄 3.0)也有相同的狀況~

2007-1-31 00:40 Error
印象中上一個version有很多問題的
所以沒安裝
這個會有問題麼?
而且support utf8?

2007-2-8 10:02 天使長
如果版主、超級版主被送入監獄
一樣可以發言耶-.-

2007-2-9 19:43 小煙
沒用過這個, 試試看!! 謝謝分享~ ^^

2007-2-16 22:10 舞美拉
想請問這是哪裡錯誤呢??

2007-4-23 14:57 john0968
5.5可以嗎 有大大幫我是一下嗎

2007-5-6 01:00 jackielam
[quote]原帖由 [i]j醒目/i] 於 2007-4-23 14:57 發表 [url=http://www.alan888.com/Discuz/redirect.php?goto=findpost&pid=918562&ptid=96189][img=13,13]http://www.alan888.com/Discuz/images/common/back.gif[/img][/url]
5.5可以嗎 有大大幫我是一下嗎 [/quote]


5.5可以
我裝了
[url]http://forum.riceism.org[/url]

2007-6-12 07:01 mango0528
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 ;



呢個升級唔到=.=
請大大幫幫

2007-8-29 19:49 helren
升級錯誤,MySQL 提示: Table 'cdb_postban' already exists ,請返回。

咁即係點...

2007-9-5 16:45 unyleung
找到問題了...加入監獄長處...會引致不能打開顯示空白頁問題

[[i] 本帖最後由 unyleung 於 2007-9-20 12:57 編輯 [/i]]

2007-9-5 20:26 傻偉
純支持~~~~~~~~~~~~

2007-9-27 11:09 unyleung
劫獄者失敗後被送入監獄, 但沒有受影響可以自由出貼回貼

2007-11-2 08:37 小馬
回覆 #33 unyleung 的帖子

請問如何解決

2008-6-26 01:04 籃籃
[quote]原帖由 [i]unyleung[/i] 於 2007-9-5 16:45 發表 [url=http://www.alan888.com/Discuz/redirect.php?goto=findpost&pid=1044727&ptid=96189][img=13,13]http://www.alan888.com/Discuz/images/common/back.gif[/img][/url]
找到問題了...加入監獄長處...會引致不能打開顯示空白頁問題 [/quote]
問題仍未解決:em16:

頁: [1]


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.