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


記事No: 9696
投稿日: 2011/11/21(Mon) 18:40:58
タイトルYY-BOARDの過去ログについて
ID情報: nanashi
投稿者: gonbe
URLhttp://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
URLhttp://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
URLhttp://i-cant.roro.jp/yy/cp_73_test/yybbs.cgi

> わざわざ修正ソースまでご指摘をいただきましてありがとうございます。
> 不具合を確認し、修正ソースの正常動作も確認しました。
> この修正内容でよろしいかと思います。
> どうもありがとうございました。

こちらこそ早急な返信&対応をしていただき、
ありがとうございました。


[検索ページ]