#!/usr/bin/perl

# Copyright (C) 2001-2002 NEC Corporation
# All Rights Reserved.

#
#wbmc_minute UPdate用スクリプト RPMアップデート時に実行
#

#
#インストール時、/opt/nec/wbmc/bin/wbmc_minuteがあったら/var/tmpに退避
#


require "/opt/nec/wbmc/lib/wbmc.pl";
require "/opt/nec/wbmc/adm/system/system.pl";


#--------------------------------------------------------------
@tmp_minute=();	#/var/tmp/wbmc_minuteファイルの内容を格納
@bin_minute=();	#/opt/nec/wbmc/bin/wbmc_minuteファイルの内容を格納
@accesslog=();	#accesslogセクションの内容を格納
@webalizer=();	#webalizerセクションの内容を格納
$i=0;
#--------------------------------------------------------------

#
#/var/tmp/wbmc_minuteを読み込み
#
if (!&readFile("/var/tmp/wbmc_minute", "var_wbmc_minute_lock", *tmp_minute) ) {
        system("echo cannot read /var/tmp/wbmc_minute");
	exit(1);
}


#
#/opt/nec/wbmc/bin/wbmc_minute読み込み
#
if (!&readFile("/opt/nec/wbmc/bin/wbmc_minute", "bin_wbmc_minute_lock", *bin_minute) ) {
        system("echo cannot read /opt/nec/wbmc/bin/wbmc_minute");
        exit(1);
}



#--------------------------------------------------------------
#
#/var/tmp/wbmc_minuteのaccesslogセクション、webalizerセクションの設定を取得
#

if (!&WbmcminuteGetSection(*tmp_minute, "accesslog", *accesslog)){
        system("echo cannot read accesslog session");
	exit(1);
}

if (!&WbmcminuteGetSection(*tmp_minute, "webalizer", *webalizer)){
        system("echo cannot read webalizer session");
	exit(1);
}

#空白行を削除
for($i=0;$i<@main::accesslog;$i++){
	if($accesslog[$i] =~ /^$/ ){
		splice(@accesslog,$i,1);
		$i--;
	}
}
for($i=0;$i<@webalizer;$i++){
	if($webalizer[$i] =~ /^$/ ){
		splice(@webalizer,$i,1);
		$i--;
	}
}

#2009/2 higashi
#アクセスログ取得のコードを編集
for($i=0;$i < @accesslog;$i++){
	if($accesslog[$i] =~ /PUT_ACCESSLOG"/){
		$accesslog[$i] =~ s/PUT_ACCESSLOG"/PUT_ACCESSLOG \$log_file_name"/;
	}
}

#
#/opt/nec/wbmc/bin/wbmc_minuteのセクションに*accesslog,*webalizerの記述を挿入
#

&WbmcminuteAddKeys(*bin_minute, "accesslog", *accesslog);
&WbmcminuteAddKeys(*bin_minute, "webalizer", *webalizer);


#--------------------------------------------------------------
#
#/opt/nec/wbmc/bin/wbmc_minuteに記述
#

if(!&writeFile("/opt/nec/wbmc/bin/wbmc_minute", "bin_wbmc_minute_lock", @bin_minute)) {
	system("echo cannot write wbmc_minute");
	exit(1);
}

#--------------------------------------------------------------
