Jan 11, 2005
今月6日の下記エントリに関連して。
(Wikieditishでファイル生成日時を変更する)
1.オリジナル28行目 use FileHandle;の下に下記を追加。
2.オリジナル33行目 $file_extension =~ s!^\.!!;の下に下記を追加
3.オリジナル87-89行目をコメントアウト。下に3行を追加。
4.オリジナル101行目 : warn~の下に1行追加(好みに応じて)
5.wikieditish本体の修正は完了。フレーバーファイルfoot.wikieditishのフォーム内に下記を追加。
WikieditishプラグインとそのFlavorファイルについて、施した修正点をメモしておきます。不明な点があればコメントください。くれぐれも修正は各個人の自己責任で。結果から言うと、スターターキットの1つ、entry_indexプラグインをはずし、wikieditishプラグインで各エントリファイルの作成時刻を直接変更(または維持)するようにしました。
(Wikieditishでファイル生成日時を変更する)
1.オリジナル28行目 use FileHandle;の下に下記を追加。
# Added by kiku
use Time::Local;
2.オリジナル33行目 $file_extension =~ s!^\.!!;の下に下記を追加
# Remember lastmodified date/time
my($path,$fn) = $Blosxom::path_info =~ m!^(?:(.*)/)?(.*)\.$Blosxom::flavour!;
$path =~ m!^/! or $path = "/$path";
my $ftime = (stat "$Blosxom::datadir$path/$fn.$file_extension")[9];
$ftime = time if !$ftime;
($fmin, $fhr, $fda, $fmo, $fyr) = (localtime($ftime))[1..5];
$fyr += 1900;
$fmo += 1;
$ftimelocal = timelocal (0,$fmin,$fhr,$fda,($fmo-1),($fyr-1900));
3.オリジナル87-89行目をコメントアウト。下に3行を追加。
# # If file already exists, memorize the lastmodified date/time
# my $mtime = (stat "$Blosxom::datadir$path/$fn.$file_extension")[9];
# $mtime = time if !$mtime;
# Set the lastmodified date/time
$mtime = timelocal (0,param('fmin'),param('fhr'),param('fda'),(param('fmo')-1),(param('fyr')-1900));
$mtime = time if !$mtime;
4.オリジナル101行目 : warn~の下に1行追加(好みに応じて)
if (time < $mtime) { $response .= " Set date/time as future entry." };
5.wikieditish本体の修正は完了。フレーバーファイルfoot.wikieditishのフォーム内に下記を追加。
<label for="datetime">DateTime:</label><br />
<input type="text" name="fyr" value="$wikieditish::fyr" size="1" maxlength="4" />年
<input type="text" name="fmo" value="$wikieditish::fmo" size="1" maxlength="2" />月
<input type="text" name="fda" value="$wikieditish::fda" size="1" maxlength="2" />日
<input type="text" name="fhr" value="$wikieditish::fhr" size="1" maxlength="2" />:
<input type="text" name="fmin" value="$wikieditish::fmin" size="1" maxlength="2" /><br />