FreeBSD/PHP-STATS の変更点
*&SIZE(15){''PHP-STATS''}; [#lc554f55]
[[xoops asGroupware>http://www2.x-groupware.org:8080/xoops/]]にて日本語化が行われているPHP-STATS 1.9.1インストール。~
ビジュアルはスマートでとってもいい感じです。さすがはイタリア製かな~
[[こちら>http://small.littlestar.jp/doki/catid_11_blogid_5.html]]のサイトでもインストール方法を掲載してますよ。~
+[[''環境''>#A]]
+[[''インストール''>#B]]
+[[''DB変更時のスクリプト変更点(PHP-STATS 1.9.1)''>#C]]
+[[''日本語化したページ一番下の文字が文字化け''>#D]]
+[[''昨日の訪問者数・昨日のヒット数を表示する。''>#E]]
**''環境''&aname(A); [#y572d04f]
FreeBSD 5.4~
PHP-4.40~
PHP-STATS 1.9.1~
MySQL-4.0.26~
~
&color(red){※注意:MySQLのバージョンが4.10以上だとXoopsと一緒で文字化けしてしまいます。};~
Xoopsと同じように、MySQLに渡す時に文字コードを指定すればいいはずですが、
該当場所が解明できませんでした。~
~
**''インストール''&aname(B); [#t6e55804]
■ソースをダウンロード~
本家サイトが移動したようで、ここにあります。~
http://www.phpstats.net/ ~
~
■日本語化パッチをダウンロード~
下の2つの日本語化パッチをダウンロードし、本家サイトからダウンロードしたもの(解凍するとstatsフォルダ)に
コピーして上書きする。~
[[Php-Stats_0.1.9_j.zip (ver. 0.43)>http://www2.x-groupware.org:8080/xoops/modules/cabinet/filedetail.php?fileid=63]]~
[[Php-Stats_0191_jp_sabun.zip (ver. 0.1)>http://www2.x-groupware.org:8080/xoops/modules/cabinet/filedetail.php?fileid=72]]~
~
■config.phpの編集~
$option['host']='MySQLサーバーのIPアドレスかサーバー名';
$option['database']='データベース名を記入';
$option['database']='ユーザー名を記入';
$option['user_db']='パスワードを記入';
$option['script_url']='Php-Statsの設置ディレクトリをフルパスで記入';
$option['script_url']='password'; // Password
$option['prefix']='php_stats';データベーステーブルの接頭語
$option['check_new_version']=0;本サイトに新しいバージョンをチェックしにいくかどうか
0はしないです。
~
■サイトにアップ~
ftpなどで、statsフォルダごとアップします。~
パーミッションは以下のように設定します。~
|777|アップロードしたディレクトリ|
|~|option|
|666|config.php|
|766|admin.php、click.php、download.php、escludi.php、php-stats.php|
|~|php-stats.recjs.php、php-stats.recphp.php、tracking.php、view_stats.js.php|
~
■オンラインでの設定~
ラウザで,http:/設置先のURL/setup.php をアクセス。~
後はウィザードに沿って進んでいけば、大体わかると思います。
**''DB変更時のスクリプト変更点(PHP-STATS 1.9.1)''&aname(C); [#k57d8ba5]
このファイルのDBサーバの個所を書き換えます。~
~
▼&color(red){config.php:25:};
$option['host']='DBサーバ'; // Indirizzo server MySQL o IP
▼&color(red){option/php-stats-options.php:6:};
'host'=>'DBサーバ',
**''日本語化したページ一番下の文字が文字化け''&aname(D); [#s18fc1b5]
このファイルをEUCに変換すると正常表示されます。
templates/default/admin.tpl
**''昨日の訪問者数・昨日のヒット数を表示する。''&aname(E); [#r46f5221]
「カウンタを表示させるスクリプトの生成」という項目があり、~
「オンラインユーザー数」「今日の訪問者数」「本日のヒット数」「合計訪問者数」「合計ヒット数」を~
表示するコードについては簡単に生成できます。~
これに「昨日の訪問者数」「昨日のヒット数」を表示できるようにしてみます。~
~
◇/stats/view_stats.js.php 107行目あたり
case '4':
list($hits)=@mysql_fetch_row(sql_query("SELECT hits FROM $option[prefix]_counters LIMIT 1"));
$toshow=$hits+$option['starthits'];
break;
//昨日の訪問者数
case '5':
$tmp1=0;
$tmp2=0;
$data_oggi=date("Y-m-d",mktime(date("G")-$option['timezone'],date("i"),0,date("m"),date("d")-1,date("Y")));
$result=sql_query("SELECT visits FROM $option[prefix]_daily WHERE data='$data_oggi' LIMIT 1");
list($tmp1)=@mysql_fetch_row($result);
$result=sql_query("SELECT SUM(visits) FROM $option[prefix]_cache WHERE giorno='$data_oggi' LIMIT 1");
list($tmp2)=@mysql_fetch_row($result);
$toshow=$tmp1+$tmp2;
break;
◇続いて、以下のソースを挿入します。
//昨日のページビュー数
case '6':
$tmp1=0;
$tmp2=0;
$data_oggi=date("Y-m-d",mktime(date("G")-$option['timezone'],date("i"),0,date("m"),date("d")-1,date("Y")));
$result=sql_query("SELECT hits FROM $option[prefix]_daily WHERE data='$data_oggi' LIMIT 1");
list($tmp1)=@mysql_fetch_row($result);
$result=sql_query("SELECT SUM(hits) FROM $option[prefix]_cache WHERE giorno='$data_oggi' LIMIT 1");
list($tmp2)=@mysql_fetch_row($result);
$toshow=$tmp1+$tmp2;
break;
//--今月の訪問者数----
case '7':
$tmp1=0;
$tmp2=0;
$data_oggi=date("Y-m-",mktime(date("G")-$option['timezone'],date("i"),0,date("m"),date("d"),date("Y")));
$result=sql_query("SELECT SUM(visits) FROM $option[prefix]_daily WHERE data like '$data_oggi%' LIMIT 1");
list($tmp1)=@mysql_fetch_row($result);
$result=sql_query("SELECT SUM(visits) FROM $option[prefix]_cache WHERE giorno like '$data_oggi%' LIMIT 1");
list($tmp2)=@mysql_fetch_row($result);
$toshow=$tmp1+$tmp2;
break;
//--------------------
//--先月のページビュー数---
case '10':
$tmp1=0;
$tmp2=0;
$data_oggi=date("Y-m-",mktime(date("G")-$option['timezone'],date("i"),0,date("m")-1,date("d"),date("Y")));
$result=sql_query("SELECT SUM(hits) FROM $option[prefix]_daily WHERE data like '$data_oggi%' LIMIT 1");
list($tmp1)=@mysql_fetch_row($result);
$result=sql_query("SELECT SUM(hits) FROM $option[prefix]_cache WHERE giorno like '$data_oggi%' LIMIT 1");
list($tmp2)=@mysql_fetch_row($result);
$toshow=$tmp1+$tmp2;
break;
//--------------------
//--今年のページビュー数---
case '11':
$tmp1=0;
$tmp2=0;
$data_oggi=date("Y-",mktime(date("G")-$option['timezone'],date("i"),0,date("m"),date("d"),date("Y")));
$result=sql_query("SELECT SUM(hits) FROM $option[prefix]_daily WHERE data like '$data_oggi%' LIMIT 1");
list($tmp1)=@mysql_fetch_row($result);
$result=sql_query("SELECT SUM(hits) FROM $option[prefix]_cache WHERE giorno like '$data_oggi%' LIMIT 1");
list($tmp2)=@mysql_fetch_row($result);
$toshow=$tmp1+$tmp2;
break;
//--最高訪問者(ページビュー)数---
case '12':
$tmp1=0;
$result=sql_query("SELECT MAX(hits) FROM $option[prefix]_daily WHERE data like '%' LIMIT 1");
list($tmp1)=@mysql_fetch_row($result);
$toshow=$tmp1;
break;
//--訪問者(ページビュー)の平均数---
case '13':
$tmp1=0;
$result=sql_query("SELECT round(avg(hits),0) FROM $option[prefix]_daily WHERE data like '%' LIMIT 1");
list($tmp1)=@mysql_fetch_row($result);
$toshow=$tmp1;
break;
//--直近の日〜土の7日間の訪問者(ページビュー)数---
case '14':
$tmp1=0;
$week=date("w",mktime(date("G")-$option['timezone'],date("i"),0,date("m"),date("d"),date("Y")))+1;
$data_oggi=date("Y-m-d",mktime(date("G")-$option['timezone'],date("i"),0,date("m"),date("d")-$week,date("Y")));
$data_7dayago=date("Y-m-d",mktime(date("G")-$option['timezone'],date("i"),0,date("m"),date("d")-$week-6,date("Y")));
$week=date("w",mktime(date("G")-$option['timezone'],date("i"),0,date("m"),date("d"),date("Y")));
$data_oggi=date("Y-m-d",mktime(date("G")-$option['timezone'],date("i"),0,date("m"),date("d"),date("Y")));
$data_7dayago=date("Y-m-d",mktime(date("G")-$option['timezone'],date("i"),0,date("m"),date("d")-$week,date("Y")));
$result=sql_query("SELECT SUM(hits) FROM $option[prefix]_daily WHERE data between '$data_7dayago' and '$data_oggi'");
list($tmp1)=@mysql_fetch_row($result);
$toshow=$tmp1;
break;
各項目の表示するためのソースは、以下のようになります。
・オンラインユーザー数
*/stats/view_stats.js.php?mode=0&style=8&digits=4
・本日の訪問者数
*/stats/view_stats.js.php?mode=1&style=8&digits=4
・本日のヒット数
*/stats/view_stats.js.php?mode=2&style=8&digits=4
・合計訪問者数
*/stats/view_stats.js.php?mode=3&style=8&digits=5
・合計ヒット数
*/stats/view_stats.js.php?mode=4&style=8&digits=5
・昨日の訪問者数
*/stats/view_stats.js.php?mode=5&style=8&digits=4
・昨日のヒット数
*/stats/view_stats.js.php?mode=6&style=8&digits=4
・今月の訪問者数
*/stats/view_stats.js.php?mode=7&style=8&digits=4
・先月のページビュー数
*/stats/view_stats.js.php?mode=10&style=8&digits=4
・今年のページビュー数
*/stats/view_stats.js.php?mode=11&style=8&digits=4
・最高訪問者(ページビュー)数
*/stats/view_stats.js.php?mode=12&style=8&digits=4
・訪問者(ページビュー)の平均数
*/stats/view_stats.js.php?mode=13&style=8&digits=4
・直近の日〜土の7日間の訪問者(ページビュー)数
*/stats/view_stats.js.php?mode=14&style=8&digits=4