#/usr/bin/perl
#------------------------------------------
# FFXI Member Registration System Admin
# Version 0.5c3(04/08/26)
# script by seno 2002-2004
# webmaster@senobeya.com
# 著作権表示は消すなとかしょうもないことは
# 言わないのですヨ。好きにしてよし!
#------------------------------------------
#設定類
# $lockdir=""; とすることで、ファイルロックをしません。
# ただしデータ消滅の危険度は飛躍的に高くなります。
# バックアップを取るなどの対応をしてください。
$lockdir="lock";
#バージョン番号。いじらないでネ。改造した場合は適当にどうぞ。
$version="Version 0.5c3";
#このスクリプトのなまえ。ファイル名を変更したときはここも変更してください。
$script="guildmember.cgi";
$script2="admin.cgi";
#設定ファイル読み出し
require "setup.cgi";
#日本語らいぶらり
require './jcode.pl';
#
# MAIN ROUTINE
#
&form_read;
if($function eq "login"){
&login;
}
elsif($function eq "regist") {
®ist;
}
elsif($function eq "login2") {
&login2;
}
elsif($function eq "regist2") {
®ist2;
} else {
&entrance;
}
&footer;
#
# SUB ROUTINE
#
#
#入り口。
#
sub entrance{
&header;
if($language ne "English"){
print <<"EOM";
管理モードへのパスワードを入力してください。
\n"; } else { print "Push back button for former page.
\n"; } &footer; exit; } sub dirlock { if($dirlock eq ""){return;} if((-M $lockdir)>0.001){ #1分半ほどlockdirが存在している場合は強制的に削除 rmdir($lockdir); } for ($i = 0; $i <= 20; $i++) { if (mkdir($lockdir, 0755)) { last; } else { sleep(1); } } $SIG{'TERM'} = $SIG{'PIPE'} = $SIG{'HUP'} = "sigexit"; if($i == 20){&error_message('busy','処理が混雑しています');} } sub sigexit { rmdir($lockdir); exit(1); } sub login2{ if($pass ne $master_pass){ &header; &error_message('pass error','access failed.'); } &header; if($registed eq "yes"){ if($language ne "English"){ print "設定ファイルを書き換えました。"; } else { print "Configuration file modified."; } } srand(); $xx = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" . "abcdefghijklmnopqrstuvwxyz" . "0123456789."; $salt = substr($xx, int(rand(63)), 1); $salt .= substr($xx, int(rand(63)), 1); $salt .= substr($xx, int(rand(63)), 1); $salt .= substr($xx, int(rand(63)), 1); if($language ne "English"){ print "