#!/usr/bin/perl
##=====================================
## 初期設定
##=====================================
# 管理用パスワード
$password = '4649';
# 新着情報のページ
$page = 'news.shtml';
# データファイル
$datafile = 'news.txt';
# ロックディレクトリ
$lock_dir = './lock/';
##=====================================
## サブルーチン
##=====================================
require './jcode.pl';
require './stdio.pl';
require './sub.pl';
#**********************************************************************************************************************
# ↓ ここから下を修正した場合にはサポート対象外になります。ご注意ください ↓
#**********************************************************************************************************************
##=====================================
## データを取得(ハッシュに格納)
##=====================================
%param = ();
@keys = stdio::getFormData(\%param, "", "SJIS", ";");
#************************************************************************************************** モード (なし)
if(!$param{'mode'}){
##=====================================
## データファイルをオープン
##=====================================
@datafile = &fileopen($datafile);
$newsfile = join "", @datafile;
$newsfile =~ s/
//g;
stdio::trString(\$newsfile, "1");
##=====================================
## HTML出力
##=====================================
print <<"EOF";
Content-type: text/html
新着情報
※タグも使えます。
※<br> のタグは入力の必要がありません。テキストエリア内で改行すると <br> が自動で入ります。
※< > の閉じ忘れに注意してください。
EOF
exit;
} # モード (指定なし) ここまで
#************************************************************************************************** モード (regist)
elsif($param{'mode'} eq 'regist'){
##=====================================
## パスワードのチェック
##=====================================
if(!$param{'password'}){ &error('エラー','パスワードを入力してください。'); }
if($param{'password'} ne $password){ &error('エラー','パスワード認証に失敗しました。'); }
##=====================================
## 改行を
に変換
##=====================================
$dic = qq|
|;
$param{'news'} =~ s/\n/
\n/g;
if($param{'news'} =~ /DIC-Studio/){ ; }
else{ $param{'news'} .= $dic; }
##=====================================
## 予約データを書き込み
##=====================================
if(stdio::lockCheck($lock_dir)){ stdio::lock($lock_dir); }
else{ &error('エラー','只今込み合っております。
少し時間をおいてアクセスしてください。'); }
if(!open(OUT,">$datafile")){ stdio::unlock($lock_dir); &error('システムエラー','データファイルを書き込みオープンできませんでした。'); }
print OUT $param{'news'};
close(OUT);
stdio::unlock($lock_dir);
##=====================================
## HTML出力
##=====================================
print <<"EOF";
Content-type: text/html
新着情報
EOF
exit;
} # モード (regist) ここまで