$this_year年$mon月$mday日($days[$wday])
$this_year年$mon月$mday日($days[$wday])の\予\定
HTML_DD
#=========================予定の書き始め=======================================
open (IN,"$sch_d");
@SCH_DATA =
;
close (IN);
@SCH_DATA = sort { (split(/\:/,$a))[4] <=> (split(/\:/,$b))[4] || (split(/\:/,$a))[5] <=> (split(/\:/,$b))[5]} @SCH_DATA;
foreach $line (@SCH_DATA) {
($bangou,$nen,$tuki,$hiduke,$hour_1,$hour_2,$sch_b,$cat) = split(/:/, $line);
if ( $this_year eq $nen && $mon eq $tuki && $mday eq $hiduke ) {push(@NE,$line);}
}
foreach $line (@NE) {
($bangou,$nen,$tuki,$hiduke,$hour_1,$hour_2,$sch_b,$cat) = split(/:/, $line);
print "\n";
print "\n";
print "$hour_1:$hour_2 \n";
print "\n";
print "$category[$cat] \n";
print "$sch_b \n";
print "\n";
print "この\予\定を\編\集 この\予\定\を\削除 \n";
print "
\n";
print " \n";
}
#=====================
&page_3;
}
#=========================================メイン終了===========================
#========================カレンダー移動========================================
sub move
{
if ($ENV{'HTTP_REFERER'} !~ /$pr_na/)
{
&error('不正なアクセスです。');
}
foreach $line ($buffer) {
($he,$m_nen,$m_tuki,$m_hiduke) = split(/&/, $line);
}
#=====================今日の日付を取得==========================================
@days = ('日','月','火','水','木','金','土');
@months = ('1月','2月','3月','4月','5月','6月','7月',
'8月','9月','10月','11月','12月');
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
if ($year > 99) { $year_d = "20";
$year = $year-100;
if ($year < 10){$year = "0$year";}
}
else {$year_d = "19";}
if ($hour < 10) { $hour = "0$hour"; }
if ($min < 10) { $min = "0$min"; }
if ($sec < 10) { $sec = "0$sec"; }
#======================日付から曜日の習得======================================
$b_year = "$year_d$year";
$this_year = "$year_d$year";
$mon ++;
if ($m_tuki == 1 || $m_tuki == 2){
$m_nen--;
$m_tuki += 12;
}
$m_day = ($m_nen + int($m_nen/4) - int($m_nen/100) + int($m_nen/400)
+ int((13*$m_tuki + 8)/5) + 1) % 7;
if ($m_tuki == 13 || $m_tuki == 14){
$m_nen++;
$m_tuki -= 12;
}
#================移動した日の曜日
if ($m_tuki == 1 || $m_tuki == 2){
$m_nen--;
$m_tuki += 12;
}
$mw_day = ($m_nen + int($m_nen/4) - int($m_nen/100) + int($m_nen/400)
+ int((13*$m_tuki + 8)/5) + $m_hiduke) % 7;
if ($m_tuki == 13 || $m_tuki == 14){
$m_nen++;
$m_tuki -= 12;
}
#==============================================================================
@mon_day = (0,31,28,31,30,31,30,31,31,30,31,30,31);
if ( (!($m_nen % 4) && ($m_nen % 100)) || !($m_nen % 400) )
{
$mon_ht = 1;
}
else
{
$mon_ht = 0;
}
$mon_day[2] += $mon_ht;
@mon_day;
#==============================================================================
#============================前の月と次の月====================================
if ($m_tuki == 12) #====次の月=========
{
$next_y = $m_nen;
$next_y++;
$next_m = "1";
}
else
{
$next_y = $m_nen;
$next_m = $m_tuki;
$next_m++;
}
if ($m_tuki == 1) #====前の月=========
{
$last_y = $m_nen;
$last_y--;
$last_m = "12";
}
else
{
$last_y = $m_nen;
$last_m = $m_tuki;
$last_m--;
}
#==============================================================================
#====================過去2年と未来2年==========================================
$pam_y1 = $m_nen;
$pam_y1 -= 1;
$pam_y2 = $m_nen;
$pam_y2 -= 2;
$fum_y1 = $m_nen;
$fum_y1 += 1;
$fum_y2 = $m_nen;
$fum_y2 += 2;
#==============================================================================
&page_1;
print <
$m_nen年$m_tuki月
PAGE_2
#================================= 曜日の表示
for($i=0;$i<=6;$i++){
if($i == 0)
{
$d_col="red";
}
elsif($i == 6)
{
$d_col="blue";
}
else
{
$d_col="black";
}
print "@days[$i] \n";
}
#######
$k=0;
$date=1;
for($i=0;$i<=5;$i++){
print " \n";
for($j=0;$j<=6;$j++){
#==========================今日の日付の表示==============================
if($m_hiduke==$date)
{
$to="$today_bg";
}
else
{
$to="$day_bg";
}
#==========================================================================
$sun_col = "$sun_c";
$sat_col = "$sat_c";
$other_col = "$other_c";
if(($k<$m_day)||($date>$mon_day[$m_tuki])){
print "<\/td>\n";
}
else{
if($j==0){
$col=$sun_col;
}
elsif($j==6){
$col=$sat_col;
}
else{
$col="$other_col";
}
print " $date \n";
$col="";;
$date++;
}
$k++;
}
print " \n";
}
print " \n";
print " \n";
print<
$this_year年$mon月$mday日($days[$wday])
$pam_y2年
$pam_y1年
$m_nen年
$fum_y1年
$fum_y2年
HTML_01
for ($mm_b=1; $mm_b<=12; $mm_b++) {
if ($mm_b == $m_tuki) { print ''.$mm_b.'月' . "\n"; }
else { print ' '.$mm_b.'月' . "\n"; }
}
print " \n";
print "\n";
for ($md_b=1; $md_b<=31; $md_b++) {
if ($md_b == $m_hiduke) { print ''.$md_b.'日' . "\n"; }
else { print ' '.$md_b.'日' . "\n"; }
}
print<
午前0時
午前1時
午前2時
午前3時
午前4時
午前5時
午前6時
午前7時
午前8時
午前9時
午前10時
午前11時
午後12時
午後1時
午後2時
午後3時
午後4時
午後5時
午後6時
午後7時
午後8時
午後9時
午後10時
午後11時
00分
05分
10分
15分
20分
25分
30分
35分
40分
45分
50分
55分
カテゴリーなし
自宅オフ
ショップオフ
飲み会オフ
旅行オフ
その他
$m_nen年$m_tuki月$m_hiduke日($days[$mw_day])の\予\定
HTML_DD
#=========================予定の書き始め=======================================
$sch_g = $sch_d;
open (IN,"$sch_g");
@SCH_DATA =
;
close (IN);
@SCH_DATA = sort { (split(/\:/,$a))[4] <=> (split(/\:/,$b))[4] || (split(/\:/,$a))[5] <=> (split(/\:/,$b))[5]} @SCH_DATA;
foreach $line (@SCH_DATA) {
($bangou,$nen,$tuki,$hiduke,$hour_1,$hour_2,$sch_b,$cat) = split(/:/, $line);
if ( $m_nen eq $nen && $m_tuki eq $tuki && $m_hiduke eq $hiduke ) {push(@NE,$line);}
}
foreach $line (@NE) {
($bangou,$nen,$tuki,$hiduke,$hour_1,$hour_2,$sch_b,$cat) = split(/:/, $line);
print "\n";
print "\n";
print "$hour_1:$hour_2 \n";
print "\n";
print "$category[$cat] \n";
print "$sch_b \n";
print "\n";
print "この\予\定を\編\集 この\予\定を\削\除 \n";
print "
\n";
print " \n";
}
#=============================ここまで=========================================
&page_3;
}
#==============================カレンダー移動の終わり==========================
#=========================スケジュールの書きこみ===============================
sub wr_sch
{
if ($ENV{'HTTP_REFERER'} !~ /$pr_na/)
{
&error('不正なアクセスです。');
}
open (IN,"$sch_d");
@SCH_DATA = ;
close (IN);
@SCH_DATA = sort { (split(/\:/,$a))[0] <=> (split(/\:/,$b))[0] } @SCH_DATA;
foreach $line (@SCH_DATA) {
($bangou,$nen,$tuki,$hiduke,$hour_1,$hour_2,$sch_b,$cat) = split(/:/, $line);
}
if ($bangou eq "")
{
$bd = "01";
}
else
{
$bd = $bangou;
$bd++;
}
open (sch_wr, ">>$sch_d") || die "Counter Writen Error...................\n";
flock($sch_d,2);
seek($sch_d,0,0);
print sch_wr "$bd:$FORM{'w_nen'}:$FORM{'w_tuki'}:$FORM{'w_hi'}:$FORM{'w_ho1'}:$FORM{'w_ho2'}:$FORM{'yotei'}:$FORM{'cate'}\n";
close(sch_wr);
flock($sch_d,8);
&move($buffer = "00&$FORM{'w_nen'}&$FORM{'w_tuki'}&$FORM{'w_hi'}");
}
#=========================スケジュールの書きこみ終わり=========================
#=========================スケジュールの編集===================================
sub re_wr
{
if ($ENV{'HTTP_REFERER'} !~ /$pr_na/)
{
&error('不正なアクセスです。');
}
foreach $line ($buffer) {
($he,$ban,$m_nen,$m_tuki,$m_hiduke) = split(/&/, $line);
}
#=====================今日の日付を取得==========================================
@days = ('日','月','火','水','木','金','土');
@months = ('1月','2月','3月','4月','5月','6月','7月',
'8月','9月','10月','11月','12月');
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
if ($year > 99) { $year_d = "20";
$year = $year-100;
if ($year < 10){$year = "0$year";}
}
else {$year_d = "19";}
if ($hour < 10) { $hour = "0$hour"; }
if ($min < 10) { $min = "0$min"; }
if ($sec < 10) { $sec = "0$sec"; }
#==============================================================================
$b_year = "$year_d$year";
$this_year = "$year_d$year";
$mon ++;
if ($m_tuki == 1 || $m_tuki == 2){
$m_nen--;
$m_tuki += 12;
}
$m_day = ($m_nen + int($m_nen/4) - int($m_nen/100) + int($m_nen/400)
+ int((13*$m_tuki + 8)/5) + 1) % 7;
if ($m_tuki == 13 || $m_tuki == 14){
$m_nen++;
$m_tuki -= 12;
}
#================移動した日の曜日
if ($m_tuki == 1 || $m_tuki == 2){
$m_nen--;
$m_tuki += 12;
}
$mw_day = ($m_nen + int($m_nen/4) - int($m_nen/100) + int($m_nen/400)
+ int((13*$m_tuki + 8)/5) + $m_hiduke) % 7;
if ($m_tuki == 13 || $m_tuki == 14){
$m_nen++;
$m_tuki -= 12;
}
#==============================================================================
@mon_day = (0,31,28,31,30,31,30,31,31,30,31,30,31);
if ( (!($m_nen % 4) && ($m_nen % 100)) || !($m_nen % 400) )
{
$mon_ht = 1;
}
else
{
$mon_ht = 0;
}
$mon_day[2] += $mon_ht;
@mon_day;
#==============================================================================
#============================前の月と次の月====================================
if ($m_tuki == 12) #====次の月=========
{
$next_y = $m_nen;
$next_y++;
$next_m = "1";
}
else
{
$next_y = $m_nen;
$next_m = $m_tuki;
$next_m++;
}
if ($m_tuki == 1) #====前の月=========
{
$last_y = $m_nen;
$last_y--;
$last_m = "12";
}
else
{
$last_y = $m_nen;
$last_m = $m_tuki;
$last_m--;
}
#==============================================================================
#==============================================================================
&page_1;
print <
$m_nen年$m_tuki月
PAGE_RE
#================================= 曜日の表示
for($i=0;$i<=6;$i++){
if($i == 0)
{
$d_col="red";
}
elsif($i == 6)
{
$d_col="blue";
}
else
{
$d_col="black";
}
print "@days[$i] \n";
}
#######
$k=0;
$date=1;
for($i=0;$i<=5;$i++){
print " \n";
for($j=0;$j<=6;$j++){
#==========================今日の日付の表示==============================
if($m_hiduke==$date)
{
$to="$today_bg";
}
else
{
$to="$day_bg";
}
#==========================================================================
$sun_col = "$sun_c";
$sat_col = "$sat_c";
$other_col = "\#000066";
if(($k<$m_day)||($date>$mon_day[$m_tuki])){
print "<\/td>\n";
}
else{
if($j==0){
$col=$sun_col;
}
elsif($j==6){
$col=$sat_col;
}
else{
$col="$other_col";;
}
print " $date \n";
$col="";;
$date++;
}
$k++;
}
print " \n";
}
print " \n";
print " \n";
print<
$this_year年$mon月$mday日($days[$wday])
$m_nen年$m_tuki月$m_hiduke日($days[$mw_day])の\予\定の編集
HTML_01
#=========================編集スケジュール表示=================================
open (IN,"$sch_d");
@SCH_DATA =
;
close (IN);
foreach $line (@SCH_DATA) {
($bangou,$nen,$tuki,$hiduke,$hour_1,$hour_2,$sch_b,$cat) = split(/:/, $line);
if ( $bangou eq $ban ) {push(@NE,$line);}
}
foreach $line (@NE) {
($bangou,$nen,$tuki,$hiduke,$hour_1,$hour_2,$sch_b,$cat) = split(/:/, $line);
print "\n";
print " \n";
}
#=============================ここまで=========================================
&page_3;
}
#=========================スケジュールの編集の終わり===========================
#=========================スケジュールの編集処理===============================
sub re_sch
{
open (IN,"$sch_d");
@SCH_DATA_R = ;
close (IN);
foreach $line (@SCH_DATA_R) {
($bangou,$nen,$tuki,$hiduke,$hour_1,$hour_2,$sch_b,$cat) = split(/:/, $line);
if ( $FORM{'bangou'} eq $bangou ) {push(@NE_R,$line);}
else {push(@NN_R,$line);}
}
open (OUT,">$sch_d") || &error('open_error');
print OUT (@NN_R);
close (OUT);
open (sch_wr, ">>$sch_d") || die "Counter Writen Error...................\n";
flock($sch_d,2);
seek($sch_d,0,0);
print sch_wr "$FORM{'bangou'}:$FORM{'w_nen'}:$FORM{'w_tuki'}:$FORM{'w_hi'}:$FORM{'w_ho1'}:$FORM{'w_ho2'}:$FORM{'yotei'}:$FORM{'cate'}\n";
close(sch_wr);
flock($sch_d,8);
open (OUT_R,"$sch_d");
@SCH_DATA_T = ;
@SCH_DATA_T = sort @SCH_DATA_T;
print OUT_R (@SCH_DATA_T);
close (IN);
&move($buffer = "00&$FORM{'w_nen'}&$FORM{'w_tuki'}&$FORM{'w_hi'}");
exit;
}
#=========================スケジュールの編集処理の終わり=======================
#=========================スケジュールの削除===================================
sub sch_dl
{
if ($ENV{'HTTP_REFERER'} !~ /$pr_na/)
{
&error('不正なアクセスです。');
}
foreach $line ($buffer) {
($he,$ban,$m_nen,$m_tuki,$m_hiduke) = split(/&/, $line);
}
open (IN,"$sch_d");
@SCH_DATA_D = ;
close (IN);
foreach $line (@SCH_DATA_D) {
($bangou,$nen,$tuki,$hiduke,$hour_1,$hour_2,$sch_b,$cat) = split(/:/, $line);
if ( $ban eq $bangou ) {push(@NE_D,$line);}
else {push(@NN_D,$line);}
}
open (OUT,">$sch_d") || &error('open_error');
print OUT (@NN_D);
close (OUT);
&move($buffer = "00&$m_nen&$m_tuki&$m_hiduke");
exit;
}
#=========================スケジュールの削除の終わり===========================
#=========================ページ表示 1=========================================
sub page_1
{
print "Content-type: text/html\n\n";
print <
$s_ver Quick Schdule
ホーム
$title
MAIN
}
#==============================================================================
#===============================ページ表示 3===================================
sub page_3
{
print<
Quick Schedule (simplification) $ver_info
© CG-grasp
HTML_02
}
#=============================================================================
#==========================認証画面===========================================
sub top
{
print "Content-type: text/html\n\n";
print <
$title
$title