gcounter.inc.php†
サマリ | グローバルなカウンター |
リビジョン | 1.0 |
対応バージョン | 1.4.4 |
投稿者 | tomo |
投稿日 | |
- 概要
- グローバルなカウンターを作成します。
このプラグインは固定ページ名を使って counter.inc.php を実行します。ページごとの区別をしないので、MenuBar などへの配置に最適です。
- 使用方法
- 使い方は counter.inc.php とまったく同じです。
初期状態では、$defaultpage を固定ページとして使っています。
固定ページを変更するには gcounter.inc.php の 13 行目の GCOUNTER_PAGENAME の値を変更してください。
- ダウンロード
- 作者のサイト:
http://tomo.panicode.com/index.php?WikiPlugins (dead link)
- コメント
- 初期状態のページは$defaultpageを使ったほうが良いのではないでしょうか。あとコメントが化けているのは私だけ? (^^; -- teanan
- 使用例を紹介します。私の場合は、$defaultpage自体のカウントと全体カウントを区別したかったので、「:gcounter」のような見えないページを用意して、そこをカウントすることにしました。 -- sha
- コメントが化けているのはEUCで読み込んでいないからではないでしょうか?確認おねがいします。gcounterの設置方法としてダミーページを作るのはいい方法です。FrontPageでも十分ですがダミーページのほうがより正確なカウントができますね。また、次のような使い方をすると、そのページの閲覧レートを見ることができます。total = &counter(total) / &gcounter(total) -- tomo
- すいません。文字化けしていました。おそらくSJISで上書きしたのでしょう。更新しましたので再導入お願いします。 -- tomo
- 作者のサイトから、もうダウンロードできないみたい? --
- お知らせありがとうございます。 http://tomo.panicode.com/index.php?BBS%2FSupport にて問い合わせてみました。 -- henoheno
- (略)henohenoさんがお持ちであれば是非公開していただけるとうれしゅうございます。 -- mocean? -- とのコトです
- 誰か…ください。 --
- 簡単ハックです。内部で counter プラグインを使用しています。
<?php
define('PLUGIN_GCOUNTER_PAGE', ':gcounter');
function plugin_gcounter_inline()
{
global $vars;
if(! exist_plugin_inline('counter')) return '';
$args = func_get_args();
$body = array_pop($args);
$args = implode(',', $args);
if (! is_page(PLUGIN_GCOUNTER_PAGE)) {
page_write(PLUGIN_GCOUNTER_PAGE, "Log Page for Global Counter\n#counter");
}
$tmp = $vars['page'];
$vars['page'] = PLUGIN_GCOUNTER_PAGE;
$body = do_plugin_inline('counter', $args, $body);
$vars['page'] = $tmp;
return $body;
}
function plugin_gcounter_convert()
{
global $vars;
if(! exist_plugin_convert('counter')) return '';
$args = func_get_args();
$args = implode(',', $args);
if (! is_page(PLUGIN_GCOUNTER_PAGE)) {
page_write(PLUGIN_GCOUNTER_PAGE, "Log Page for Global Counter\n#counter");
}
$tmp = $vars['page'];
$vars['page'] = PLUGIN_GCOUNTER_PAGE;
$body = do_plugin_convert('counter', $args);
$vars['page'] = $tmp;
return $body;
}
?>
counter.inc.php のオプションにしようか迷ったんですが、diff にしても取り込んでもらえない限りインストールに手間がかかるだけなので、ラッパープラグインにしました。 -- sonots
- 使い方を分かる人いる? --
- counter に同じです。ログページが違う(カレントページではなく、:gcounter)だけ。それもなければ勝手に作られる。 -- sonots
- MenuBarに埋め込んで使う事は出来無いのでしょうか? -- cointreau
- 上記コードを適当なファイル名(xxx.inc.php)にて保存しpluginフォルダに放り込めばOKでしょうか? --
- 「適当」なファイル名(gcounter.inc.php) でOKでしょうね。 --
- sonotsさんのコード使わせていただきました。# gcounterはうまく動作するのですが、&gcounterの結果が&counterと同じになってしまいます。 -- cook166
- 同じページに # gcounter # counter &gcouter; &counter;ですが、 &gcounter=&counterです --
- :gcounterのページはできています。バージョン1.4.7 utf-8です --
- 自己レスです。plugin_gcounter_inline()は global $vars; が抜けていると思いました。これで動きます(PHPをよくわかってないのですが、これで良いでしょうか・・・) -- cook166
- 良いと思いますよ。という訳で、このページのソースに、勝手に書き足しました。 --
- ありがとうござます。順調に動いています。 -- cook166