カテゴリ | |
---|---|
サマリ | counterプラグインでカウンタ表示対象のyesterdayについて |
バージョン | 1.4.2 |
投稿者 | かわはら |
状態 | 完了 |
投稿日 | 2003-12-01 (MON) 22:35:46 |
はじめまして。最近社内でPukiWikiを使い初めたものです。
質問というわけではないのですが、counterプラグインでカウンタ表示対象のyesterdayは PukiWiki/プラグイン/1.4には 「そのページが参照された回数(昨日分)」と書かれていますが 実際は「最終参照日における参照回数」になっていると思います。
休み明けなのにyesterdayに数字があるというのがなんとなく変だったんで書かせていただきました。
ご指摘のとおりです。日付が「昨日ではない」という判定がちょっと面倒なので放ったらかしになっています。 何かうまい策があったら教えてください。
投稿後、*.countファイル中の日付が今日の日付の1日前かの判定ができればいいのだろうと思い、 いろいろ探して日本PHPユーザ会の旧ML過去ログよりコードを一部 流用させてもらい、counter.inc.phpを下のように修正してみました。今のところ社内では正常に動いてます。
私がFortran屋なので表記がスマートでないかもしれませんがご勘弁を。
新しい関数の追加
// 日付の加算 function add_date($nowymd, $addymd) { list( $ny, $nm, $nd ) = split( '/', $nowymd ); list( $ay, $am, $ad ) = split( '/', $addymd ); $timestamp = mktime( 0, 0, 0, $nm + $am, $nd + $ad, $ny + $ay ); $ymd = date( 'Y/m/d', $timestamp ); return $ymd; }plugin_counter_get_count関数の修正
... // 日付が変わった if ($counters[$page]['date'] != $default['date']) { $modify = TRUE; $counters[$page]['ip'] = $_SERVER['REMOTE_ADDR']; // これまでの記述 // $counters[$page]['date'] = $default['date']; // $counters[$page]['yesterday'] = $counters[$page]['today']; // 変更 ここから if ($counters[$page]['date'] != add_date($default['date'],'00/00/-1')) { $counters[$page]['yesterday'] = 0; } else { $counters[$page]['yesterday'] = $counters[$page]['today']; } $counters[$page]['date'] = $default['date']; // ここまで $counters[$page]['today'] = 1; $counters[$page]['total']++; } else if ($counters[$page]['ip'] != $_SERVER['REMOTE_ADDR']) ...
ところで皆さんはコメントで複数行を記入する場合どのようにしているのでしょうか。今回は編集から記入したのですが。
コメントは本来、短い文章の入力なので、comment.inc.phpは1行入力しか考慮されていません(改段落ではなく単純な改行はインラインの&br;を行中に記述することで可能です)。複数行を記述する場合は、メニューの編集から行なってください。
dev:開発日記/2003-12-03で修正済み。