#!/usr/bin/perl #↑perlの存在するpathに書き換えてください。 ############################################################################# # 今日は何の日 iwhatday.cgi V1.0 for iモード # Copyright (c) 2000.4 「菊池さん」 # # 1.このスクリプトは自分で使うために作者に承諾なしに自由に改造することがで # きます。ただしこの著作権表示は消さないでください。 # 2.このスクリプトの配布にあたっては、その有用性、安全性等に関する いかなる # 保証も行ないません。このスクリプトの使用に際して生じた いかなる損害に対 # しても、作者は責任を負いません。 また、このスクリプトに明らかな不具合、 # 仕様上の不備等が見つかった 場合に於いても、作者はそれを修正する責を負い # ません。 ############################################################################# # EZWeb版 今日は何の日 ewhatday.cgi V1.0 for EZWebモード # Copyright (C) 2001.12 「極楽とんぼのもっと食えよ!!」 # V1.0 iwhatday.cgiのezweb化 # V1.1 次世代機(C5001T等)の対応(WAP2.0対応) # V1.2 次世代機(C5001T等)のマルチポップアップメニュー対応 # オリジナルのiwhatday.cgiからEZWeb版に移植です。 ############################################################################## require './phoncof.pl'; $version = "v1.1"; $versionez = "v1.2"; #***** 書き換えるところ(個人設定) ******************************************* $homeez = 'http://www.iinet.ne.jp/~yoshamay/index.htm'; #HOME(ezweb)での戻り先 $script = 'ezwhatday.cgi'; $fscript = 'http://www.abc.ne.jp/~abc/whatday/ezwhatday.cgi'; #設置アドレス(ezweb only) $bgcol = 'white'; #背景色 $col_name = 'blue'; #文字色 #***** 書き換えるところ(ここまで) ******************************************* $basedir = '../whatday'; #データファイルのパス $birthfile = $basedir.'/birthday.txt'; $eventfile = $basedir.'/event.txt'; $monlyfile = $basedir.'/monthly.txt'; $histyfile = $basedir.'/history.txt'; #戻り先判定 if ($udev == 1) { $ghome = $homeez ; $hr = "
 ---------------- "; $font1 =""; $font2 =""; $font3 =""; print "Content-type: text/x-hdml; charset=Shift_JIS\n\n"; } elsif (($udev == 2) || ($udev == 3)) { $ghome = $homeez ; $hr = "
"; $font1 =""; $font2 =""; $font3 =""; print "Content-type: text/html\n\n"; } elsif ($udev == 4) { $ghome = $homei ; $hr = "
"; $font1 =""; $font2 =""; $font3 =""; print "Content-type: text/html\n\n"; } elsif ($udev == 5) { $ghome = $homej ; $hr = "
"; $font1 =""; $font2 =""; $font3 =""; print "Content-type: text/html\n\n"; } else { $ghome = $homei ; $hr = "
"; $font1 =""; $font2 =""; $font3 =""; print "Content-type: text/html\n\n"; } #環境変数取得 if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); } else { $buffer = $ENV{'QUERY_STRING'}; } @pairs = split(/&/,$buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $FORM{$name} = $value; } # 日付取得 ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime; $year = $year + 1900; if ($FORM{'month'} ne '' && $FORM{'day'} ne '') { $mon = $FORM{'month'}-1; $mday = $FORM{'day'}; if ($mon < 2) { $zyear = $year - 1; $zmon = $mon + 13; } else { $zyear = $year; $zmon = $mon + 1; } $wday = ($zyear + int($zyear/4) - int($zyear/100) + int($zyear/400) + int((13*$zmon + 8)/5) + $mday ) % 7; #ツェラーの公式 } $mon = $mon + 1; @week = ('日','月','火','水','木','金','土'); $date_now = sprintf("%01d月 %01d日(%s)",$mon,$mday,$week[$wday]); if($mon < 10) { $mon = "0$mon"; } if($mday < 10) { $mday = "0$mday"; } $date = "$mon$mday"; if($mon < 10) { $mon =~ s/0//g; } if($mday < 10) { $mday =~ s/0//g; } # パラメタ渡し $dest = "$script?"; $dest .= "month=\$month"; #月 $dest .= "\&day=\$day"; #日 #ヘッダの設定 if ($udev == 1) { $head = <<_HTML; $t_head _HTML } elsif (($udev == 2) || ($udev == 3)) { $head = <<_HTML; $t_head 今日は何の日$umeta
_HTML } else { $head = <<_HTML; $t_head 今日は何の日$umeta _HTML } #フッタの設定 if ($udev == 1) { $footer = <<_HTML; $hr HOME$ubr _HTML } else { $footer = <<_HTML; $hr
$no[143]HOME$ubr
_HTML } #フッタの設定2(ezweb only) $footer2 = ""; #フォームの設定 if ($udev == 1) { $form1 = <<_HTML; [\$month]月$ubr [\$day]日を$ubr 見る _HTML } else { $form1 = <<_HTML; 日を$ubr $no[135] _HTML } #フォームの設定2(ezweb only) $form2 = <<_HTML; 月: 日: _HTML #------------------------------------------ open(DB,"$eventfile") || die "$eventfile が設定された場所にありません.\n"; @event = ; close(DB); open(DB,"$monlyfile") || die "$monlyfile が設定された場所にありません.\n"; @monly = ; open(DB,"$histyfile") || die "$histyfile が設定された場所にありません.\n"; @histy = ; close(DB); open(DB,"$birthfile") || die "$birthfile が設定された場所にありません.\n"; @birth = ; close(DB); print "$head\n"; print "$date_now\n"; print "$hr\n"; print "■$font1何の日・行事$font3$ubr\n"; foreach (@event) { @temp = split(/,/,$_); if($temp[0] eq $date) { print "$font2$temp[1]$font3$ubr\n"; } } foreach (@monly) { @temp = split(/,/,$_); if($temp[0] < 10) { $temp[0] =~ s/0//g; } if($temp[0] eq $mday) { print "$font2$temp[1]$font3$ubr\n"; } } print "$hr"; print "■$font1歴史・出来事$font3$ubr\n"; foreach (@histy) { @temp = split(/,/,$_); ($hyear,$hmon,$hday) = split(/\//,$temp[0]); $hdate = "$hmon$hday"; if($hdate eq $date) { print "$hyear年 "; print "$font2$temp[1]$font3$ubr\n"; } } print "$hr\n"; print "■$font1有名人$font3$ubr\n"; foreach (@birth) { @temp = split(/,/,$_); $rdate = substr($temp[0],0,4); $ryear = substr($temp[0],4,4); if($rdate eq $date) { if($ryear eq "?") { $ryear = " ? "; $age = "?"; } else { $age = $year-$ryear; } print "$ryear年($age歳)$ubr"; print "$font2$temp[1]$font3$ubr\n"; } } print "$hr\n"; print "$form1\n"; print "$footer\n"; if ($udev == 1) { print "$form2\n"; print "$footer2\n"; } else { } exit;