記事No | : 15166 |
投稿日 | : 2016/09/27(Tue) 09:55:15 |
タイトル | : Web Patio v5.11の記事削除 |
ID情報 | : m14_bbss |
投稿者 | : 上道喜裕 |
URL | : http://himin.a.la9.jp/patio14t/patio.cgi |
いつも、お世話になります。
patioの記事は管理用画面では削除できますが、閲覧画面からは削除出来ません。(編集とロックだけ)
ユーザーからの要望も有り、(親)記事も削除出来る様改造(出来れば、記事閲覧>パスワード入力フォームで「親記事削除」を追加)したいのですが、アドバイスをお願いします。
よろしくお願いします。
記事No | : 15167 |
投稿日 | : 2016/10/02(Sun) 17:14:08 |
タイトル | : Re: Web Patio v5.11の記事削除 |
ID情報 | : teketen |
投稿者 | : てけてん |
> (親)記事も削除出来る様改造(出来れば、記事閲覧>パスワード入力フォームで「親記事削除」を追加)したい
親記事を削除すると、それに対する返信記事と添付ファイルも全て削除されることになりますが、それでも良いですね?
それでも宜しければ、以下の改造をしてみて下さい。
※改造は、自己責任でお願いします。
※動作がおかしくなった場合は、もとに戻してください。
WebPatio v5.11での改造です。
---------------------
■ regist.cgi
465行目付近
my ($no,$sub,$res,$nam,$dat,$na2,$key,$upl) = split(/<>/);
の次の行に
next if($del and $in{art} == $no); # 改造により追加 ■■
を挿入。
---
457行目付近
# index展開
@new = ();
の前の行に
} # 改造により追加 ■■
を挿入。
---
450行目付近
# スレッド更新
unshift(@new,$top);
seek(DAT, 0, 0);
の前の行に
# 改造により追加 ■■
my $del;
unless ($in{no}) {
close(DAT);
error('該当スレッドがありません') unless(-e "$cf{logdir}/$in{art}.cgi");
unlink("$cf{logdir}/$in{art}.cgi");
unlink("$cf{logdir}/$in{art}.dat");
for my $file (@$uplist) {
my($tim,$upl1,$upl2,$upl3) = split(/\t/,$file);
my $n = 0;
for my $upl ($upl1,$upl2,$upl3) {
$n++;
my $ex = (split(/,/, $upl))[0];
unlink("$cf{upldir}/$tim-$n$ex") if(-e "$cf{upldir}/$tim-$n$ex");
}
}
$del = 1;
} else {
# 改造により追加 ここまで■■
を挿入。
---
442行目付近
# 最終記事の投稿者と時間を覚えておく
$last_nam = $nam;
$last_dat = $dat;
の前の行に
push(@$uplist,"$tim\t$upl1\t$upl2\t$upl3") unless ($in{no}); # 改造により追加 ■■
を挿入。
---
407行目付近
# スレッドより削除記事抽出
my ($flg,$last_nam,$last_dat,@new);
の前の行に
my $uplist; # 改造により追加 ■■
を挿入して下さい。
---------------------
■ patio.cgi
330行目付近
# 処理選択オプション
my $op_job = qq|<option value="edit" selected>記事を編集\n|;
if ($in{no} == 0) {
$op_job .= qq|<option value="lock">スレッドをロック\n|;
} else {
$op_job .= qq|<option value="dele">記事を削除\n|;
}
を
# 処理選択オプション 改造により修正 ■■
my $op_job = qq|<option value="edit" selected>記事を編集\n|;
$op_job .= qq|<option value="lock">スレッドをロック\n| if ($in{no} == 0);
$op_job .= qq|<option value="dele">記事を削除\n|;
に変更して下さい。
以上です。
記事No | : 15169 |
投稿日 | : 2016/10/03(Mon) 21:18:53 |
タイトル | : Re^2: Web Patio v5.11の記事削除 |
ID情報 | : m14_bbss |
投稿者 | : 上道喜裕 |
URL | : http://himin.a.la9.jp/patio14t/patio.cgi |
返信大変有難うございます。
本夕 返信に気付き、すぐ修正を加え試しました。
その結果、希望どおり記事を親子とも削除可能になることを確認しました。
また、修正記事がファイルの下の方から修正するよう書かれていた事も素晴らしいと思います。
このアイデアは、私も参考にさせていただきたいと思います。
まずは御礼まで。