#!/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 CGI::Carp qw(fatalsToBrowser); use File::Basename; use Time::Local; 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/hajime/diary', '/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; #アップロード画像URL $UPImgURL = $ImgURL . '/upimg'; #アップロード画像一時URL $UPImgTmpURL = $ImgURL . '/upimgtmp'; #画像DIR $ImgDIR = $BaseDir . 'html/img/' . $CGIUserName . '/' . $CGICategName; #アップロード画像DIR $UPImgDIR = $ImgDIR . '/upimg'; #アップロード画像一時DIR $UPImgTmpDIR = $ImgDIR . '/upimgtmp'; #画像横最大サイズ $ImgMX=400; #画像縦最大サイズ $ImgMY=300; #New画像 $NewIMGF=''; if($KFLAG == 2){ $IconCGIParams[0] = $CgiURL; $IconCGIParams[1] = $CGITitle; $IconCGIParams[2] = $ImgDIR; $IconCGIParams[3] = $ImgURL; $IconCGIParams[4] = '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; } #データファイルディレクトリトップ $DataDir=$BaseDir . 'data/'; #CGIデータファイルディレクトリ $DDataDir=$DataDir . $CGIUserName . '/' . $CGICategName . '/'; #データファイル $DataFile=$DDataDir . 'log.txt'; #一般用表示タイトルのみからのターゲット $DiaryTarget='diary'; #Newマークをつける期間(日) $NewDays = 7; $NewDays = $NewDays * 24 * 3600; #$NewDays = 300; #1ページに表示する件数 $MaxShowSize=1; #保存する最大件数 $MaxLogSize=500; #ロックタイムアウト値 $SigTimeOut = 5; #テストモード $TestMode = 0; if($TestMode){ $NewDays = 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 '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 'acheckdeldata'){ ################### # 本人削除確認 ################### 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 'sshow'){ ################### # スタッフ用表示 ################### require 'DiaryStaff.pl' if($KFLAG == 2); &SShowData; }elsif($action eq 'scheckwritenew'){ ################### # スタッフ書き込み確認 ################### require 'DiaryStaff.pl' if($KFLAG == 2); &SCheckNew; }elsif($action eq 'sgowritenew'){ ################### # スタッフ書き込み実行 ################### require 'DiaryStaff.pl' if($KFLAG == 2); &SGoWriteNew; }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 'scheckdeldata'){ ################### # スタッフ削除確認 ################### require 'DiaryStaff.pl' if($KFLAG == 2); &SCheckDeleteData; }elsif($action eq 'sgodeletedata'){ ################### # スタッフ削除実行 ################### require 'DiaryStaff.pl' if($KFLAG == 2); &SGoDeleteData; }elsif($action eq 'show'){ ################### # 一般用表示 ################### require 'DiaryUser.pl' if($KFLAG == 3); &ShowData; }elsif($action eq 'show_list'){ ################### # 一般用表示タイトルのみ ################### require 'DiaryUser.pl' if($KFLAG == 3); &ShowDataList; }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