KENT-WEB サポートコーナー 過去ログ [ 0184 ]


記事No: 828
投稿日: 2007/06/12(Tue) 00:07:01
タイトルスレッド名を格納している変数名を教えてください
ID情報: shinogu9
投稿者: しのぐ
URLhttp://shinogu.homelinux.com/cgi-bin/dice/mtbbs.cgi

改造に関する質問です。
mtbbsにおいてレス投稿時に該当スレッド名の右3文字を取得してその文字が数字の場合、発言内容の末尾に1からスレッド名の数字までの範囲内で乱数を追加で書き込むという機能を実装しようとしています。
乱数の方は作成できたのですが、発言時該当スレッドの内容を取得するのに失敗しています。
時間をかけてコードを拾えば確認できそうなのですが、簡単に教えていただけるなら、その方が助かりますので可能ならお願いします。


記事No: 831
投稿日: 2007/06/12(Tue) 07:45:10
タイトルRe: スレッド名を格納している変数名を教えてください
ID情報: kent
投稿者: KENT

> 改造に関する質問です。
> mtbbsにおいてレス投稿時に該当スレッド名の右3文字を取得してその文字が数字の場合、発言内容の末尾に1からスレッド名の数字までの範囲内で乱数を追加で書き込むという機能を実装しようとしています。
> 乱数の方は作成できたのですが、発言時該当スレッドの内容を取得するのに失敗しています。
> 時間をかけてコードを拾えば確認できそうなのですが、簡単に教えていただけるなら、その方が助かりますので可能ならお願いします。

サブルーチンの箇所によって違いますね。
たとえば、regist.cgi 242行目で

open(DAT,"+< $logdir/$in{'no'}.cgi");
eval "flock(DAT, 2);";
while(<DAT>) {
$i++;
my ($no,$date,$title,$name,$eml,$com,$id,$host,$abon) = split(/<>/);
$newlog = $no;

push(@log,$_);

# 最大レス超
if ($i >= $maxlog) { $full = 1; }
}

とあれば、

$logdir/$in{'no'}.cgi

がスレッド名です。


記事No: 835
投稿日: 2007/06/12(Tue) 22:30:51
タイトルRe^2: スレッド名を格納している変数名を教えてください
ID情報: shinogu9
投稿者: しのぐ
URLhttp://shinogu.homelinux.com/cgi-bin/dice/mtbbs.cgi

どうも私の質問の仕方がまずかったみたいです。
$gettitle = '';

open(DAT,"+< $logdir/$in{'no'}.cgi");
eval "flock(DAT, 2);";
while(<DAT>) {
$i++;
my ($no,$date,$title,$name,$eml,$com,$id,$host,$abon) = split(/<>/);
$newlog = $no;

#ここでスレッド名獲得
$gettitle = sprintf("%s%s",$gettitle,$title);

push(@log,$_);

# 最大レス超
if ($i >= $maxlog) { $full = 1; }
}

この後
$gettitleの内容を参照するとスレッド名を獲得できました。
お騒がせしました。


[検索ページ]