#!/usr/local/bin/perl
###################################################
#memo.cgi メモ書きプログラム
# 2001.09.10 MARCO
# edit 2002.05.09 MARCO
#
# パーミッション
# memo.cgi(755)
# $file(666)
###################################################
require 'jcode.pl';
############ 設定項目 ##############
#メモファイル名(パーミッションを666で設定)
$file='memo.txt';
#戻るページ
$return_page='../../cgitop.html';
#ページタイトル
$page_title='メモ帳';
#背景GIF
$bg_gif='kumo.gif';
#ページ背景色
$page_bgcolor='#ffffff';
#タイトル文字色
$title_color='#003366';
#ページ文字色
$page_txtcolor='#664400';
#テーブル背景色
$tbl_bgcolor1='#aaffbb';
$tbl_bgcolor2='#eeeeee';
#削除キー
$del_key='123';
######################################
#日付と時間を取得
($sec,$min,$hour,$mday,$mon,$year,$wday)=localtime();
#日付時刻のフォーマットを整える
$mon++;
$year += 1900;
$DATE = "$year年$mon月$mday日 $hour時$min分";
#HTML作成
print "Content-type: text/html\n\n";
print "<HTML>\n<HEAD>\n";
print "<meta http-equiv=\"Content-Type\"
content=\"text/html;charset=x-sjis\">\n";
print "<TITLE>$page_title</TITLE>\n";
print "</HEAD>\n<BODY bgcolor=$page_bgcolor text=$page_txtcolor
background=$bg_gif>\n";
print "<a href=$return_page>戻る</a>\n";
print "<center><font size=5
color=$title_color><b>$page_title</b></font></center>\n";
#入力フォームの表示
print "<FORM ACTION=memo.cgi METHOD=POST>\n";
print "<CENTER><TABLE width=80% bgcolor=$tbl_bgcolor1>\n";
print "<TR><TD>入力画面</TD></TR>\n";
print "<TR><TD>名 前</TD><TD><input type=text
name=FLD01 size=20></TD></TR>\n";
print "<TR><TD>タイトル</TD><TD><input type=text
name=FLD02 size=50></TD></TR>\n";
print "<TR><TD>コメント</TD><TD><textarea name=FLD03
rows=5 cols=70></textarea></TD></TR>\n";
print "<TR><TD>区 分</TD><TD><input type=radio
name=STATUS value=INS checked>追加\n";
print "<input type=radio name=STATUS value=DEL>削除\n";
print "(キー<input type=text name=DELKEY
size=4>)</TD></TR>\n";
print "<TR><TD>削除対象№</TD><TD><input type=text
name=LINNO size=4></TD></TR>";
print "<TR><TD><input type=submit value=\"登録\"><input
type=reset value=\"取消\">\n";
print "</TD></TR></TABLE></CENTER></FORM>\n";
#入力データを獲得
use CGI;
$form=CGI->new();
$idt1=$form->param("FLD01");
$idt2=$form->param("FLD02");
$idt3=$form->param("FLD03");
$sts=$form->param("STATUS");
$lno=$form->param("LINNO");
$dky=$form->param("DELKEY");
#入力チェック
if(($sts eq 'INS' && $idt1 ne '') || ($sts eq 'DEL' && $dky eq
$del_key)){
#一旦全データを読み込む
open(NOTE,"$file");
$no=0;
while(<NOTE>){
@DT{$no}=$_;
$no++;
}
close(NOTE);
open(NOTE,">$file");
if($sts eq 'INS'){
input_data();
}
$no=0;
while($DT{$no}){
#追加の処理
if($sts eq 'INS'){
print NOTE $DT{$no}
}
#削除の処理
if($sts eq 'DEL'){
if($lno != $no+1){
print NOTE $DT{$no}
}
}
$no++;
}
}
close(NOTE);
sub input_data{
&jcode'convert(*idt1,"sjis");
&jcode'convert(*idt2,"sjis");
&jcode'convert(*idt3,"sjis");
print NOTE "$DATE\t";
print NOTE "$idt1\t";
print NOTE "$idt2\t";
#改行文字の置き換え
$idt3=~s/\r\n/<br>/ig;
print NOTE "$idt3\n";
}
#ファイルを読み込んで出力
open(NOTE,"<$file");
@DATA=<NOTE>;
close(NOTE);
$no=1;
print "<CENTER><TABLE border=1 bgcolor=$tbl_bgcolor1
width=80%>\n";
foreach(@DATA){
($DATE,$dt1,$dt2,$dt3)=split(/\t/,$_);
print "<TR><TD>\n";
print "<font size=1>No.[$no]</font>\n";
print "<font size=3
color=$title_color><b>$dt2</b></font>\n";
print "<TABLE border=0 bgcolor=$tbl_bgcolor2>\n";
print "<TR>";
print "<TD>"; print $dt3; print
"</TD></TR></TABLE>\n";
print "<font size=2>$DATE</font> From
<b>$dt1さん</b></TD></TR>\n";
$no++;
}
print "</TABLE></CENTER>\n";
print "</BODY>\n</HTML>\n";