################################################ # my.pl ################################################ ######################################### #現在時間を得る sub get_now_japan_time { $now_time = time() + 9*60*60; @timearray = gmtime($now_time); ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = @timearray; $now_sec = $sec; $now_min = $min; $now_hour = $hour; $now_mday = $mday; $now_mon = $mon + 1; $now_year = $year; $now_yday = $yday; } ######################################### #htmlトップの表示 sub make_top { print "Content-type: text/html\n\n"; print "\n"; print "\n"; print "$type\n"; print "\n"; print "$title\n"; print "\n"; print "\n"; } ######################################### #htmlボトムの表示 sub make_bottom { print "\n"; print "\n"; } ######################################### #html_table_formatトップの表示 sub make_table_format_top { print "\n"; print "
\n"; print "\n"; print " \n"; print " \n"; print " \n"; print "
\n"; } ######################################### #html_table_formatボトムの表示 sub make_table_format_bottom { print "
\n"; print "
\n"; } ############################################### #間違いの告知sub sub warning { ################################################# #htmlトップの表示 $type = ""; $title = "TOROKU_Wrong_$warning_title"; &make_top; print "\n"; print "
\n"; print "
\n"; print "$warning_titleが入力されていません。
\n"; print "
\n"; print "ブラウザの戻るボタンで登録画面に戻り訂正してください。
\n"; print "
\n"; ################################################# #htmlボトムの表示 &make_bottom; } ############################################### #登録が終了した事を知らせる sub thank_you { ################################################# #htmlトップの表示 $type = ""; $title = "TOROKU_Kanryou"; &make_top; ################################################# #html_table_formatトップの表示 &make_table_format_top; print "
\n"; print "$in{\"$user_name\"}様のオーダー手続きはすべて完了しました。
有難うございました。


\n"; print "$back_to_name にもどる。\n"; print "
\n"; ################################################# #html_table_formatボトムの表示 &make_table_format_bottom; ################################################# #htmlボトムの表示 &make_bottom; } ##################################### #webmasterあてに受注完了をメールする sub mail_to_webmaster { $mail_title = jcode($subject)->h2z->jis; $header_coded = jcode($mail_title)->mime_encode; $wmailprog='/usr/sbin/sendmail -t '; open(MASTER, "|$wmailprog") || die("System Error ! mailprog not available"); print MASTER "Content-Type: text/plain; charset=iso-2022-jp\r\n"; print MASTER "From: $from, \r\n"; print MASTER "To: $address, \r\n"; print MASTER "Cc: $address_cc, \r\n"; print MASTER "Subject: $header_coded\r\n\n"; foreach $key (sort keys %our) { if ($in{$key} ne "") { print MASTER "$our{$key}\n"; print MASTER "$in{$key}\n\n"; } } close (MASTER); } ##################################### #注文主あてに受注完了をメールする sub mail_to_custmr { $mail_title = jcode($recived)->h2z->jis; $header_coded = jcode($mail_title)->mime_encode; $wmailprog='/usr/sbin/sendmail -t '; open(CUSTMR, "|$wmailprog") || die("System Error ! mailprog not available"); print CUSTMR "Content-Type: text/plain; charset=iso-2022-jp\r\n"; print CUSTMR "From: $from, \r\n"; print CUSTMR "To: $in{\"$mail_user\"}, \r\n"; print CUSTMR "Subject: $header_coded\r\n\n"; print CUSTMR "$r_body\n"; if ($c_dtl_flg ==1) { print CUSTMR "$r_order_top\n\n"; foreach $key (sort keys %our) { if ($in{$key} ne "") { print CUSTMR "$our{$key}\n"; print CUSTMR "$in{$key}\n\n"; } } } close (CUSTMR); } ##################################### #データを指定された、ファイルに保存する sub save_data { &make_number; unless (-e "/home/$account/form_data") { $warning_title = "Cannot mkdir"; mkdir ("/home/$account/form_data", 0711) || (&cannot_open, exit); } $data_file = "/home/$account/form_data/${ordernumber}.txt"; $warning_title = "Cannot open ${ordernumber}.txt"; open (DATA, ">$data_file") || (&cannot_open, exit); if ($date_flg == 1) { print DATA "year/month/day\n"; print DATA "$now_year/$now_mon/$now_mday\n"; } foreach $key (sort keys %in) { print DATA "$our{$key}\n"; print DATA "$in{$key}\n"; } } ##################### #発注番号を決定する sub make_number { unless (-e "/home/$account/form_data") { $warning_title = "Cannot mkdir"; mkdir ("/home/$account/form_data" ,0711) || (&cannot_open, exit); } if (-e "/home/$account/form_data/o_number.dat") { $warning_title = "Cannot open o_number.dat"; open (ORDERNO, "/home/$account/form_data/o_number.dat") || (&cannot_open, exit); flock(ORDERNO, 2); local(@o_number) = ; @o_number = sort { $b <=> $a } @o_number; if ($o_number[0] == 0 || $o_number[0] eq "") { $ordernumber = 110001; } else { $ordernumber = $o_number[0] + 1; } close (ORDERNO); $warning_title = "Cannot open o_number.dat"; open (ORDERNO, ">>/home/$account/form_data/o_number.dat") || (&cannot_open, exit); print ORDERNO "$ordernumber\n"; flock(ORDERNO, 8); } else { $ordernumber = 110001; $warning_title = "Cannot open o_number.dat"; open (ORDERNO, ">>/home/$account/form_data/o_number.dat") || (&cannot_open, exit); print ORDERNO "$ordernumber\n"; } } ######################################### #ファイルが開けなかった告知html sub cannot_open { #htmlトップの表示 $type = ""; $title = "Cannot open the file"; &make_top; print "\n"; print "
\n"; print "$warning_title\n"; print "
\n"; #htmlボトムの表示 $make_bottom; } 1;