記事No | : 9696 |
投稿日 | : 2011/11/21(Mon) 18:40:58 |
タイトル | : YY-BOARDの過去ログについて |
ID情報 | : nanashi |
投稿者 | : gonbe |
URL | : http://i-cant.roro.jp/yy/cp_73_test/yybbs.cgi |
こんにちは
ごんべと申します。
早速ですが、YY-BOARDの過去ログについて質問させていただきます。
YY-BOARDのver7.3をダウンロードし、FTPにてアスキーモードでYY-BOARDをアップロードした後に、init.cgi以下の部分を編集しました。
init.cgi
---------------------------------------
# 最大記事数
$cf{max} = 3;
# 1ページ当たりの記事表示数 (親記事)
$cf{pg_max} = 2;
# 過去ログ生成
# → 0=no 1=yes
$cf{pastkey} = 1;
# 過去ログ1ファイルの行数
# → この行数を超えると次ページを自動生成します
$cf{pastmax} = 3;
---------------------------------------
init.cgi編集後に、いくつか記事を投稿して過去ログを生成しようとしたのですが、投稿記事が最大記事数を超えると記事が投稿されなくなり、過去ログも最初に投稿した記事1ページに1つ表示されるだけで、正しく過去ログを生成することができませんでした。
そこでいろいろと試してみた結果、
regist.cgiの過去ログ生成の部分を以下のように変更することで何とか過去ログを生成することができました。
regist.cgi
-------------------------------------
sub make_past {
my @past = @_;
# 過去ログNOファイル
open(NO,"+< $cf{nofile}") or &error("open err: $cf{nofile}");
eval "flock(NO, 2);";
my $num = <NO>;
# 過去ログを定義
my $pastfile = "$cf{pastdir}/" . sprintf("%04d",$num) . ".cgi";
# 過去ログを開く
##open(DAT,"+< $pastfile") or &error("open err: $pastfile");
##eval "flock(DAT, 2);";
##my @data = <DAT>;
###
open(PDAT,"+< $pastfile") or &error("open err: $pastfile");
eval "flock(PDAT, 2);";
my @data = <PDAT>;
###
# 規定行数オーバー時、次ファイル生成
##if (@data > $cf{max_line}) {
if (@data > $cf{pastmax} - 1) {###
# 過去ログを閉じる
@data = ();
##close(DAT);
close(PDAT);###
# 過去NO更新
seek(NO, 0, 0);
print NO ++$num;
truncate(NO, tell(NO));
close(NO);
$pastfile = "$cf{pastdir}/" . sprintf("%04d",$num) . ".cgi";
##open(DAT,"+> $pastfile");
##eval "flock(DAT, 2);";
##print DAT @past;
##close(DAT);
###
open(PDAT,"+> $pastfile");
eval "flock(PDAT, 2);";
print PDAT @past;
close(PDAT);
###
chmod(0666, $pastfile);
# 規定内
} else {
# 過去NOファイルを閉じる
close(NO);
# 過去ログ更新
##seek(DAT, 0, 0);
##print DAT @past;
##print DAT @data;
##truncate(DAT, tell(DAT));
##close(DAT);
###
seek(PDAT, 0, 0);
print PDAT @past;
print PDAT @data;
truncate(PDAT, tell(PDAT));
close(PDAT);
###
}
}
-------------------------------------
修正後のYY-BOARDのURLはコチラです。
http://i-cant.roro.jp/yy/test/yybbs.cgi
何かその他に解決策がありましたらご教授ください。
よろしくお願いいたします。
記事No | : 9702 |
投稿日 | : 2011/11/22(Tue) 21:16:05 |
タイトル | : KENTさん |
ID情報 | : Fuyuki |
投稿者 | : BAL |
URL | : http://www26.tok2.com/home/sumire1100/ |
同様の過去ログ生成不具合がJoyfulNote v3.5でも見受けられます。
記事No | : 9706 |
投稿日 | : 2011/11/23(Wed) 08:38:38 |
タイトル | : 了解>BALさん |
ID情報 | : kent |
投稿者 | : KENT |
> 同様の過去ログ生成不具合がJoyfulNote v3.5でも見受けられます。
ご指摘をありがとうございます。
joyfulも同様のサブルーチンになっており、ただ今修正アップしておきました。
どうもありがとうございました。
記事No | : 9705 |
投稿日 | : 2011/11/23(Wed) 08:37:50 |
タイトル | : Re: YY-BOARDの過去ログについて |
ID情報 | : kent |
投稿者 | : KENT |
> 何かその他に解決策がありましたらご教授ください。
> よろしくお願いいたします。
わざわざ修正ソースまでご指摘をいただきましてありがとうございます。
不具合を確認し、修正ソースの正常動作も確認しました。
この修正内容でよろしいかと思います。
どうもありがとうございました。
記事No | : 9723 |
投稿日 | : 2011/11/24(Thu) 10:16:41 |
タイトル | : Re^2: YY-BOARDの過去ログについて |
ID情報 | : nanashi |
投稿者 | : gonbe |
URL | : http://i-cant.roro.jp/yy/cp_73_test/yybbs.cgi |
> わざわざ修正ソースまでご指摘をいただきましてありがとうございます。
> 不具合を確認し、修正ソースの正常動作も確認しました。
> この修正内容でよろしいかと思います。
> どうもありがとうございました。
こちらこそ早急な返信&対応をしていただき、
ありがとうございました。