■ 記事の最終更新日を作成日にする
Last Update: 2004--0-6- (Thu) 07: 1
カテゴリアーカイブとか、プログラム配布とかの固定的なページに関しては、最終更新時刻が必要だろうと思って付けたんだけど、数日遅れて書く事もあるだろう日記の更新時刻が作成日とずれまくっているのは、とても気持ち悪いので、新規登録時に関しては、最終更新時刻と作成日とが同一になるようにしてみた。
lib/MT/ObjectDriver/DBI.pm を以下の通り修正。当然の事ながら、既存のエントリを修正する場合は最終更新時刻は更新されます。
--- DBI.pm.040525 2004-05-25 20:46:43.000000000 +0900 +++ DBI.pm 2004-05-25 20:50:09.000000000 +0900 @@ -216,9 +216,15 @@ my @ts = offset_time_list(time, $blog_id); my $ts = sprintf '%04d%02d%02d%02d%02d%02d', $ts[5]+1900, $ts[4]+1, @ts[3,2,1,0]; - $obj->created_on($ts) unless $obj->created_on; - $obj->modified_on($ts); - } + if($obj->created_on) { + $ts = $obj->created_on; + $ts =~ tr/0-9//cd; + $obj->modified_on($ts); + } else { + $obj->created_on($ts); + $obj->modified_on($ts); + } + } my @bind; for my $col (@$cols) { my $val = $obj->column($col);
とりあえず、うまくいっている様子。
tDiary のデータをちょっとずつ手動で取り込もうと思っており、その際には最終更新時間が最近になってしまうからどうしようか悩んでいたんだけど、この修正で問題は解決するっぽい。
追記:どうやら、再構築をしたりすると最終更新日が更新されてしまう模様で役に立たないって事が判明。
Posted by Kyosuke Takayama at 2004-05-25 (Tue) 20:34 printable version