発言者: moon
発言日: 2004 11/24 23:21
> しかし、SoS2と関係を持たせることは案外簡単なので、近日中にその方法をここに記載したいと思います。
[mbrd.cgiの変更箇所]
(a) sub Topの最初に以下を追加。
my $idElement = 'ID : <input type="text" name="id">(登録時のみ必要です。)';
(b) sub Topの「<input type="radio" name="mode" value="view" checked>認証<br><br>」の下に以下を追加。
$idElement<br>
(c) sub Registの「my $hexName = &EncodeHex($registName);」の上に以下を追加。
my $userID = $Fm{'id'};
$userID =~ tr/0-9//cd;
$userID = substr("0000$userID", -4);
&Error('ファイルの読み込みに失敗しました。') if(!open(FILE, '<', "../userdata/$userID.dat")); # mbrd.cgiから見たSoS2のユーザファイルの保存先
my $sos2Data = <FILE>;
close(FILE);
my ($sos2ID, $sos2Name, $sos2Pass) = split(/<>/, $sos2Data, 4);
&Error('ユーザ情報と異なります。') if($sos2ID ne $userID || $sos2Name ne $registName || $sos2Pass ne $registPass);
[オリジナルsos2.cgiの変更箇所]
(a) sub del_afterの「unlink("$usrdir$id\.dat");」の下に以下を追加。(サブルーチンとして用意してそれを呼び出すようにしてもOK)
my $prembrd = './mbrd/data/' . unpack('H*', $nm); # MemberBoardのデータ保存先がsos2.cgiから見て./mbrd/data/の場合
# '_a.cgi'などを設定で変更している場合はそれに合わせる
if(-f $prembrd . '_a.cgi'){
foreach('_a.cgi', '_l.cgi', '_m.cgi'){
unlink($prembrd . $_);
}
}
(b) sub find_delも(a)と同様に変更。
▼関連発言
│
└◆1112:MemberBoardの配布開始 [moon] 11/22 00:40
├◆1113:Re:バグ修正 [moon] 11/23 01:07
│└◆1114:Re[2]:SoS2との連携 [moon] 11/24 23:21
│ └◆1115:Re[3]:Ver.1.1.0にバージョンアップ [moon] 11/29 00:21
│ └◆1122:Re[4]:Ver.1.1.0の不具合とその対策 [moon] 01/15 15:08
└◆1187:Re:Ver.1.2.0にバージョンアップ [moon] 05/29 16:46<-last