#!/usr/bin/perl
# ======== end ========================
$prgname = "cg_0230";
$manager = 'fuji21@fuji21.com';
# ---- ブラウザー表示設定(参考:デバッグ用)----
#print "Content-type: text/html\n\n";
# ---- 共用プログラム ----
require 'cg_00io30.pl';
require 'cg_00st30.pl';
&st_dateform;
$io_lockfile = "../../basiccgi30/cntrl/cg_00lock30.txt";
#****** データ受信・デコード ******
#print "DEBUG 03
\n";
&io_decode;
$len = $ENV{'CONTENT_LENGTH'};
if($len>50000){
$errref="操作エラー、cg_0230";
$errmsg="送信ファイルの合計容量が限度(50KB)を超えています。\n";
&io_errexit($errmsg,$errref2,$manager);
}
#print "DEBUG 04 受信内容
$g_str
\n";
# ======== 単数選択項目(各NAME)のハッシュ変数を通常の変数に変換 ========
$work = $cgi{'work'};
$dspmsg = $cgi{'dspmsg'};
$errmsg = $cgi{'errmsg'};
$errref = $cgi{'errref'};
$mailto = $cgi{'mailto'};
$mailfrom = $cgi{'mailfrom'};
$mailsbjct = $cgi{'mailsbjct'};
$mailmsg = $cgi{'mailmsg'};
$file1 = $cgi{'file1'};
$dirs1 = $cgi{'dirs1'};
#****** プログラム本体 ******
#print "DEBUG 02 操作コード(work):$work
\n";
#print "DEBUG 03 受信内容(g_str):
$g_str
\n";
if($work eq "dspexit"){
&io_dspexit($dspmsg);
}
elsif($work eq "textexit"){
&io_textexit($dspmsg);
}
elsif($work eq "mailtext"){
&io_mailtext($mailfrom,$mailto,$mailsbjct,$mailmsg);
$dspmsg = "TEXT メール発信(宛先および依頼者双方に)いたしました。";
&io_dspexit($dspmsg);
}
elsif($work eq "mailhtml"){
&io_mailhtml($mailfrom,$mailto,$mailsbjct,$mailmsg);
$dspmsg = "HTML メール発信(宛先および依頼者双方に)いたしました。";
&io_dspexit($dspmsg);
}
elsif($work eq "errexit"){
&io_errexit($errmsg,$errref,$manager);
}
elsif($work eq "fileread"){
$size = &io_fileread("",$file1,"err");
$dspmsg = "ファイル読取結果:\n\n";
if($size =~ m/Error/){$dspmsg = $size;}
else{
for($i=0;$i<$size;$i++){
$dspmsg=$dspmsg.$f2_LINES[$i];
}
}
&io_dspexit($dspmsg);
}
elsif($work eq "filewrite" || $work eq "fileoverwr" || $work eq "filenewcr" || $work eq "filenewcr" || $work eq "fileadd"){
$dspmsg =~ s/\n/
/g;
$f1_LINES[0]=$dspmsg;
print "DEBUG 51 - $work - $f1_LINES[0]
\n";
if($work eq "filewrite"){$size = &io_filewrite("",$file1,"err");}
elsif($work eq "fileoverwr"){$size = &io_fileoverwr("",$file1,"err");}
elsif($work eq "filenewcr"){$size = &io_filenewcr("",$file1,"err");}
elsif($work eq "fileadd"){$size = &io_fileadd("",$file1,"err");}
$dspmsg = "ファイル書込結果:\n\n";
if($size =~ m/Error/){$dspmsg = $size;}
else{
$size = &io_fileread("",$file1,"err");
if($size =~ m/Error/){$dspmsg = $size;}
else{
for($i=0;$i<$size;$i++){
$dspmsg=$dspmsg.$f2_LINES[$i];
}
}
}
&io_dspexit($dspmsg);
}
elsif($work eq "upfile"){
$upfilelist[0] = $file1;
&io_upfile(@upfilelist);
$dspmsg = "ファイルアップロード結果:\n\n";
$dspmsg = "".$file1."";
&io_dspexit($dspmsg);
}
elsif($work eq "lockup"){
#print "DEBUG 80 - $work - $lock_file
\n";
$dsp_msg = "";
$lockstatus = &io_lockup($io_lockfile,"");
#print "DEBUG 81 - $work - $lock_status
\n";
if($lockstatus != m/Error/){
$dspmsg = "ロックの結果:\n\n".$lockstatus."\n";
}
else{
$dspmsg = "ロックの結果:\n\n".$lockstatus."\n";
}
&io_dspexit($dspmsg);
}
elsif($work eq "unlock"){
#print "DEBUG08 $work - $lock_file
\n";
$lockstatus=&io_unlock($io_lockfile,"");
if($lockstatus != m/Error/){
$dspmsg = "アンロックの結果:\n\n".$lockstatus."\n";
}
else{
$dspmsg = "アンロックの結果:\n\n".$lockstatus."\n";
}
&io_dspexit($dspmsg);
}
elsif($work eq "locktest"){
$lockstatus=&io_lockup($io_lockfile,"");
$dspmsg = "ロックの結果:\n\n".$lockstatus."\n";
if($lockstatus != m/Error/){
$dspmsg = $dsp_msg."ロックされていないので、ここで目的操作は実行されます。\n";
$lockstatus = &io_&unlock($io_lockfile);
$dspmsg = $dspmsg."アンロックの結果:\n\n".$lockstatus."\n";
# 120
}
&io_dspexit($dspmsg);
}
elsif($work eq "dirslistdsp"){
$dirslist[0]=$dirs1;
#print "DEBUG 15 - $work - @dirslist
\n";
&io_dirslistdsp(@dirslist);
exit;
}
elsif($work eq "filedsp"){
#print "DEBUG 16 - $work - $file1
\n";
&io_filedsp($file1);
exit;
}
elsif($work eq "imgdsp"){
&io_imgdsp($file1);
exit;
}
else{
$errref = "プログラムエラー - cg_0230 - $work";
$errmsg = "Error - データの受信に問題がありました。\n申\訳ございませんが、再度ご試行ください。\n受信内容:".$g_str."\n";
&io_errexit($errmsg,$errref,$manager);
}
exit;