ログ保存期間を変更する 解説編に続き、今回は改造をおこなう。
改造の内容は、ログの削除と表示用データの取り出し、そして表示に関する処理において、日数を決定している部分を修正、数値を決め打ちするのではなく、変数に置き換えようというものである。概略については、解説編をお読みいただきたい。
解説編でもいっていたとおり、kaiseki.cgiの52行目が改造によって三行に増える。そのため、それ以降の行指定に食い違いがでるので、ご注意願いたい。
以下の改造で、指定される行番号は無改造のweb拍手CGIにおける改造箇所を示している。改造箇所の前後数行を変更前として書きだし、その後どのように変更するかの変更後を紹介した。具体的な変更箇所は、特に強調してある。
改造の順序は、clap.cgiからkaiseki.cgiを経て、最後にclapinit.cgiと続く。clapinit.cgiの改造に関しては、書き換えでなく追加である。この行の追加はclapinit.cgiの冒頭、#
基本設定
から# 設定終了
までの間ならどこでもいいが、私はお礼メッセージの設定とログファイルのファイル名を決める行との間に加えた。ログの保存期間を設定するのだから、ログファイルの設定の近くがよいだろうと思ったのだ。変数名$storagelifeは他の変数とかぶっていなければ自由に決めていただいて構わない。その際には、以下の改造で使用されている変数名を逐次変更すること。
なお、ログを保存する日数はデフォルトの14日としている。改造終了後、設定を変更いただきたい。
$day = 14;
& dateload;
$day = $storagelife;
& dateload;
#----------パラメータの日付が遠すぎないかチェック
if ($logday > 13) {$logday = 0;}
if ($logday eq '') {$logday = 0;}
#----------パラメータの日付が遠すぎないかチェック
if ($logday >= $storagelife) {$logday = 0;}
if ($logday eq '') {$logday = 0;}
#---------過去14日分のトータル抽出
@pasttotal = (0,0,0,0,0,0,0,0,0,0,0,0,0,0);
#---------過去14日分のトータル抽出
for ($i = 0; $i < $storagelife; $i++) {
$pasttotal[$i] = 0;
}
for ($i=1 ; $i<=13 ; $i++){
for ($i=1 ; $i < $storagelife ; $i++){
#---------------------過去2週間のグラフと別の日へのリンク
print "過去14日間の解析<br>";
print "<table border>¥n";
#---------------------過去2週間のグラフと別の日へのリンク
print "過去$storagelife日間の解析<br>";
print "<table border>¥n";
#---------------グラフ
for ($i=0 ; $i<=13 ; $i++){
#---------------グラフ
for ($i=0 ; $i < $storagelife ; $i++){
#--------------数値
print "<tr>¥n";
for ($i=0 ; $i<=13 ; $i++){
#--------------数値
print "<tr>¥n";
for ($i=0 ; $i < $storagelife ; $i++){
#-------------日にちとリンク
print "<tr>¥n";
for ($i=0 ; $i<=13 ; $i++){
#-------------日にちとリンク
print "<tr>¥n";
for ($i=0 ; $i < $storagelife ; $i++){
$day = 14;
& dateload;
$day = $storagelife;
& dateload;
# ログを保存する日数
$storagelife = 14;
< web拍手改造:ログ保存期間を変更する 解説編 web拍手改造:お礼メッセージの追加変更を簡単にする >