#author("2021-02-24T13:05:32+09:00","","")
* counterview.inc.php[#tb355f33]
|RIGHT:100|LEFT:360|c
|~サマリ|counterプラグインでカウントしたすべてのページのカウントを表にする|
|~対応バージョン|1.4.4|

***counterプラグインでカウントしたすべてのページのカウントを表にする[#dd0dcb84]
ページごとのアクセス数を表にしてくれるプラグイン。#counterが書かれているページの各カウント数(total, today, yesterday)をテーブルにしてくれる。
:使い方|
 #counterview
:こんな感じ|

#hr
#counterview

***ダウンロード [#z6caec05]
- &ref(counterview.inc.php);

***コメント [#y223b564]
-面白いプラグインですね。テーブル表示するページ数の指定と、トータル・今日・昨日それぞれでソートができると便利かも。 -- [[sagen]] &new{2004-12-21 (火) 15:36:26};
-数字を右寄せをしたいのですが、可能ですか? --  &new{2005-01-12 (水) 23:12:05};
--小出しですいません。以下の部分のstyle=\"text-align:right;\"を加えればOKです。-- [[baniko]] &new{2005-01-28 (金) 11:49:00};
             if(strcmp($ext, COUNTER_EXT)==0) {
                $pageName = decode($fileName);
                if(eregi('^:.*',$pageName)) continue;
                $counter = plugin_counterview_get_count($pageName);
                if($counter['total']==0) continue;
                $r_page = rawurlencode($pageName);
                $ret .= "<tr>";
                $ret .= "<td class=\"style_td\"><a href=\"$script?$r_page\">$pageName</a></td>";
                $ret .= "<td class=\"style_td\" style=\"text-align:right;\">{$counter['total']}</td>";
                $ret .= "<td class=\"style_td\" style=\"text-align:right;\">{$counter['today']}</td>";
                $ret .= "<td class=\"style_td\" style=\"text-align:right;\">{$counter['yesterday']}</td>";
                $ret .= "</tr>\n";
            }

-特定カテゴリ以下のページのみとか、そんな感じでページ指定ができると便利かも。 --  &new{2005-01-18 (火) 19:24:09};
-閲覧できない設定のページに関しては、カウントを表示しないようにしたいのですが、'':''で始まるページのみ表示しないようにすることは可能なんでしょうか? --  &new{2005-01-20 (木) 12:34:19};
--とりあえず、'':''で始まるものを表示しないようにしてみました。また、WikiName等だけで、実体のないページ(total counter==0)のものも非表示にしてみました。(自分の好み) &ref(counterview.inc.php.2);-- [[baniko]] &new{2005-01-28 (金) 11:26:00};
--このようにすると、$non_list を反映するようになりますよ :) -- [[teanan]] &new{2005-01-28 (金) 12:19:29};
 16行目
   function plugin_counterview_convert() {
     global $script;
 +   global $non_list;
 
 45行目
                $pageName = decode($fileName);
 -              if(eregi('^:.+),$pageName) continue;
 +              if(preg_match("/$non_list/",$pageName)) continue;
                $counter = plugin_counterview_get_count($pageName);
--ありがとうございます。無事、指定ページの除外ができました。 --  &new{2005-01-28 (金) 15:03:34};
-おお、いつの間にかVer.2 が出てる! 嬉しいです ☆ -- [[H2]] &new{2005-02-05 (土) 18:27:59};
-カウンタが更新されないと、古い日付のカウンタも今日・昨日に表示されています。こんな感じのコードを足して使っています。 -- [[PHP初心者]] &new{2005-02-24 (木) 19:31:59};
--もっとスマートなコードがあれば教えてください。
 68行目
       static $default;
 +    $today = date('Ymd');
 111行目
       fclose($fp);
 +    // 日付比較
 +    // カウンタ日付をyyyy/mm/ddからyyyymmddに置換
 +    $cdate = ereg_replace("/", "", $counters[$page]['date']);
 +    if($today - 1 == $cdate)
 +    {
 +       // 日付が昨日
 +        $counters[$page]['yesterday'] = $counters[$page]['today'];
 +        $counters[$page]['today'] = 0;
 +    }
 +    else if($today - 1 > $cdate)
 +    {
 +        // 日付が昨日より前
 +        $counters[$page]['yesterday'] = 0;
 +        $counters[$page]['today'] = 0;
 +    }

//

トップ   差分 履歴 リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS