小弟第一個插件,很簡單,不要見笑,之前有人問過,但都無人寫,
其實我唔識 php ,久病成醫,有問題請指點.
已修改為超級版主以上不受限制,減少數據查詢)
名稱 : 男女版塊分開限制
原作者 : uf2004 (macaubbs.com)
功能 : 後台設定男版,沒有性別和女生禁止進入,
相反設男版,沒有性別和女生禁止進入,
修改php檔 : viewthread.php , forumdisplay.php , admin/forums.php
難度 : 易
技術支援 :
http://www.alan888.com/Discuz(多謝Poka提醒)
1 ,後台升級數據庫
ALTER TABLE `cdb_forums` ADD `gender` TINYINT( 1 ) DEFAULT '0' NOT NULL
2 ,修改 viewthread.php
找
上面加
///男女版開始
if ($forum['gender']==1 && !$issupermod){
if($discuz_sex == 0) {
showmessage('抱歉,不男不女請止步!','index.php');
} elseif($discuz_sex == 2) {
showmessage('抱歉,女生請止步!','index.php');
}
}elseif($forum['gender']==2 && !$issupermod){
if($discuz_sex == 0) {
showmessage('抱歉,不男不女請止步!','index.php');
} elseif($discuz_sex == 1) {
showmessage('抱歉,男生請止步!','index.php');
}
}
///男女結束
3 ,修改 forumdisplay.php
找
if($forum['viewperm'] && !strstr($forum['viewperm'],
上面加
///男女版開始
if ($forum['gender']==1 && !$issupermod){
if($discuz_sex == 0) {
showmessage('抱歉,不男不女請止步!','index.php');
} elseif($discuz_sex == 2) {
showmessage('抱歉,女生請止步!','index.php');
}
}elseif($forum['gender']==2 && !$issupermod){
if($discuz_sex == 0) {
showmessage('抱歉,不男不女請止步!','index.php');
} elseif($discuz_sex == 1) {
showmessage('抱歉,男生請止步!','index.php');
}
}
///男女結束
4 .修改include/common.php
找
$newpm = $ipbanned = $sessionexists = 0;
if($sid) {
if($discuz_user) {
$query = $db->query("SELECT s.sid, s.groupid, s.styleid, s.groupid, m.username
AS discuz_user, m.password AS discuz_pw, m.secques AS discuz_secques,
m.status, m.email, m.timeoffset, m.tpp, m.ppp, m.credit, m.timeformat, m.dateformat,
m.signature, m.lastvisit, m.newpm
以上在內容找
m.username AS discuz_user,
後加入
5 .修改 admin/forums.php
找
上面加
showsetting("男女板塊", "gendernew", $forum['gender'], "text", "限制男女會員瀏覽,0為不限,1為男版,2為女版");
再找
postofcredit='$postofcreditnew'
前面加
(以上整句為)
postattachperm='$postattachpermnew', gender='$gendernew',
postofcredit='$postofcreditnew' WHERE fid='$fid'");
完,到後台設定.
加強功能
會員不能隨意改性別,如果是保密可改,如果已選男或女則不能改
修改memcp.php
找
if($member['gender'] == 1) {
$checkmale = 'checked';
} elseif($member[gender] == 2) {
$checkfemale = 'checked';
} else {
$checkunknown = 'checked';
}
改為
if($member['gender'] == 1) {
$checkmale = 'checked';
$checkfemale = 'disabled';
$checkunknown = 'disabled';
} elseif($member[gender] == 2) {
$checkfemale = 'checked';
$checkmale = 'disabled';
$checkunknown = 'disabled';
} else {
$checkunknown = 'checked';
}
再加入後台更改性別
修改admin/members.php
找
<tr><td bgcolor="<?=ALTBG1?>" width="21%">來自:</td>
<td bgcolor="<?=ALTBG2?>"><input type="text" name="memlocation" size="25" value="<?=$member[location]?>"></td></tr>
下面加
<tr>
<td bgcolor="<?=ALTBG1?>" width="21%">性別:</td>
<td bgcolor="<?=ALTBG2?>">
<input type="radio" name="gendernew" value="1" $checkmale> 男
<input type="radio" name="gendernew" value="2" $checkfemale> 女
<input type="radio" name="gendernew" value="0" $checkunknown> 沒有
</td></tr>
找
$dateformatnew = str_replace("mm", "n", $dateformatnew);
$dateformatnew = str_replace("dd", "j", $dateformatnew);
$dateformatnew = str_replace("yyyy", "Y", $dateformatnew);
$dateformatnew = str_replace("yy", "y", $dateformatnew);
$timeformatnew = $timeformatnew == "24" ? "H:i" : "h:i A";
下面一行 $db->query("UPDATE $table_members SET
後加入
完~
[ Last edited by uf2004 on 2004-11-17 at 00:15 ]