web拍手改造

ログ保存期間を変更する 改造編

 ログ保存期間を変更する 解説編に続き、今回は改造をおこなう。

 改造の内容は、ログの削除と表示用データの取り出し、そして表示に関する処理において、日数を決定している部分を修正、数値を決め打ちするのではなく、変数に置き換えようというものである。概略については、解説編をお読みいただきたい。

 解説編でもいっていたとおり、kaiseki.cgiの52行目が改造によって三行に増える。そのため、それ以降の行指定に食い違いがでるので、ご注意願いたい。

 以下の改造で、指定される行番号は無改造のweb拍手CGIにおける改造箇所を示している。改造箇所の前後数行を変更前として書きだし、その後どのように変更するかの変更後を紹介した。具体的な変更箇所は、特に強調してある。

 改造の順序は、clap.cgiからkaiseki.cgiを経て、最後にclapinit.cgiと続く。clapinit.cgiの改造に関しては、書き換えでなく追加である。この行の追加はclapinit.cgiの冒頭、# 基本設定から# 設定終了までの間ならどこでもいいが、私はお礼メッセージの設定とログファイルのファイル名を決める行との間に加えた。ログの保存期間を設定するのだから、ログファイルの設定の近くがよいだろうと思ったのだ。変数名$storagelife他の変数とかぶっていなければ自由に決めていただいて構わない。その際には、以下の改造で使用されている変数名を逐次変更すること。

 なお、ログを保存する日数はデフォルトの14日としている。改造終了後、設定を変更いただきたい。

CGIを改造する

clap.cgi : 60行目

変更前
 $day = 14;
 & dateload;
変更後
 $day = $storagelife;
 & dateload;

kaiseki.cgi : 24行目

変更前
#----------パラメータの日付が遠すぎないかチェック
if ($logday > 13) {$logday = 0;}
if ($logday eq '') {$logday = 0;}
変更後
#----------パラメータの日付が遠すぎないかチェック
if ($logday >= $storagelife) {$logday = 0;}
if ($logday eq '') {$logday = 0;}

kaiseki.cgi : 52行目

変更前
#---------過去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;
}

kaiseki.cgi : 56行目

変更前
for ($i=1 ; $i<=13 ; $i++){
変更後
for ($i=1 ; $i < $storagelife ; $i++){

kaiseki.cgi : 132行目

変更前
#---------------------過去2週間のグラフと別の日へのリンク
print "過去14日間の解析<br>";
print "<table border>¥n";
変更後
#---------------------過去2週間のグラフと別の日へのリンク
print "過去$storagelife日間の解析<br>";
print "<table border>¥n";

kaiseki.cgi : 136行目

変更前
#---------------グラフ
for ($i=0 ; $i<=13 ; $i++){
変更後
#---------------グラフ
for ($i=0 ; $i < $storagelife ; $i++){

kaiseki.cgi : 150行目

変更前
#--------------数値
print "<tr>¥n";

for ($i=0 ; $i<=13 ; $i++){
変更後
#--------------数値
print "<tr>¥n";

for ($i=0 ; $i < $storagelife ; $i++){

kaiseki.cgi : 159行目

変更前
#-------------日にちとリンク
print "<tr>¥n";

for ($i=0 ; $i<=13 ; $i++){
変更後
#-------------日にちとリンク
print "<tr>¥n";

for ($i=0 ; $i < $storagelife ; $i++){

kaiseki.cgi : 298行目

変更前
 $day = 14;
 & dateload; 
変更後
 $day = $storagelife;
 & dateload; 

clapinit.cgi : 新規追加

# ログを保存する日数
$storagelife = 14;

<   >

わたしの愛した機械へ トップページに戻る

公開日:2005.09.11
最終更新日:2005.10.29
webmaster@kototone.jp
Creative Commons License
こととねは、クリエイティブ・コモンズ・ライセンス(表示 - 継承 2.1 日本)の下でライセンスされています。