#!/usr/bin/perl
# ↑あなたが加入しているプロバイダの「perl」言語が使用できる
# パスを指定します。一般的に「#!/usr/local/bin/perl」で大丈夫
#=======================================================================================
# WhatsNew Version 98.2
#=======================================================================================
#日本語コード変換モジュール
require 'jcode.pl';
#---------------------------------------
#メッセージを格納するデータベースファイル
$datafile = 'whatsnew.txt';
#---------------------------------------
#バックグランドの画像ファイル
$bg_gif = '';
#---------------------------------------
#区切り線 画像を使用しない場合は''にする
$line_gif = '';
#---------------------------------------
#ワンポイント画像
$point_gif = 'image/bg_02.gif';
#---------------------------------------
#管理者削除モードのパスワード
$password = 'g-babyg';
#---------------------------------------
#掲示板の名前
$title = 'Baby-G早耳ニュース';
#---------------------------------------
#バックグランドカラー
$bg_color = '#ccffcc';
#テキストの文字色
$text_color = 'green';
#リンク文字色
$link_color = '#66CCFF';
#Vリンク文字色
$vlink_color = '#66CCFF';
#Aリンク文字色
$alink_color = '#66CCFF';
#題名の文字色
$subject_color = '#66CCFF';
#---------------------------------------
#保存する更新履歴(極端に多くするとパフォーマンスが低下します)
$max = 100;
#---------------------------------------
#1ページに表示する件数
$pagevew = 20;
#---------------------------------------
#タグの使用 'yes' / 'no'
$tag = 'no';
#---------------------------------------
#管理者登録用ボタンの表示 'yes' / 'no'
$mntbutton = 'yes';
#---------------------------------------
#
タグは自動で付けられるのでそれ以降のヘッダー部
$title_html = <<"TITLE_HTML_END";
TITLE_HTML_END
#=======================================================================================
# 初期設定が必要なのはここまでです。
#=======================================================================================
#日付と時刻を取得して、すべて2桁に統一する
$ENV{'TZ'} = "JST-9";
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$year = sprintf("%02d",$year + 1900);
$month = sprintf("%02d",$mon + 1);
$mday = sprintf("%02d",$mday);
$hour = sprintf("%02d",$hour);
$min = sprintf("%02d",$min);
$sec = sprintf("%02d",$sec);
#日付時刻のフォーマットを整えます
$youbi = ('日','月','火','水','木','金','土') [$wday];
$date_now = "$year年$month月$mday日($youbi)";
$agent = $ENV{'HTTP_USER_AGENT'};
$textwidth = 80;
if ($agent =~ /MSIE\ 3/i) { $textwidth = $textwidth * 1.5; }
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $formdata, $ENV{'CONTENT_LENGTH'});
} else { $formdata = $ENV{'QUERY_STRING'}; }
@pairs = split(/&/,$formdata);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
if ($tag eq 'no') {
$value =~ s/</g;
$value =~ s/>/>/g;
}
$value =~ s/\n//g;
$value =~ s/\,/,/g;
&jcode'convert(*value,'sjis');
$FORM{$name} = $value;
}
if (!open(NOTE,"$datafile")) { &error(bad_file); }
@DATA = ;
close(NOTE);
#押されたボタンや、呼び出しに対しての分岐
if ($FORM{'action'} eq 'regist') { ®ist; &edit_html; }
elsif ($FORM{'action'} eq 'regist' && $FORM{'button'} eq '削除') { &delete; &edit_html; }
elsif ($FORM{'action'} eq 'edit' && $FORM{'password'} eq $password) { &edit_html; }
else { &html; }
#=======================================================================================
sub html_head {
print "Content-type: text/html\n\n";
print "" . $title . "\n";
print "\n";
print "$title_html\n";
}
#=======================================================================================
sub comment_form {
print "\n";
}
#=======================================================================================
sub html {
&html_head;
print "\n";
print "\n";
&listvew;
print "
\n";
print "\n";
print "\n";
exit;
}
#=======================================================================================
sub edit_html {
&html_head;
print "\n";
if ($FORM{'code'} < 1) {
$date = $date_now; $msg = ''; $url = '';
$subject = ''; $gif = '';
} else {
foreach $line (@DATA) {
($date,$code,$subject,$gif,$url,$msg) = split(/\,/,$line);
if ($FORM{'code'} == $code) { last; }
}
}
&comment_form;
&listvew;
print "\n";
print "