標題: 【原創】男女版塊分開限制 (更新版)
 uf2004
 0001272
Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7
點擊查看 uf2004 的詳細資料

頭銜: Moderator

暱稱: macaubbs.com

帖子: 3344

精華: 10

積分: 59819 點

現金: 67 元

存款: 183907 元

閱讀權限: 100

註冊: 2004-4-16

狀態: 離線
 
發表於 2004-11-12 20:39  資料  個人空間  主頁 短消息  加為好友 
【原創】男女版塊分開限制 (更新版)

小弟第一個插件,很簡單,不要見笑,之前有人問過,但都無人寫,
其實我唔識 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(!$action && $tid) {

上面加

///男女版開始
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,

後加入
  m.gender as discuz_sex,


5 .修改 admin/forums.php



showtype("貼子選項");


上面加
                        showsetting("男女板塊", "gendernew", $forum['gender'], "text", "限制男女會員瀏覽,0為不限,1為男版,2為女版");


再找
postofcredit='$postofcreditnew'

前面加
gender='$gendernew',


(以上整句為)
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> 男 &nbsp;
<input type="radio" name="gendernew" value="2" $checkfemale> 女 &nbsp;
<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
後加入

gender='$gendernew',


完~

[ Last edited by uf2004 on 2004-11-17 at 00:15 ]




澳門論壇,得閒黎吹下水.(utf-8)

if ("支持免費" == "尊重版權") { showmessage("Discuz!"); }
 AL8 Forum © All rights reserved.
頂部
 michaelyiu
 0009309
Rank: 3Rank: 3Rank: 3

頭銜: Conqueror

帖子: 144

精華: 0

積分: 4070 點

現金: 15 元

存款: 1460 元

閱讀權限: 20

註冊: 2004-10-7

狀態: 離線
 
發表於 2004-11-21 20:38  資料  個人空間  短消息  加為好友 
搵唔到
postattachperm='$postattachpermnew', gender='$gendernew',
postofcredit='$postofcreditnew' WHERE fid='$fid'");
呢個喎~




 AL8 Forum © All rights reserved.
頂部
 小魚
 0011998
Rank: 1

頭銜: Newbie

帖子: 26

精華: 0

積分: 780 點

現金: 42 元

存款: 0 元

閱讀權限: 10

註冊: 2004-11-23

狀態: 離線
 
發表於 2004-11-23 03:42  資料  個人空間  短消息  加為好友 
這個好...減少人妖




 AL8 Forum © All rights reserved.
頂部
 saifu87
 0011056
Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

頭銜: Discuz Team

帖子: 899

精華: 1

積分: 2550 點

現金: 39 元

存款: 113700 元

閱讀權限: 70

註冊: 2004-11-5

狀態: 離線
 
發表於 2004-12-3 21:52  資料  個人空間  短消息  加為好友 
找不到
postofcredit='$postofcreditnew'




 AL8 Forum © All rights reserved.
頂部
 uf2004
 0001272
Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7
點擊查看 uf2004 的詳細資料

頭銜: Moderator

暱稱: macaubbs.com

帖子: 3344

精華: 10

積分: 59819 點

現金: 67 元

存款: 183907 元

閱讀權限: 100

註冊: 2004-4-16

狀態: 離線
 
發表於 2004-12-4 13:54  資料  個人空間  主頁 短消息  加為好友 
QUOTE:
引用由 saifu87 於 2004-12-3 09:52 PM 發出的帖子, 內容為
找不到
postofcredit='$postofcreditnew'


在第二個"論壇設置成功更新"上兩行.

未修改前整句係咁o既(呢個係未有任何插件前o既板本)
                                postperm='$postpermnew', getattachperm='$getattachpermnew', postattachperm='$postattachpermnew' WHERE fid='$fid'");




澳門論壇,得閒黎吹下水.(utf-8)

if ("支持免費" == "尊重版權") { showmessage("Discuz!"); }
 AL8 Forum © All rights reserved.
頂部
 KBO~
 0001928
Rank: 1

頭銜: Newbie

帖子: 7

精華: 0

積分: 460 點

現金: 7 元

存款: 0 元

閱讀權限: 10

註冊: 2004-5-12

狀態: 離線
 
發表於 2004-12-7 06:59  資料  個人空間  短消息  加為好友 
不用query




 AL8 Forum © All rights reserved.
頂部
 chungsun
 0000386
Rank: 3Rank: 3Rank: 3
點擊查看 chungsun 的詳細資料

頭銜: Conqueror

帖子: 130

精華: 1

積分: 3470 點

現金: 4 元

存款: 143915 元

閱讀權限: 20

註冊: 2004-2-12

狀態: 離線
 
發表於 2004-12-12 10:46  資料  個人空間  短消息  加為好友 
點搞好
SQL: UPDATE cdb_forums SET type='forum', status='1', fup='4', name='1', icon='',
description='', styleid='0', allowhtml='0', allowbbcode='1',
allowimgcode='1', allowsmilies='1', password='', viewperm='',
postperm='', getattachperm='', postattachperm='', gender='2',
postofcredit='' WHERE fid='5'
Error: Unknown column 'postofcredit' in 'field list'
Errno.: 1054




 AL8 Forum © All rights reserved.
頂部
 hkmonster
 0010942
Rank: 4Rank: 4Rank: 4Rank: 4

頭銜: Lord

帖子: 375

精華: 0

積分: 2228 點

現金: 1004 元

存款: 1000 元

閱讀權限: 25

註冊: 2004-11-4

狀態: 離線
 
發表於 2004-12-14 08:15  資料  個人空間  短消息  加為好友 
多謝你先,好小你呢D有心人,我都想過寫無奈同你一樣,識小小能力有限,alanforum D插件仲未看均,都眼花了,我有空會開個男女版試下分下,不過都防唔到人開新ac變性,我想因為這個原因而無人寫

[ Last edited by hkmonster on 2004-12-14 at 08:17 ]




 AL8 Forum © All rights reserved.
頂部
 hkmonster
 0010942
Rank: 4Rank: 4Rank: 4Rank: 4

頭銜: Lord

帖子: 375

精華: 0

積分: 2228 點

現金: 1004 元

存款: 1000 元

閱讀權限: 25

註冊: 2004-11-4

狀態: 離線
 
發表於 2004-12-16 01:51  資料  個人空間  短消息  加為好友 
經過使用後,後台設定差左小小野,要改改admin/member.php

首先在

                        if($member[newsletter]) {
                                $newschecked = "checked=\"checked\"";
                        }


下加番這句

                if($member[gender] == 1) {
                        $checkmale = "checked=\"checked\"";
                } elseif($member[gender] == 2) {
                        $checkfemale = "checked=\"checked\"";
                } else {
                        $checkunknown = "checked=\"checked\"";
                }


而你果句要改成

<tr>
<td bgcolor="<?=ALTBG1?>" width="21%">性別:</td>
<td bgcolor="<?=ALTBG2?>">
<input type="radio" name="gendernew" value="1" <?=$checkmale?>> 男 &nbsp;
<input type="radio" name="gendernew" value="2" <?=$checkfemale?>> 女 &nbsp;
<input type="radio" name="gendernew" value="0" <?=$checkunknown?>> 沒有
</td></tr>


如果唔改,每次編輯都默認無姓別,一唔記得入有就變無,就唔係幾好




 AL8 Forum © All rights reserved.
頂部
 lkwong
 0012995
Rank: 1

頭銜: Newbie

帖子: 31

精華: 0

積分: 200 點

現金: 48 元

存款: 0 元

閱讀權限: 10

註冊: 2004-12-12

狀態: 離線
 
發表於 2005-1-1 20:27  資料  個人空間  短消息  加為好友 
QUOTE:
引用由 chungsun 於 2004-12-12 10:46 AM 發出的帖子, 內容為
點搞好
SQL: UPDATE cdb_forums SET type='forum', status='1', fup='4', name='1', icon='',
description='', styleid='0', allowhtml='0', allowbbcode='1',
allowimgcode='1', allowsmilies='1', password= ...


我都有依個問題




 AL8 Forum © All rights reserved.
頂部
 kamkam
 0005566
Rank: 2Rank: 2

頭銜: Member

帖子: 74

精華: 0

積分: 1069 點

現金: 406 元

存款: 0 元

閱讀權限: 15

註冊: 2004-8-15

狀態: 離線
 
發表於 2005-1-15 14:25  資料  個人空間  短消息  加為好友 
↑我的admin/forums.php中

冇postofcredit='$postofcreditnew' 呢句

唔+ gender='$gendernew', ,有冇問題??




 AL8 Forum © All rights reserved.
頂部
 小兒Cena
 0005529
Rank: 2Rank: 2
點擊查看 小兒Cena 的詳細資料

頭銜: Member

帖子: 77

精華: 0

積分: 1140 點

現金: 46 元

存款: 46 元

閱讀權限: 15

註冊: 2004-8-14

狀態: 離線
 
發表於 2005-1-30 01:14  資料  個人空間  短消息  加為好友 
QUOTE:
引用由 chungsun 於 2004-12-12 10:46 AM 發出的帖子, 內容為
點搞好
SQL: UPDATE cdb_forums SET type='forum', status='1', fup='4', name='1', icon='',
description='', styleid='0', allowhtml='0', allowbbcode='1',
allowimgcode='1', allowsmilies='1', password= ...


ME TOO~




 AL8 Forum © All rights reserved.
頂部
 huhuan
 0015743
Rank: 1

頭銜: Newbie

帖子: 28

精華: 0

積分: 834 點

現金: 0 元

存款: 0 元

閱讀權限: 10

註冊: 2005-1-29

狀態: 離線
 
發表於 2005-2-2 06:37  資料  個人空間  短消息  加為好友 
用户更改时出现这个错误,不过不影响,就是会员还是可以改男改女...其他都正常...

ZS5jb21cIiB0YXJnZXQ9XCJfYmxhbmtcIj7OtMP7seLW2zwvYT4sIDxhIGhyZWY9XCJodHRwOi8vM3B1bmsuY29tXCIgdGFyZ2V0PVwiX2JsYW5rXCI+M3B1bms8L2E+LCA8YSBocmVmPVwiaHR0cDovL3d3dy5wdWZmZXIuaWR2LnR3L2NkYlwiIHRhcmdldD1cIl9ibGFua1wiPnB1ZmZlcjwvYT48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48YnI+PGJyPg=='); include template('footer'); } ?>




 AL8 Forum © All rights reserved.
頂部
 huhuan
 0015743
Rank: 1

頭銜: Newbie

帖子: 28

精華: 0

積分: 834 點

現金: 0 元

存款: 0 元

閱讀權限: 10

註冊: 2005-1-29

狀態: 離線
 
發表於 2005-2-2 07:12  資料  個人空間  短消息  加為好友 
改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';
                }

估计是这段程序里面的问题...可是我不会自己定义下...请高手帮帮忙!!!谢谢




 AL8 Forum © All rights reserved.
頂部
 uf2004
 0001272
Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7
點擊查看 uf2004 的詳細資料

頭銜: Moderator

暱稱: macaubbs.com

帖子: 3344

精華: 10

積分: 59819 點

現金: 67 元

存款: 183907 元

閱讀權限: 100

註冊: 2004-4-16

狀態: 離線
 
發表於 2005-2-2 08:05  資料  個人空間  主頁 短消息  加為好友 
QUOTE:
引用由 huhuan 於 2005-2-2 07:12 AM 發出的帖子, 內容為
改memcp.php



  代碼: [複製至剪貼簿]   
                if($member['gender'] == 1) {
                        $checkmale = 'checked';
                } elseif($member[gender] == 2) {
     ...


沒有問題~2.5都能用~
這段祗是讓已選"男/女"時,其他兩個選項變灰色,不能再選~




澳門論壇,得閒黎吹下水.(utf-8)

if ("支持免費" == "尊重版權") { showmessage("Discuz!"); }
 AL8 Forum © All rights reserved.
頂部
 huhuan
 0015743
Rank: 1

頭銜: Newbie

帖子: 28

精華: 0

積分: 834 點

現金: 0 元

存款: 0 元

閱讀權限: 10

註冊: 2005-1-29

狀態: 離線
 
發表於 2005-2-2 11:25  資料  個人空間  短消息  加為好友 
搞定 谢谢哈...  可能刚才放错位置了




 AL8 Forum © All rights reserved.
頂部
 chuntat
 0009563
 此發帖者已被禁止訪問

頭銜: Banned

帖子: 89

精華: 0

積分: 130 點

現金: 107 元

存款: 347 元

閱讀權限: 0

註冊: 2004-10-10

來自: Hong Kong

狀態: 離線
 
發表於 2005-2-9 14:18  資料  個人空間  短消息  加為好友 
*** 作者被禁止或刪除 內容自動屏蔽 ***
 榮哥
 0016122
Rank: 1

頭銜: Newbie

帖子: 35

精華: 0

積分: 790 點

現金: 44 元

存款: 0 元

閱讀權限: 10

註冊: 2005-2-4

狀態: 離線
 
發表於 2005-2-10 00:39  資料  個人空間  短消息