#! /usr/local/bin/perl # # STRANGE UPLOADER 2002年12月23日版 # $::COPYRIGHT = 'STRANGE UPLOADER (2002-12-23)'; # # # 初期設定はupload.initにあります。 # # # 【ファイル構成例】パーミッションは所有者権限でCGIが動く場合 # # [cgi-bin] (701) / # | # |-- upload.cgi (700) # |-- upload.init (600) # |-- style.css (644) # |-- styleselector.js (644) # |-- PaintBBS.jar (644) (お絵描き機能使用時のみ) # |-- palette.js (644) (お絵描き機能使用時のみ) # |-- shiihelp.html (644) (お絵描き機能使用時のみ) # | # +-- [lib] (700) / # | | # | |-- multipart.pl (600) # | |-- getpic.pl (600) (お絵描き機能使用時のみ) # | |-- imagesize.pl (600) (お絵描き機能使用時のみ) # | |-- jcode.pl (600) # | # +-- [data] (700) / # | | # | |-- upload.log (600) # | |-- admin.passwd (600) # | |-- count.file (600) (必要に応じて) # | |-- renzoku.file (600) (必要に応じて) # | |-- deny.file (600) (必要に応じて) # | # +-- [stored] (701) / # # ・掲示板初回起動時は管理者パスワード登録画面になります。 # ・サーバを移転した時には「admin.passwd」を一端クリアしてください。 # # ################################################## # jcode.plなどのライブラリを別ディレクトリに置きたい時はここで指定 use lib './lib'; #use strict; #our ($TITLE, $CGIURL, $BASE_URL, $LOG_FILE, $STORE_DIR, $STORE_URL, $INFORMATION, $LINK_BAR, $BANNER, @STYLESHEET, $BODY, # $PREFIX, $DEF_EXT, $LOCAL_FILENAME_SW, $MAX_UPLOAD_SIZE, $DISK_SPACE_MAX, # $LOGSAVE, $MSGDISP, $IMAGEDISP, $MAX_COMMENT_SIZE, $MIN_UPLOAD_SIZE, # $AUTOLINK, $COUNTFILE, $ADMINPASSWD, # $IP_REC, $UA_REC, $RENZOKU_FILE, $RENZOKU_TIME, $ACCESS_CONTROL, @EXCEPT_REFERER, $HTML_EXT, # $MAKE_INDEX_SW, $INDEX_FILEPATH, $OEKAKI_SW, $OEKAKI_MAX_SIZE, $OEKAKI_DEF_SIZE, $OEKAKI_ANIMATION, %APPLET_PARAMS, # $TMPDIR, %MIMETYPE, $MAX_FILENAME_SIZE, $MAX_PAGE_INDEX, $COOKIE_NAME, $MOJIBAKE_TAISAKU, $TEXT_BANNER, # %Form, %Cookie, @UploadFiles, @PictureFiles); # 設定を読み込む do './upload.init'; &cgidie('設定項目の記述に誤りがあります。', $@) if ($@); $STORE_DIR =~ s|/$||; $STORE_URL .= '/' unless ($STORE_URL =~ m|[\?\/]$|); #gw.cgi?filename が使えるように $BASE_URL =~ s|/$||; $TMPDIR =~ s|/$||; $SIG{__DIE__} = \&cgidie; ################################################## # HTML上部下部 my $HeaderPrinted = 0; sub print_header { my ($title, $is_indexpage) = @_; if (!$is_indexpage) { return if ($HeaderPrinted++); } $title = $title ? $TITLE.' - '.$title : $TITLE; $title =~ s/<.*?>//g; my $stylesheet = ''; my $cssselector = ''; if (@STYLESHEET > 2) { for (my $i = 0; $i < @STYLESHEET; $i +=2) { my $rel = $i == 0 ? 'stylesheet' : 'alternate stylesheet'; $stylesheet .= qq|\n|; } $stylesheet .= qq||; $cssselector = qq||; } else { $stylesheet = qq||; } if (!$is_indexpage) { print <<_EOF; Content-Type: text/html; charset=Shift_JIS Content-Language: ja Cache-Control: no-store, must-revalidate Pragma: no-cache _EOF } print <<_EOF;
$stylesheet| $title |