#!/usr/pkg/bin/perl
# ↑SSIが動かないようでしたらこれを調整してみて下さい。Perl 5.004以上必須です。
BEGIN{
# 「なつみかん」 動作情報表示スクリプト「info.cgi」
# Copyright (C) 1998-2000 hiya All Rights Reserved.

# 注意！！このSSIを使うときは、必ず下記設定をしてください。
#################################
# ここから設定範囲

####
# 共通設定ファイルの絶対パス
my $headfile		= "/home/su-2/w/su-2/antenna/bin/nm.ph";

# 設定範囲はここまで
#################################
# これ以降はさわらないでください










































# 読み込み
require qq($headfile);
}


## メイン
require 5.004;
use strict;
use lib ("$nm::cf::lib", "$nm::cf::bin", "$nm::cf::base");

my $head = $ARGV[0];
require qq($head) if($head);

# シグナル設定
$SIG{'INT'} = $SIG{'BUS'} = $SIG{'HUP'} = $SIG{'QUIT'} = $SIG{'TERM'} = 'autokill';
if($nm::cf::os eq "unix"){
	alarm(60);
}

use nm::files;
use nm::times;
use nm;
&nm::initinfo();

# 初期値設定
my $Files = new nm::files;
my $Times = new nm::times;

my $lock = $nm::cf::ext.'natsumican.lock';
my $start = $nm::cf::tmp.'natsumican.start';

my $headfile = $ARGV[1];
require qq($headfile) if($headfile);


## 実行開始
my $localTime = ($Times->tz2tzlag($nm::cf::localTimeZone))[1];


# HTML最終更新時刻の割り出しとHTML最低容量のチェック(書き出しミスのチェック)
$nm::cf::info::lstmod = $Times->showdate(($Files->file_time($nm::cf::info::tgthtml) + $localTime), $nm::cf::info::lstmod);

$nm::cf::info::idcaution = "" if($Files->file_size($nm::cf::info::tgthtml) > $nm::cf::info::deffsize);


# natsumican.lockの作成時刻から更新時刻取得開始時間を割り出す
$nm::cf::info::antennainfo = $Times->showdate(($Files->file_time($lock) + $localTime), $nm::cf::info::antennainfo);
$nm::cf::info::antennainfo = "" unless(open(IN,"$lock"));


# natsumican.startの作成時刻とHTML最終更新時刻から更新所要時間を割り出す
if($Files->file_time($nm::cf::info::tgthtml) > $Files->file_time($start)){
	my $updatet = $Files->file_time($nm::cf::info::tgthtml) - $Files->file_time($start);
	$nm::cf::info::updatetime = $Times->showdate($updatet, $nm::cf::info::updatetime);
}else{
	$nm::cf::info::updatetime = "";
}


# 現在時刻から混雑／快適時間帯を割り出す
my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = gmtime(($nm::now + $localTime));
$mon = $mon + 1;
my ($wtstart, $wtend, $ftstart, $ftend, $dtimeinfo, $timeinfo);
if(($wday eq "5" && $hour >= $nm::cf::info::wtwestart) || $wday eq "6" || ($wday eq "0" && $nm::cf::info::wtweend >= $hour)){
	$wtstart = $nm::cf::info::wtwestart;
	$wtend = $nm::cf::info::wtweend;
	$ftstart = $nm::cf::info::ftwestart;
	$ftend = $nm::cf::info::ftweend;
	$dtimeinfo = $nm::cf::info::timeinfowe;
}else{
	$wtstart = $nm::cf::info::wtnmstart;
	$wtend = $nm::cf::info::wtnmend;
	$ftstart = $nm::cf::info::ftnmstart;
	$ftend = $nm::cf::info::ftnmend;
	$dtimeinfo = $nm::cf::info::timeinfonm;
}

if($wtstart < $wtend){
	$timeinfo = $dtimeinfo if($wtstart <= $hour && $hour < $wtend);
}else{
	$timeinfo = $dtimeinfo if(($wtstart <= $hour && $hour <= 23) || (0 <= $hour && $hour < $wtend));
}
unless($timeinfo){
	if($ftstart < $ftend){
		$timeinfo = $nm::cf::info::timeinfoft if($ftstart <= $hour && $hour < $ftend);
	}else{
		$timeinfo = $nm::cf::info::timeinfoft if(($ftstart <= $hour && $hour <= 23) || (0 <= $hour && $hour < $ftend));
	}
}


# コアダンプのチェック
$nm::cf::info::coreinfo = $Times->showdate(($Files->file_time($nm::cf::info::core) + $localTime), $nm::cf::info::coreinfo);
$nm::cf::info::coreinfo = "" unless(open(IN,"$nm::cf::info::core"));


# 出力
my $nminfo = "$nm::cf::info::startmes$nm::cf::info::lstmod$nm::cf::info::antennainfo$nm::cf::info::updatetime$timeinfo$nm::cf::info::coreinfo$nm::cf::info::idcaution$nm::cf::info::endmes";
$nminfo =~ s/%ver%/$nm::version/g;
my $timezone = ($Times->tz2tzlag($localTime))[0];
$nminfo =~ s/%tz%/$timezone/g;
$nminfo = $Times->showdate(($nm::now + $localTime), $nminfo);

print $nminfo;

exit(0);

## メイン終わり















































## サブルーチン群

##
# 自爆サブルーチン
sub autokill{
	print STDERR "$!\n";
	exit(0);
}


1;
