<< 諏訪内 play シベコン | main | SB用30時間制表示プラグイン ver0.02 >>

2006.02.16 Thursday

SB用30時間制表示プラグイン ver0.00

あんでるどんさんsb用30時間制表示プラグイン のパクリですm(__)m

まだ試作段階(バージョン0.00)
10行ほどのコードで強引な書き換えをしています
お試しになる場合は十分注意してください
at own your risk ちゅうやつですね

あと、不具合がすでに1件…
投稿済みの記事を編集する時に"out of range 0..23"とはじかれる
そこは24時間制に直して…手動なら日付間違わないように…
そのうち自動化します

と思ったら…(公開の30分後)
重大な問題を忘れていました
RSSやATOM出力まで時間が狂ってしまっています
使わないでください
>> download Time30.pm
修正しました
>> SB用30時間制表示プラグイン ver0.02

(最初の記事の続き↓)
私が初めてweblogシステムを導入したのは Serene Bach ver 2.00R がちょうどリリースしたころで、話題にのまれてSB に移行したのは sb を入れた数日後…
その後知った、あんでるどんさんのプラグイン に惹かれ…SB用があればいいのにと思っていました

そして今日…つまり2/15日、this calm night.Serene Bach プラグインメモ4 を読んだときにコレはいけると直感し、勢いで作ってしまった(-_-;
この凪さん のコードと sideblue weblogAddrel を参考にしつつ、さらっと長時間…いや短時間…

これを使うことの危険性を呼びかけておくのは作った本人がSBの全体を把握していないからであって、想像通りだと問題ないと思う

まぁ十分ちゃんと動いている
これで夜慌てて記事書くこともないし「今日」「昨日」で迷うこともなくなるはず

sub sb::Time::format {
perlではコレもオーバーライドって言うんかな…むしろ再定義
つまり全ての時刻表示に関わる

unless ( ... || $$param{'form'} =~ /%Hour(11|12|AP)%/)) {
%Hour11%, %Hour12%, %HourAP% の相手はしないほうが無難

$hour = &sb::Time::_format( %param );
先に時間だけ取得して

if ($hour < 30-24){
  $hour += 24;
  $form_back =~ s/%Hour(24)?%/%Hour30%/g;
  $param{'time'} -= 3600*(30-24);
}


24:00〜29:59の場合、日付の変更を6時間待ってもらう
時間(hour)までズレないように工夫する
ここで'30'と書いてる分は管理画面で修正できるようにすればより一般的かもね…

Entries of Same Category

Trackback URL


Comments

html の出力を変えたいだけなら、
'type'=>'main' の content_module を作るのをオススメします。

正直なところ、むやみに関数を上書きしてその影響がどこまで及ぶかを調べるよりも、
他のプラグイン(content_module)を真似てでも普通のプラグインを作る方が結果として楽なんじゃないかと思います。

独自 block 名とか tag 名とか考えるのが案外面倒ですけど……。

Comment form