#!/usr/local/bin/perl ############################################################## # Created by (有)キャットウオーク # Created on 2002年09月20日 # 社長日記管理CGI Rev.1.0.0.0 # このCGIに対するお問い合わせは、 # 萩原:hagi@web-kyoto.com # 津田:taka@web-kyoto.com # 宛に願います。 # 再配布厳禁 ############################################################## $|=1; #モジュール読み込みです use CGI qw/:standard/; use File::Basename; use Jcode; use lib ('/usr/home/e3002002/perllib/lib/perl5/site_perl/5.8.8/mach/','/usr/home/e3002002/perllib/lib/perl5/site_perl/5.8.8/','/usr/home/e3002002/data/president/gian', '/usr/home/e3002002/data', '/usr/home/e3002002/data/i386-freebsd'); use CATWALKPM; require 'GetSystemURI.pl'; &GetSystemURI; ################# # 初期設定 ################# #このCGIのタイトル $CGITitle='社長日記'; #メニューページ if($KFLAG == 1){ $MenuURL = '/cgifiles/staff/'; }else{ $MenuURL = '/cgifiles/staff/'; } #画像URL $ImgURL = $BaseURL . 'img/' . $CGIUserName . '/' . $CGICategName; #社長の顔画像 $SAdminIMGF=''; #管理者の顔画像 $AdminIMGF=''; #タイトル画像 $TitleIMGF=''; #New画像 $NewIMGF=''; #データファイルディレクトリトップ $DataDir=$BaseDir . 'data/'; #画像ファイルディレクトリ $ImgDir = $BaseDir . 'img/' . $CGIUserName . '/' . $CGICategName; if($KFLAG == 2){ $IconCGIParams[0] = $CgiURL; $IconCGIParams[1] = $CGITitle; $IconCGIParams[2] = $ImgDIR; $IconCGIParams[3] = $ImgURL; $IconCGIParams[4] = 'sadmin.gif'; $IconCGIParams[5] = 'admin.gif'; $IconCGIParams[6] = 'new.gif'; foreach $IconCGIParam (@IconCGIParams){ $IconCGIParam =~ s/(\W)/sprintf("%%%02X", unpack("C", $1))/eg; push @admy,$IconCGIParam; } @IconCGIParams = @admy; #アイコン変更CGIURL $IconCGIURL = '../../iconadmin.cgi'; #アイコン変更CGIパラメータ $IconCGIParam = <<"EOL"; EOL undef @admy; undef @IconCGIParams; } #CGIデータファイルディレクトリ $DDataDir=$DataDir . $CGIUserName . '/' . $CGICategName . '/'; #データファイル $DataFile=$DDataDir . 'log.txt'; #IPデータファイル $IPDataFile=$DDataDir . 'ip.txt'; #マスターIPデータファイル $MIPDataFile=$DataDir . 'mip.txt'; #Newマークをつける期間(日) $NewDays = 7; $NewDays = $NewDays * 24 * 3600; #$NewDays = 300; #同一IPからの書き込みを拒否する時間(秒) $IPSMIN = 60 * 15; #$IPSMIN = 300; #1ページに表示する件数 $MaxShowSize=20; #保存する最大件数 $MaxLogSize=500; #ロックタイムアウト値 $SigTimeOut = 5; #テストモード $TestMode = 0; if($TestMode){ $NewDays = 180; $IPSMIN = 180; $MaxShowSize=2; } ################# # 初期設定 ################# if(param('action')){ $action = param('action'); }else{ if($KFLAG == 1){ $action = 'ashow'; #社長用データ表示 }elsif($KFLAG == 2){ $action = 'sshow'; #staff用データ表示 }else{ $action = 'show'; #一般用データ表示 } } if($action eq 'ashow'){ ################### # 社長用表示 ################### require 'DiaryAdmin.pl' if($KFLAG == 1 || $KFLAG == 2); &AShowData; }elsif($action eq 'acheckwritenew'){ ################### # 社長書き込み確認 ################### require 'DiaryAdmin.pl' if($KFLAG == 1 || $KFLAG == 2); &ACheckNew; }elsif($action eq 'agowritenew'){ ################### # 社長書き込み実行 ################### require 'DiaryAdmin.pl' if($KFLAG == 1 || $KFLAG == 2); &AGoWriteNew; }elsif($action eq 'acheckdelorshowusermess'){ ################### # 社長ユーザー書き込み削除・表示・非表示確認 ################### require 'DiaryAdmin.pl' if($KFLAG == 1 || $KFLAG == 2); &ACheckDelORShowUsermess; }elsif($action eq 'agodelorshowusermess'){ ################### # 社長ユーザー書き込み削除・表示・非表示実行 ################### require 'DiaryAdmin.pl' if($KFLAG == 1 || $KFLAG == 2); &AGoDelORShowUsermess; }elsif($action eq 'aeditdata'){ ################### # 社長編集画面 ################### require 'DiaryAdmin.pl' if($KFLAG == 1 || $KFLAG == 2); &AShowEditForm; }elsif($action eq 'acheckeditdata'){ ################### # 社長編集確認 ################### require 'DiaryAdmin.pl' if($KFLAG == 1 || $KFLAG == 2); &ACheckEditData; }elsif($action eq 'agoeditdata'){ ################### # 社長編集実行 ################### require 'DiaryAdmin.pl' if($KFLAG == 1 || $KFLAG == 2); &AGoEditData; }elsif($action eq 'acheckdeletedata'){ ################### # 社長削除確認 ################### require 'DiaryAdmin.pl' if($KFLAG == 1 || $KFLAG == 2); &ACheckDeleteData; }elsif($action eq 'agodeletedata'){ ################### # 社長削除実行 ################### require 'DiaryAdmin.pl' if($KFLAG == 1 || $KFLAG == 2); &AGoDeleteData; }elsif($action eq 'acheckcwritenew'){ ################### # 社長コメント書き込み確認 ################### require 'DiaryAdmin.pl' if($KFLAG == 1 || $KFLAG == 2); &ACCheckNew; }elsif($action eq 'agocwritenew'){ ################### # 社長コメント書き込み実行 ################### require 'DiaryAdmin.pl' if($KFLAG == 1 || $KFLAG == 2); &AGoCWriteNew; }elsif($action eq 'sshow'){ ################### # スタッフ用表示 ################### require 'DiaryStaff.pl' if($KFLAG == 2); &SShowData; }elsif($action eq 'scheckdelorshowusermess'){ ################### # スタッフユーザー書き込み削除・表示・非表示確認 ################### require 'DiaryStaff.pl' if($KFLAG == 2); &SCheckDelORShowUsermess; }elsif($action eq 'sgodelorshowusermess'){ ################### # スタッフユーザー書き込み削除・表示・非表示実行 ################### require 'DiaryStaff.pl' if($KFLAG == 2); &SGoDelORShowUsermess; }elsif($action eq 'seditdata'){ ################### # スタッフ編集画面 ################### require 'DiaryStaff.pl' if($KFLAG == 2); &SShowEditForm; }elsif($action eq 'scheckeditdata'){ ################### # スタッフ編集確認 ################### require 'DiaryStaff.pl' if($KFLAG == 2); &SCheckEditData; }elsif($action eq 'sgoeditdata'){ ################### # スタッフ編集実行 ################### require 'DiaryStaff.pl' if($KFLAG == 2); &SGoEditData; }elsif($action eq 'scheckdeletedata'){ ################### # スタッフ削除確認 ################### require 'DiaryStaff.pl' if($KFLAG == 2); &SCheckDeleteData; }elsif($action eq 'sgodeletedata'){ ################### # スタッフ削除実行 ################### require 'DiaryStaff.pl' if($KFLAG == 2); &SGoDeleteData; }elsif($action eq 'scheckcwritenew'){ ################### # スタッフコメント書き込み確認 ################### require 'DiaryStaff.pl' if($KFLAG == 2); &SCCheckNew; }elsif($action eq 'sgocwritenew'){ ################### # スタッフコメント書き込み実行 ################### require 'DiaryStaff.pl' if($KFLAG == 2); &SGoCWriteNew; }elsif($action eq 'show'){ ################### # 一般用表示 ################### require 'DiaryUser.pl' if($KFLAG == 3); &ShowData; }elsif($action eq 'checkwritenew'){ ################### # 一般書き込み確認 ################### require 'DiaryUser.pl' if($KFLAG == 3); &CheckNew; }elsif($action eq 'gowritenew'){ ################### # 一般書き込み実行 ################### require 'DiaryUser.pl' if($KFLAG == 3); &GoWriteNew; }else{ &error(5000,'予期せぬエラー'); } exit; ############################## # エラー ############################## sub error { my($num,$word,$lflag)=@_; if($lflag){ $CW->FileULock(); } $HTML = <<"EOL"; Content-type: text/html; charset=Shift_JIS
Error!
$word
Error No:$num