📄 admin.cgi
字号:
#!/usr/bin/perl
#################################################################
# 【免責事項】 #
# このスクリプトはフリーソフトです。このスクリプトを使用した #
# いかなる損害に対して作者は一切の責任を負いません。 #
# また設置に関する質問はサポート掲示板にお願いいたします。 #
# 直接メールによる質問は一切お受けいたしておりません。 #
#################################################################
require 'jcode.pl';
require './ini_file/index.ini';
require 'suport.pl';
if($MENTE) { &ERR2("错误。"); }
&DECODE;
if(!$ADMIN_SET) { &ERR2("管理员使用。"); }
# ------------ 要先注册下面你设的用户,才可以登录管理。管理用ID PASS設定 -----------
$adminid = "xxxx";
$adminpass = "xxxx00";
# ------------ ここまで -----------
if($mode eq 'CHANGE') { &CHANGE; }
elsif($mode eq 'MENTE') { &MENTE; }
elsif($mode eq 'MENTE2') { &MENTE2; }
elsif($mode eq 'ITEM') { &ITEM; }
elsif($mode eq 'ITEM2') { &ITEM2; }
elsif($mode eq 'ITEM3') { &ITEM3; }
elsif($mode eq 'ITEM4') { &ITEM4; }
elsif($mode eq 'ARM') { &ARM; }
elsif($mode eq 'ARM2') { &ARM2; }
elsif($mode eq 'ARM3') { &ARM3; }
elsif($mode eq 'PRO') { &PRO; }
elsif($mode eq 'PRO2') { &PRO2; }
elsif($mode eq 'PRO3') { &PRO3; }
elsif($mode eq 'ACC') { &ACC; }
elsif($mode eq 'ACC2') { &ACC2; }
elsif($mode eq 'ACC3') { &ACC3; }
elsif($mode eq 'CHANGE2') { &CHANGE2; }
elsif($mode eq 'BBS') { &BBS; }
elsif($mode eq 'BANK') { &BANK; }
elsif($mode eq 'BANK2') { &BANK2; }
elsif($mode eq 'BANK3') { &BANK3; }
elsif($mode eq 'CONT') { &CONT; }
elsif($mode eq 'CON2') { &CON2; }
elsif($mode eq 'CON3') { &CON3; }
elsif($mode eq 'TOW') { &TOW; }
elsif($mode eq 'TOW2') { &TOW2; }
elsif($mode eq 'TOW3') { &TOW3; }
elsif($mode eq 'TOW_DEL') { &TOW_DEL; }
elsif($mode eq 'CON_DEL') { &CON_DEL; }
elsif($mode eq 'DEL') { &DEL; }
elsif($mode eq 'DEL2') { &DEL2; }
elsif($mode eq 'DEL_LIST') { &DEL_LIST; }
elsif($mode eq 'ALL_DEL') { &ALL_DEL; }
elsif($mode eq 'INIT_DATA') { &INIT_DATA; }
else{⊤}
#_/_/_/_/_/_/_/_/_/#
#_/ MAIN画面 _/#
#_/_/_/_/_/_/_/_/_/#
sub TOP {
if($in{'id'} ne "$adminid" || $in{'pass'} ne "$adminpass"){
&ERR2("ID、パスワードエラー $num ");}
&HEADER;
print <<"EOM";
<h2>管理ツール</h2>
<CENTER>
<table width=80% cellspacing=1 border=0 bgcolor=aa0000><TBODY bgcolor=FFFFF8><TR><Th>
<form method="post" action="admin.cgi">
<input type=hidden name=mode value=MENTE>
<input type=hidden name=id value="$in{id}">
<input type=hidden name=pass value="$in{pass}">
<input type=submit value='キャラ編集1'>
<br></form>
</Th><TD>
登録者のデータを編集します。通常はこちらで編集してください。
参加者の数が増えると使えなくなる可\能\性があります。
</TD></TR><TR><Th>
<form method="post" action="admin.cgi">
<input type=hidden name=mode value=MENTE2>
<input type=hidden name=id value="$in{id}">
<input type=hidden name=pass value="$in{pass}">
<input type=submit value='キャラ編集2'>
<br></form>
</Th><TD>
ランキングデータから登録者を編集します。キャラ編集1で編集できない
場合はこちらで編集してください。ランキングデータが更新されていないと
編集できないので参加者に「ランキングの更新」をして貰ってください。
</TD></TR><TR><Th>
<form method="post" action="admin.cgi">
<input type=hidden name=mode value=ITEM>
<input type=hidden name=id value="$in{id}">
<input type=hidden name=pass value="$in{pass}">
<input type=submit value='持ち物データ編集'>
<br></form>
</Th><TD>
持ち物データを編集します。
</TD></TR><TR><Th>
<form method="post" action="admin.cgi">
<input type=hidden name=mode value=ARM>
<input type=hidden name=id value="$in{id}">
<input type=hidden name=pass value="$in{pass}">
<input type=submit value='武器編集'>
<br></form>
</Th><TD>
武器の編集、新規武器の作成
</TD></TR><TR><Th>
<form method="post" action="admin.cgi">
<input type=hidden name=mode value=PRO>
<input type=hidden name=id value="$in{id}">
<input type=hidden name=pass value="$in{pass}">
<input type=submit value='防具編集'>
<br></form>
</Th><TD>
防具の編集、新規防具の作成
</TD></TR><TR><Th>
<form method="post" action="admin.cgi">
<input type=hidden name=mode value=ACC>
<input type=hidden name=id value="$in{id}">
<input type=hidden name=pass value="$in{pass}">
<input type=submit value='アクセサリ編集'>
<br></form>
</TD><TD>
アクセサリの編集、新規アクセサリの作成
</TD></TR><TR><Th>
<form method="post" action="admin.cgi">
<input type=hidden name=mode value=BANK>
<input type=hidden name=id value="$in{id}">
<input type=hidden name=pass value="$in{pass}">
<input type=submit value='銀行編集'>
<br></form>
</Th><TD>
銀行データを編集します。
</TD></TR><TR><Th>
<form method="post" action="admin.cgi">
<input type=hidden name=mode value=CONT>
<input type=hidden name=id value="$in{id}">
<input type=hidden name=pass value="$in{pass}">
<input type=submit value='国データ編集'>
<br></form>
</Th><TD>
国データの編集、新しい国を作成します。
</TD></TR><TR><Th>
<form method="post" action="admin.cgi">
<input type=hidden name=mode value=TOW>
<input type=hidden name=id value="$in{id}">
<input type=hidden name=pass value="$in{pass}">
<input type=submit value='街編集'>
<br></form>
</Th><TD>
街データの作成、新しい街を作成します。
</TD></TD></TR>
<TR><Th>
<form method="post" action="admin.cgi">
<input type=hidden name=mode value=INIT_DATA>
<input type=hidden name=id value="$in{id}">
<input type=hidden name=pass value="$in{pass}">
<input type=submit value='初期化'>
<br></form>
</Th><TD>
すべてのデータを初期化します。
</TD></TD></TR>
</TBODY></TABLE>
<form method="post" action="admin.cgi">
<input type=hidden name=mode value=BBS>
MEMO:<input type=text name=message size=40>
NAME:<input type=text name=name size=10>
<input type=hidden name=id value="$in{id}">
<input type=hidden name=pass value="$in{pass}">
<input type=submit value='メモ'>
<br></form>
<form method="post" action="index.cgi">
</select><input type=submit value='編集を終える'>
<br></form>
裏口入学
<form action="$FILE_STATUS" method="POST"><input type="hidden" name="mode" value="STATUS"><CENTER>
<table border=0 width=100% height=100%>
<TR><TD> <table bgcolor=$TABLE_C align=center border=0>
<TR><TH bgcolor=$TD_C3 height=5 align=center colspan=2>前回の続きから始める</TH></TR>
<TR><TH bgcolor=$TD_C2 height=5>USER ID</TH><td><input type="text" size="10" name="id" value="$_id"></td></TR>
<TR><TH bgcolor=$TD_C2 height=5>PASS WORD</tH><td><input type="password" size="10" name="pass" value="$_pass"></TD></TR>
<TR><td bgcolor=$TD_C1 align=center colspan=2><input type="submit" value="ログイン"></td></tr></table></form>
</TD></TR></TABLE>
</CENTER>
EOM
open(IN,"$ADMIN_BBS");
@A_BBS = <IN>;
close(IN);
print "<center><table width=80% border=0 >@A_BBS</table></center>";
&FOOTER;
exit;
}
#_/_/_/_/_/_/_/_/_/#
#_/ MENTE画面 _/#
#_/_/_/_/_/_/_/_/_/#
sub MENTE {
if($in{'id'} ne "$adminid" || $in{'pass'} ne "$adminpass"){
&ERR2("ID、パスワードエラー $num ");}
$dir="./charalog/main";
opendir(dirlist,"$dir");
$i=0;
while($file = readdir(dirlist)){
if($file =~ /\.cgi/i){
$datames = "検索:$dir/$file<br>\n";
if(!open(page,"$dir/$file")){
$datames .= "$dir/$fileがみつかりません。<br>\n";
return 1;
}
@page = <page>;
close(page);
$list[$i]="$file";
($eid,$epass,$ename,$echara,$estr,$eint,$elea,$echa,$esol,$egat,$econ,$egold,$erice,$ecex,$eclass,$earm,$ebook,$ebank,$esub1,$esub2,$epos,$emes,$ehost,$edate,$email,$eos) = split(/<>/,$page[0]);
if("$in{'serch'}" ne ""){
if("$ename" =~ "$in{'serch'}"){
$human_data[$i]="$ehost<>$ename<>$eid<>";
}else{
next;
}
}else{
if($in{'no'} eq "2"){
$human_data[$i]="$ename<>$ehost<>$eid<>";
}elsif($in{'no'} eq "3"){
$human_data[$i]="$eid<>$ehost<>$ename<>";
}else{
$human_data[$i]="$ehost<>$ename<>$eid<>";
}
}
push(@newlist,"@page<br>");
$i++;
}
}
closedir(dirlist);
@human_data = sort @human_data;
$tt = time - (60 * 60 * 24 * 34);
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday) = localtime($tt);
$year += 1900;
$mon++;
$ww = (Sun,Mon,Tue,Wed,Thu,Fri,Sat)[$wday];
$daytime = sprintf("%4d\/%02d\/%02d\/(%s) %02d:%02d:%02d", $year,$mon,$mday,$ww,$hour,$min,$sec);
&HEADER;
print <<"EOM";
<h2>キャラ管理ツール</h2>
<br>
IDはファイル名と同じになっているので変更しないで下さい。<br>
削除をする時は闘技場、天真に登録していないかを確認してから削除して下さい。<br>
ホスト名は随時更新しています。<br>
<form method="post" action="admin.cgi">
<input type=hidden name=mode value=CHANGE>編集するファイル:
<select name=fileno>
EOM
$i=0;$w_host="";
foreach(@human_data){
if($in{'no'} eq "2"){
($ename,$ehost,$eid) = split(/<>/);
}elsif($in{'no'} eq "3"){
($eid,$ehost,$ename) = split(/<>/);
}else{
($ehost,$ename,$eid) = split(/<>/);
}
print "<option value=$eid\.cgi>$eid $ename $ehost\n";
if($in{'no'} eq "" || $in{'no'} eq "1"){
if($w_host eq "$ehost"){
$mess .= "$ename | $w_name<BR>\n";
}
}
$w_host = "$ehost";
$w_name = "$ename";
$i++;
}
print <<"EOM";
</select><input type=hidden name=id value="$in{id}">
<input type=hidden name=pass value="$in{pass}">
<input type=submit value='編集'>
<br></form>
<form method="post" action="admin.cgi">
<input type=hidden name=id value="$in{id}">
<input type=hidden name=pass value="$in{pass}">
<input type=hidden name=mode value=MENTE>
<br><input type=radio name=no value="1">ホスト名順(<font color=red>2重登録チェック</font>)<br>
<input type=radio name=no value="2">名前順<br>
<input type=radio name=no value="3">ID順<br>
名前検索<input type=text name=serch size=20><br>
<input type=submit value='順変更'>
<br></form>
<h2>ファイル消去</h2>
2重登録者を強制削除します。<BR>
<form method="post" action="admin.cgi">
<input type=hidden name=id value="$in{id}">
<input type=hidden name=pass value="$in{pass}">
<input type=hidden name=mode value=DEL_LIST>
<input type=submit value='削除者リスト'>
<br></form>
2重登録疑惑者<p>
<font color=red>$mess</font>
<form method="post" action="admin.cgi">
<input type=hidden name=id value="$in{id}">
<input type=hidden name=pass value="$in{pass}">
<input type=submit value='TOP'>
<br></form>
EOM
open(IN,"$ADMIN_LIST");
@A_LOG = <IN>;
close(IN);
print "@A_LOG";
&FOOTER;
exit;
}
#_/_/_/_/_/_/_/_/_/_/_/#
#_/ DEL LIST画面 _/#
#_/_/_/_/_/_/_/_/_/_/_/#
sub DEL_LIST {
if($in{'id'} ne "$adminid" || $in{'pass'} ne "$adminpass"){
&ERR2("ID、パスワードエラー $num ");}
$tt = time - (60 * 60 * 24 * 34);
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday) = localtime($tt);
$year += 1900;
$mon++;
$ww = (Sun,Mon,Tue,Wed,Thu,Fri,Sat)[$wday];
$daytime = sprintf("%4d\/%02d\/%02d\/(%s) %02d:%02d:%02d", $year,$mon,$mday,$ww,$hour,$min,$sec);
$dir="./charalog/main";
opendir(dirlist,"$dir");
$i=0;
while($file = readdir(dirlist)){
if($file =~ /\.cgi/i){
$datames = "検索:$dir/$file<br>\n";
if(!open(page,"$dir/$file")){
$datames .= "$dir/$fileがみつかりません。<br>\n";
return 1;
}
@page = <page>;
close(page);
$list[$i]="$file";
($eid,$epass,$ename,$echara,$estr,$eint,$elea,$echa,$esol,$egat,$econ,$egold,$erice,$ecex,$eclass,$earm,$ebook,$ebank,$esub1,$esub2,$epos,$emes,$ehost,$edate,$email,$eos) = split(/<>/,$page[0]);
if($edate < $tt){
$i++;
($sec2,$min2,$hour2,$mday2,$mon2,$year2,$wday2,$yday2) = localtime($edate);
$mon2++;
$last_login = "$mon2月$mday2日$hour2時$min2分";
$LIST .= "<TR><TD>$ename</TD><TD>$eid</TD><TD>$email</TD><TD>$last_login</TD></TR>";
}
}
}
closedir(dirlist);
@human_data = sort @human_data;
$a = "ss";
$dir="./charalog/main";
unlink("$dir/$a\.cgi");
&HEADER;
print <<"EOM";
<h2>キャラ管理ツール</h2>
<br>
<h2>ファイル消去</h2>
<TABLE><TBODY>
<TR><TD>名前</TD><TD>ID</TD><TD>MAIL</TD><TD>最終更新</TD></TR>
$LIST
</TBODY></TABLE>
>>以上の人を削除します。宜しいですか?<BR>
<form method="post" action="admin.cgi">
<input type=hidden name=id value="$in{id}">
<input type=hidden name=pass value="$in{pass}">
<input type=hidden name=mode value=ALL_DEL>
<input type=submit value='削除'>
<br></form>
<form method="post" action="admin.cgi">
<input type=hidden name=id value="$in{id}">
<input type=hidden name=pass value="$in{pass}">
<input type=submit value='戻る'>
<br></form>
EOM
&FOOTER;
exit;
}
#_/_/_/_/_/_/_/_/_/#
#_/ ファイル削除 _/#
#_/_/_/_/_/_/_/_/_/#
sub ALL_DEL {
if($in{'id'} ne "$adminid" || $in{'pass'} ne "$adminpass"){
&ERR("ID、パスワードエラー $num ");}
$tt = time - (60 * 60 * 24 * 34);
$dir="./charalog/main";
opendir(dirlist,"$dir");
$i=0;
while($file = readdir(dirlist)){
if($file =~ /\.cgi/i){
$datames = "検索:$dir/$file<br>\n";
if(!open(page,"$dir/$file")){
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -