1 |
wakaba |
1.1 |
#!/usr/local/bin/perl |
2 |
|
|
|
3 |
|
|
### kanri.cgi ver 2.03 (2001/08/03) |
4 |
|
|
# ----------------------------------------------------------- |
5 |
|
|
$ver="ver 2.03 (2001/08/03)"; |
6 |
|
|
|
7 |
|
|
$script = "./kanri.cgi"; |
8 |
|
|
|
9 |
|
|
# パスワード作成に使用したsalt |
10 |
|
|
$salt = "z8"; |
11 |
|
|
# 暗号化した管理パスを入れたファイル |
12 |
|
|
$pass_file = "./password.cgi"; |
13 |
|
|
# 設定ファイル名称 |
14 |
|
|
$SETTINGFILE="/SETTING.TXT"; |
15 |
|
|
|
16 |
|
|
$USERURL="../../"; |
17 |
|
|
$NOWTIME=time(); |
18 |
|
|
|
19 |
|
|
$p_dir = 0777; |
20 |
|
|
$p_txt = 0644; |
21 |
|
|
|
22 |
|
|
# 保存するデータキーいちらん |
23 |
|
|
@SAVEKEY = ( |
24 |
|
|
"BBS_TITLE", |
25 |
|
|
"BBS_TITLE_PICTURE", |
26 |
|
|
"BBS_TITLE_COLOR", |
27 |
|
|
"BBS_TITLE_LINK", |
28 |
|
|
"BBS_BG_COLOR", |
29 |
|
|
"BBS_BG_PICTURE", |
30 |
|
|
"BBS_NONAME_NAME", |
31 |
|
|
"BBS_NONAME_NAME_KA", |
32 |
|
|
"BBS_MAKETHREAD_COLOR", |
33 |
|
|
"BBS_MENU_COLOR", |
34 |
|
|
"BBS_THREAD_COLOR", |
35 |
|
|
"BBS_TEXT_COLOR", |
36 |
|
|
"BBS_NAME_COLOR", |
37 |
|
|
"BBS_LINK_COLOR", |
38 |
|
|
"BBS_ALINK_COLOR", |
39 |
|
|
"BBS_VLINK_COLOR", |
40 |
|
|
"BBS_THREAD_NUMBER", |
41 |
|
|
"BBS_CONTENTS_NUMBER", |
42 |
|
|
"BBS_LINE_NUMBER", |
43 |
|
|
"BBS_MAX_MENU_THREAD", |
44 |
|
|
"BBS_SUBJECT_COLOR", |
45 |
|
|
"BBS_PASSWORD_CHECK", |
46 |
|
|
"BBS_UNICODE", |
47 |
|
|
"BBS_DELETE_NAME", |
48 |
|
|
"BBS_LUNISOLAR_CALENDAR", |
49 |
|
|
"BBS_WORLD_CALENDAR", |
50 |
|
|
"BBS_DECIMAL_CALENDAR", |
51 |
|
|
"BBS_HIRAKATA_CHECK", |
52 |
|
|
"BBS_NAMECOOKIE_CHECK", |
53 |
|
|
"BBS_MAILCOOKIE_CHECK", |
54 |
|
|
"BBS_SUBJECT_COUNT", |
55 |
|
|
"BBS_NAME_COUNT", |
56 |
|
|
"BBS_MAIL_COUNT", |
57 |
|
|
"BBS_MESSAGE_COUNT", |
58 |
|
|
"BBS_NEWSUBJECT", |
59 |
|
|
"BBS_THREAD_TATESUGI", |
60 |
|
|
"BBS_AD2", |
61 |
|
|
"SUBBBS_CGI_ON", |
62 |
|
|
"NANASHI_CHECK", |
63 |
|
|
"timecount", |
64 |
|
|
"timeclose", |
65 |
|
|
"BBS_PROXY_CHECK", |
66 |
|
|
"BBS_OVERSEA_THREAD", |
67 |
|
|
"BBS_OVERSEA_PROXY", |
68 |
|
|
"BBS_RAWIP_CHECK", |
69 |
|
|
"BBS_SLIP", |
70 |
|
|
"BBS_DISP_IP", |
71 |
|
|
"BBS_FORCE_ID", |
72 |
|
|
"BBS_NO_ID", |
73 |
|
|
"BBS_ADMIN_ID", |
74 |
|
|
"BBS_ADMIN_NAME", |
75 |
|
|
"BBS_GZIP_CHECK", |
76 |
|
|
"BBS_GZIP_PATH", |
77 |
|
|
"BBS_LOCATION_CHECK", |
78 |
|
|
"BBS_WAIT_MINUTE", |
79 |
|
|
"BBS_MAX_RES_COUNT", |
80 |
|
|
"BBS_MAX_RES_SIZE" |
81 |
|
|
); |
82 |
|
|
|
83 |
|
|
|
84 |
|
|
# 環境変数からPOSTのでーたをもらう〜 |
85 |
|
|
if($ENV{'REQUEST_METHOD'} eq 'POST'){ |
86 |
|
|
read(STDIN,$query,$ENV{'CONTENT_LENGTH'}); |
87 |
|
|
my (@elements, $element, $key, $value); |
88 |
|
|
@elements = split /&/, $query; |
89 |
|
|
foreach $element (@elements){ |
90 |
|
|
$element=~tr/+/ /; |
91 |
|
|
($key,$value)=split /=/, $element; |
92 |
|
|
$value =~ s/%([\dA-Fa-f]{2})/pack("C",hex($1))/ge; |
93 |
|
|
$value =~ s/\r//; |
94 |
|
|
$FORM{$key} = $value; |
95 |
|
|
} |
96 |
|
|
} |
97 |
|
|
|
98 |
|
|
foreach (split(/; /,$ENV{'HTTP_COOKIE'})){ |
99 |
|
|
($key, $value) = split /=/; |
100 |
|
|
$cookie{$key} = $value; |
101 |
|
|
} |
102 |
|
|
if($cookie{'pass'}){$check=" checked";} |
103 |
|
|
|
104 |
|
|
# 認証 |
105 |
|
|
$login=0; |
106 |
|
|
if(-e $pass_file){ |
107 |
|
|
open(IN,$pass_file); |
108 |
|
|
$pass = <IN>; |
109 |
|
|
close(IN); |
110 |
|
|
$chk = crypt($FORM{'pass'},$salt); |
111 |
|
|
if ($pass eq $chk){$login=1;}else{$login_mes="パスワードが違います。";} |
112 |
|
|
if (!$FORM{'pass'}){$login_mes="パスワードを入れてください。";} |
113 |
|
|
}else{$login=1;} |
114 |
|
|
if(!$login){ |
115 |
|
|
print "Content-type: text/html; charset=shift_jis\n\n"; |
116 |
|
|
print <<"EOF"; |
117 |
|
|
<html> |
118 |
|
|
<head> |
119 |
|
|
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> |
120 |
|
|
<title>管理室入口</title> |
121 |
|
|
</head> |
122 |
|
|
<body> |
123 |
|
|
$login_mes |
124 |
|
|
<form action="$script" method="POST"> |
125 |
|
|
<input type=password name=pass value="$cookie{pass}"> |
126 |
|
|
<input type=submit name="submut" value="認証"><br> |
127 |
|
|
<input type=checkbox name="cookie" value="checked"$check>cookie使用 |
128 |
|
|
</form> |
129 |
|
|
</body> |
130 |
|
|
</html> |
131 |
|
|
EOF |
132 |
|
|
exit; |
133 |
|
|
} |
134 |
|
|
|
135 |
|
|
if($FORM{'cookie'} eq 'checked'){ |
136 |
|
|
my $exp = 24 * 60 * 60; $exp *= 30; |
137 |
|
|
my($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = gmtime(time + $exp); |
138 |
|
|
$wday = ('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday')[$wday]; |
139 |
|
|
$mon = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec')[$mon]; |
140 |
|
|
$year = $year+1900;$mday = "0$mday" if ($mday < 10); |
141 |
|
|
$expires = "$wday, $mday-$mon-$year 00:00:00 GMT"; |
142 |
|
|
print "Set-Cookie: pass=$FORM{'pass'}; expires=$expires; path=/\n"; |
143 |
|
|
} |
144 |
|
|
|
145 |
|
|
if($FORM{'mode'} eq "setting1") { &setting1; } |
146 |
|
|
if($FORM{'mode'} eq 'file_edit'){&file_edit;} |
147 |
|
|
if($FORM{'mode'} eq 'pass_change'){&pass_change;} |
148 |
|
|
if($FORM{'mode'} eq 'del_cookie'){&del_cookie;} |
149 |
|
|
|
150 |
|
|
&header; |
151 |
|
|
#----------------------------------------------------------- |
152 |
|
|
if($FORM{'mode'} eq 'setting_all'){&setting_all;} |
153 |
|
|
if($FORM{'mode'} eq 'cap'){∩} |
154 |
|
|
if($FORM{'mode'} eq "setting") { &setting; } |
155 |
|
|
if($FORM{'mode'} eq 'make'){&make;} |
156 |
|
|
if($FORM{'mode'} eq 'remove'){&remove;} |
157 |
|
|
|
158 |
|
|
if($FORM{'mode'} eq 'conv1'){&conv1;} |
159 |
|
|
if($FORM{'mode'} eq ''){&b_list;} |
160 |
|
|
#----------------------------------------------------------- |
161 |
|
|
&footer; |
162 |
|
|
|
163 |
|
|
sub header{ |
164 |
|
|
print "Content-type: text/html; charset=shift_jis\n\n"; |
165 |
|
|
print <<"EOF"; |
166 |
|
|
<html> |
167 |
|
|
<head><meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> |
168 |
|
|
<title>管理室</title></head> |
169 |
|
|
<body> |
170 |
|
|
<table border=0 cellspacing=0 cellpadding=0><tr><td><b>管理室</b> </td> |
171 |
|
|
|
172 |
|
|
<td><form action="$script" method="POST"><input type=hidden name=pass value="$FORM{'pass'}"><input type=submit name="button" value="板一覧"></td></form> |
173 |
|
|
<td><form action="$script" method=post><input type=hidden name=pass value="$FORM{'pass'}"><input type=hidden name="mode2" value="make"><input type=hidden name="mode" value="make"><input type="submit" name="Submit" value="板作成"></td></form> |
174 |
|
|
<td><form action="$script" method="POST"><input type=hidden name=pass value="$FORM{'pass'}"><input type=hidden name="mode" value="cap"><input type="submit" value="キャップ管理"></td></form> |
175 |
|
|
<td><form action="$script" method="POST"><input type=hidden name=pass value="$FORM{'pass'}"><input type=hidden name="mode" value="setting_all"><input type="submit" value="設定ツール"></td></form> |
176 |
|
|
|
177 |
|
|
</tr></table> |
178 |
|
|
|
179 |
|
|
<hr> |
180 |
|
|
|
181 |
|
|
EOF |
182 |
|
|
} |
183 |
|
|
sub footer{ |
184 |
|
|
print <<"EOF"; |
185 |
|
|
<div align="right"> |
186 |
|
|
<font size=-2>$ver</font> |
187 |
|
|
</div> |
188 |
|
|
</body> |
189 |
|
|
</html> |
190 |
|
|
EOF |
191 |
|
|
exit; |
192 |
|
|
} |
193 |
|
|
|
194 |
|
|
|
195 |
|
|
|
196 |
|
|
|
197 |
|
|
sub setting_all { |
198 |
|
|
print <<"EOF"; |
199 |
|
|
|
200 |
|
|
<table border=0 cellspacing=0 cellpadding=0> |
201 |
|
|
<tr> |
202 |
|
|
<td> |
203 |
|
|
<form action="$script" method="POST"> |
204 |
|
|
<input type=hidden name=pass value="$FORM{'pass'}"> |
205 |
|
|
<input type=hidden name="mode" value="del_cookie"> |
206 |
|
|
<input type=submit name="button" value="クッキー削除"> |
207 |
|
|
</td> |
208 |
|
|
</form> |
209 |
|
|
</tr> |
210 |
|
|
</table> |
211 |
|
|
|
212 |
|
|
<table border=0 cellspacing=0 cellpadding=0> |
213 |
|
|
<tr><td><font size=-1><b>管理パスワード変更</b></font></td></tr> |
214 |
|
|
<form action="$script" method="POST"><input type=hidden name=pass value="$FORM{'pass'}"><input type=hidden name=mode value="pass_change"> |
215 |
|
|
<tr><td><font size=-1>旧パスワード</font></td><td><input type=text name=password0 value=""></td></tr> |
216 |
|
|
<tr><td><font size=-1>新パスワード</font></td><td><input type=text name=password1 value=""></td></tr> |
217 |
|
|
<tr><td><font size=-1>確認 </font></td><td><input type=text name=password2 value=""></td></tr> |
218 |
|
|
<tr><td colspan=2 align=right><input type=submit name="button" value="変更"></td></tr></form> |
219 |
|
|
</table> |
220 |
|
|
EOF |
221 |
|
|
|
222 |
|
|
print <<"EOF"; |
223 |
|
|
<hr> |
224 |
|
|
<table border=0> |
225 |
|
|
|
226 |
|
|
<tr><td> |
227 |
|
|
|
228 |
|
|
<form action="$script" method=post><input type=hidden name=pass value="$FORM{'pass'}"> |
229 |
|
|
<font size=-1>スレッド作成部分右側のタグ</font><input type=submit value="変更"><br> |
230 |
|
|
<textarea rows=5 cols=39 wrap=soft name=text> |
231 |
|
|
EOF |
232 |
|
|
my $local = "../right.txt";if(-e $local){open(IN, "$local");print while <IN>;close(IN);} |
233 |
|
|
|
234 |
|
|
print <<EOF; |
235 |
|
|
</textarea> |
236 |
|
|
<input type=hidden name=mode value="file_edit"> |
237 |
|
|
<input type=hidden name=file value="$local"> |
238 |
|
|
</td> |
239 |
|
|
</form> |
240 |
|
|
<td> |
241 |
|
|
<form action="$script" method=post><input type=hidden name=pass value="$FORM{'pass'}"> |
242 |
|
|
<font size=-1>スレッド作成部分下のタグ</font><input type=submit value="変更"><br> |
243 |
|
|
<textarea rows=5 cols=39 wrap=soft name=text> |
244 |
|
|
EOF |
245 |
|
|
my $bottom = "../bottom.txt";if(-e $bottom){open(IN, "$bottom");print while <IN>;close(IN);} |
246 |
|
|
print <<EOF; |
247 |
|
|
</textarea> |
248 |
|
|
<input type=hidden name=mode value="file_edit"> |
249 |
|
|
<input type=hidden name=file value="$bottom"> |
250 |
|
|
</td></tr> |
251 |
|
|
</form> |
252 |
|
|
<tr><td> |
253 |
|
|
|
254 |
|
|
<form action="$script" method=post><input type=hidden name=pass value="$FORM{'pass'}"> |
255 |
|
|
<font size=-1>ページ中央のタグ</font><input type=submit value="変更"><br> |
256 |
|
|
<textarea rows=5 cols=39 wrap=soft name=text> |
257 |
|
|
EOF |
258 |
|
|
my $headad = "../headad.txt";if(-e $headad){open(IN, "$headad");print while <IN>;close(IN);} |
259 |
|
|
print <<EOF; |
260 |
|
|
</textarea> |
261 |
|
|
<input type=hidden name=mode value="file_edit"> |
262 |
|
|
<input type=hidden name=file value="$headad"> |
263 |
|
|
</td> |
264 |
|
|
</form> |
265 |
|
|
<td> |
266 |
|
|
|
267 |
|
|
<form action="$script" method=post><input type=hidden name=pass value="$FORM{'pass'}"> |
268 |
|
|
<font size=-1>ページ中央のタグ2</font><input type=submit value="変更"><br> |
269 |
|
|
<textarea rows=5 cols=39 wrap=soft name=text> |
270 |
|
|
EOF |
271 |
|
|
my $headad2 = "../headad2.txt";if(-e $headad2){open(IN, "$headad2");print while <IN>;close(IN);} |
272 |
|
|
print <<EOF; |
273 |
|
|
</textarea> |
274 |
|
|
<input type=hidden name=mode value="file_edit"> |
275 |
|
|
<input type=hidden name=file value="$headad2"> |
276 |
|
|
</td> |
277 |
|
|
</form> |
278 |
|
|
</tr> |
279 |
|
|
<tr> |
280 |
|
|
<td> |
281 |
|
|
|
282 |
|
|
<form action="$script" method=post><input type=hidden name=pass value="$FORM{'pass'}"> |
283 |
|
|
<font size=-1>ページ一番下のタグ</font><input type=submit value="変更"><br> |
284 |
|
|
<textarea rows=5 cols=39 wrap=soft name=text> |
285 |
|
|
EOF |
286 |
|
|
my $ad = "../bottom_ad.txt";if(-e $ad){open(IN, "$ad");print while <IN>;close(IN);} |
287 |
|
|
print <<EOF; |
288 |
|
|
</textarea> |
289 |
|
|
<input type=hidden name=mode value="file_edit"> |
290 |
|
|
<input type=hidden name=file value="$ad"> |
291 |
|
|
</td> |
292 |
|
|
</form> |
293 |
|
|
<td> |
294 |
|
|
|
295 |
|
|
<form action="$script" method=post><input type=hidden name=pass value="$FORM{'pass'}"> |
296 |
|
|
<font size=-1>掲示板一覧</font><input type=submit value="変更"><br> |
297 |
|
|
<textarea rows=5 cols=39 wrap=soft name=text> |
298 |
|
|
EOF |
299 |
|
|
my $links = "../bbstable.txt";if(-e $links){open(IN, "$links");print while <IN>;close(IN);} |
300 |
|
|
print <<EOF; |
301 |
|
|
</textarea> |
302 |
|
|
<input type=hidden name=mode value="file_edit"> |
303 |
|
|
<input type=hidden name=file value="$links"> |
304 |
|
|
</td></tr> |
305 |
|
|
</form> |
306 |
|
|
</table> |
307 |
|
|
|
308 |
|
|
EOF |
309 |
|
|
|
310 |
|
|
} |
311 |
|
|
|
312 |
|
|
sub b_list { |
313 |
|
|
$file="./board.txt"; |
314 |
|
|
if(-e $file){ |
315 |
|
|
open(IN,$file); |
316 |
|
|
@board=<IN>; |
317 |
|
|
close(IN); |
318 |
|
|
|
319 |
|
|
if($board[0] !~/<>/ && @board ne 0){ |
320 |
|
|
print "board.txtが旧形式です。"; |
321 |
|
|
print "<form action=\"$script\" method=\"POST\">\n"; |
322 |
|
|
print "<input type=hidden name=\"mode\" value=\"conv1\"><input type=hidden name=pass value=\"$FORM{'pass'}\">\n"; |
323 |
|
|
print "<input type=submit name=\"submut\" value=\"変換する\">\n"; |
324 |
|
|
print "</form>\n"; |
325 |
|
|
&footer; |
326 |
|
|
} |
327 |
|
|
|
328 |
|
|
print "<table border=1 cellspacing=2 cellpadding=1>\n"; |
329 |
|
|
|
330 |
|
|
foreach(@board){ |
331 |
|
|
chomp($_); |
332 |
|
|
($path,$name,$st)=split /<>/; |
333 |
|
|
print <<"EOF"; |
334 |
|
|
|
335 |
|
|
<tr><td><a href=\"$USERURL$path/index.html\">$name ($path)</a></td> |
336 |
|
|
<td><form action="$script" method=post><input type=hidden name=pass value="$FORM{'pass'}"><input type=hidden name="bbs" value="$path"><input type=hidden name="mode" value="setting"><input type="submit" value="設定変更"></td></form> |
337 |
|
|
<td><form action="./delete.cgi?bbs=$path" method="POST"><input type=hidden name=pass value="$FORM{'pass'}"><input type=submit name="button" value="記事削除"></td></form> |
338 |
|
|
<td><a href="./remake.cgi?bbs=$path&key=0">リメイク</a>(<a href="./remake.cgi?bbs=$path">全部</a>)</td> |
339 |
|
|
<td align="center"><form action="$script" method=post><input type=hidden name=pass value="$FORM{'pass'}"><input type=hidden name="bbs" value="$path"><input type=hidden name="mode" value="remove"><input type=hidden name="mode2" value="remove"><input type="submit" value="削除"></td></form></tr> |
340 |
|
|
EOF |
341 |
|
|
} |
342 |
|
|
|
343 |
|
|
print "</table>\n"; |
344 |
|
|
} |
345 |
|
|
} |
346 |
|
|
|
347 |
|
|
|
348 |
|
|
#-----------------------------------------------------------make |
349 |
|
|
sub make { |
350 |
|
|
#データがあるなら検証 |
351 |
|
|
|
352 |
|
|
if($FORM{'mode2'} eq 'make'){ |
353 |
|
|
print <<"EOF"; |
354 |
|
|
<table border=0> |
355 |
|
|
<tr> |
356 |
|
|
<td align="right"> |
357 |
|
|
<form action="$script" method=POST> |
358 |
|
|
アカウント名: |
359 |
|
|
</td> |
360 |
|
|
<td> |
361 |
|
|
<input type=text name="bbs" value="" size=20> |
362 |
|
|
</td> |
363 |
|
|
</tr> |
364 |
|
|
<tr> |
365 |
|
|
<td align="right"> |
366 |
|
|
掲示板タイトル: |
367 |
|
|
</td> |
368 |
|
|
<td> |
369 |
|
|
<input type=text name="BBS_TITLE" value="掲示板" size=20> |
370 |
|
|
</td> |
371 |
|
|
</tr> |
372 |
|
|
<tr> |
373 |
|
|
<td colspan=2> |
374 |
|
|
<input type="checkbox" name="nolog" value="checked">log/を作成しない |
375 |
|
|
</td> |
376 |
|
|
</tr> |
377 |
|
|
<tr> |
378 |
|
|
<td colspan=2 align="right"> |
379 |
|
|
<input type=hidden name=pass value="$FORM{'pass'}"> |
380 |
|
|
<input type=hidden name="mode" value="make"> |
381 |
|
|
<input type=hidden name="mode2" value="make2"> |
382 |
|
|
<input type="submit" name="Submit" value="作成する!"> |
383 |
|
|
</td> |
384 |
|
|
</tr> |
385 |
|
|
</table> |
386 |
|
|
</form> |
387 |
|
|
EOF |
388 |
|
|
&footer;exit; |
389 |
|
|
}elsif($FORM{'mode2'} eq 'make2'){ |
390 |
|
|
#不正な文字を検証 |
391 |
|
|
if(!length($FORM{'bbs'})){ |
392 |
|
|
DispError("ERROR!","アカウント名が不正です!"); |
393 |
|
|
} |
394 |
|
|
if($FORM{'bbs'} =~ /(\.|\/)/){ |
395 |
|
|
DispError("ERROR!","アカウント名が不正です!"); |
396 |
|
|
} |
397 |
|
|
if($FORM{'bbs'} =~ /[^a-zA-Z0-9]/){ |
398 |
|
|
DispError("ERROR!","アカウント名が不正です!"); |
399 |
|
|
} |
400 |
|
|
#パスワードの長さを検証 |
401 |
|
|
#if(length($FORM{'PASSWORD'})<4){ |
402 |
|
|
# DispError("ERROR!","パスワードは4文字以上にしてください!"); |
403 |
|
|
#} |
404 |
|
|
|
405 |
|
|
#パスワード入力検査 |
406 |
|
|
#if($FORM{'PASSWORD'} ne $FORM{'PASSWORD2'}){ |
407 |
|
|
# DispError("入力エラー!","ERROR:確認用パスワードが違います!"); |
408 |
|
|
#} |
409 |
|
|
|
410 |
|
|
#アカウント検査 |
411 |
|
|
$pass = "../" . $FORM{'bbs'}; |
412 |
|
|
|
413 |
|
|
$FORM{'PASSWORD'} = $FORM{'bbs'}; |
414 |
|
|
|
415 |
|
|
if(-e $pass){ |
416 |
|
|
DispError("ERROR!","ERROR:そのアカウントは既に使用されています!"); |
417 |
|
|
} |
418 |
|
|
|
419 |
|
|
|
420 |
|
|
if($FORM{'BBS_TITLE'} eq ''){ |
421 |
|
|
$FORM{'BBS_TITLE'}="掲示板"; |
422 |
|
|
} |
423 |
|
|
|
424 |
|
|
|
425 |
|
|
$pass .= $SETTINGFILE; |
426 |
|
|
|
427 |
|
|
#掲示板フォルダ作成処理 |
428 |
|
|
$BBSURL="../" . $FORM{'bbs'}; |
429 |
|
|
mkdir($BBSURL,$p_dir); |
430 |
|
|
chmod($p_dir,$BBSURL); |
431 |
|
|
mkdir("$BBSURL/dat",$p_dir); |
432 |
|
|
chmod($p_dir,"$BBSURL/dat"); |
433 |
|
|
mkdir("$BBSURL/html",$p_dir); |
434 |
|
|
chmod($p_dir,"$BBSURL/html"); |
435 |
|
|
mkdir("$BBSURL/i",$p_dir); |
436 |
|
|
chmod($p_dir,"$BBSURL/i"); |
437 |
|
|
|
438 |
|
|
if($FORM{'nolog'} ne "checked"){ |
439 |
|
|
mkdir("$BBSURL/log",$p_dir); |
440 |
|
|
chmod($p_dir,"$BBSURL/log"); |
441 |
|
|
} |
442 |
|
|
|
443 |
|
|
#セッティングファイルを作成 |
444 |
|
|
open(IN,"<./SETTING.TXT"); |
445 |
|
|
@default=<IN>; |
446 |
|
|
close(IN); |
447 |
|
|
|
448 |
|
|
open(FILE,">$pass"); |
449 |
|
|
eval{flock(FILE,2);}; |
450 |
|
|
print FILE "$FORM{'bbs'}@" . crypt($FORM{'PASSWORD'},$FORM{'bbs'}) . "\n"; |
451 |
|
|
foreach(@default){ |
452 |
|
|
if($_=~/^BBS_TITLE=/){print FILE "BBS_TITLE=$FORM{'BBS_TITLE'}\n";next;} |
453 |
|
|
print FILE |
454 |
|
|
} |
455 |
|
|
eval{flock(FILE,8);}; |
456 |
|
|
close(FILE); |
457 |
|
|
|
458 |
|
|
$head = "../" . $FORM{'bbs'} . "/head.txt"; |
459 |
|
|
open(FILE,">$head"); |
460 |
|
|
close(FILE); |
461 |
|
|
|
462 |
|
|
open(IN,"<./index.txt"); |
463 |
|
|
@indext=<IN>; |
464 |
|
|
close(IN); |
465 |
|
|
|
466 |
|
|
$index = "../" . $FORM{'bbs'} . "/index2.html"; |
467 |
|
|
open(FILE,">$index"); |
468 |
|
|
foreach(@indext){print FILE} |
469 |
|
|
close(FILE); |
470 |
|
|
|
471 |
|
|
$subject = "../" . $FORM{'bbs'} . "/subject.txt"; |
472 |
|
|
open(FILE,">$subject"); |
473 |
|
|
close(FILE); |
474 |
|
|
|
475 |
|
|
open(FILE,">>./board.txt"); |
476 |
|
|
eval{flock(FILE,2);}; |
477 |
|
|
print FILE "$FORM{'bbs'}<>掲示板<>\n"; |
478 |
|
|
eval{flock(FILE,8);}; |
479 |
|
|
close(FILE); |
480 |
|
|
|
481 |
|
|
|
482 |
|
|
$BBSURL=$USERURL . $FORM{'bbs'} . "/"; |
483 |
|
|
|
484 |
|
|
chmod($p_txt,"$pass"); |
485 |
|
|
chmod($p_txt,"$head"); |
486 |
|
|
chmod($p_txt,"$index"); |
487 |
|
|
chmod($p_txt,"$subject"); |
488 |
|
|
chmod($p_txt,"./board.txt"); |
489 |
|
|
|
490 |
|
|
&setting; |
491 |
|
|
|
492 |
|
|
exit; |
493 |
|
|
} |
494 |
|
|
} |
495 |
|
|
|
496 |
|
|
|
497 |
|
|
#-----------------------------------------------------------setting |
498 |
|
|
sub setting |
499 |
|
|
|
500 |
|
|
{ |
501 |
|
|
#パスワード検証 |
502 |
|
|
my $pass = "../" . $FORM{'bbs'} . $SETTINGFILE; |
503 |
|
|
|
504 |
|
|
#セッティングファイルを読む |
505 |
|
|
open(FILE,$pass); |
506 |
|
|
$str=<FILE>; |
507 |
|
|
foreach $str (<FILE>){ |
508 |
|
|
chomp($str); |
509 |
|
|
($name, $value) = split(/=/, $str); |
510 |
|
|
$value =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack("C", hex($1))/eg; |
511 |
|
|
$SETTING{$name} = $value; |
512 |
|
|
} |
513 |
|
|
close(FILE); |
514 |
|
|
|
515 |
|
|
$PATH = $USERURL . $FORM{"bbs"} . "/"; |
516 |
|
|
$PATH .= "index.html"; |
517 |
|
|
|
518 |
|
|
if(!-e $PATH){print "index.htmlがありません。\n";} |
519 |
|
|
|
520 |
|
|
|
521 |
|
|
|
522 |
|
|
#管理者メニューを表示 |
523 |
|
|
#print "Content-type: text/html; charset=shift_jis\n\n"; |
524 |
|
|
print <<"EOF"; |
525 |
|
|
<table width="650" border="1" cellspacing="0" cellpadding="0"> |
526 |
|
|
<tr> |
527 |
|
|
<td> |
528 |
|
|
|
529 |
|
|
<table border="0" cellspacing="0" cellpadding="0"> |
530 |
|
|
<tr> |
531 |
|
|
<td> |
532 |
|
|
<form action="$script" method="POST"> |
533 |
|
|
<input type=hidden name=pass value="$FORM{'pass'}"> |
534 |
|
|
<b>掲示板管理者メニュー:<a href="$PATH" target="_blank">$FORM{'bbs'}</a></b> |
535 |
|
|
<input type=submit name="button" value="戻る"> |
536 |
|
|
<a href="./remake.cgi?bbs=$FORM{'bbs'}" target=\"_blank\">リメイク</a> |
537 |
|
|
</td> |
538 |
|
|
</form> |
539 |
|
|
</tr> |
540 |
|
|
</table> |
541 |
|
|
<div align="center"> |
542 |
|
|
<table width="640" border="0" cellspacing="0" cellpadding="0"> |
543 |
|
|
<tr> |
544 |
|
|
<td width="300"> |
545 |
|
|
<form method="post" action="$script"><input type=hidden name=pass value="$FORM{'pass'}"> |
546 |
|
|
<table width="300" border="0" cellspacing="0" cellpadding="0"> |
547 |
|
|
<tr> |
548 |
|
|
<td> |
549 |
|
|
<div align="right"> |
550 |
|
|
<input type="submit" name="Submit" value="適用"> |
551 |
|
|
</div> |
552 |
|
|
<table width="300" border="1" cellspacing="0" cellpadding="0"> |
553 |
|
|
<tr bgcolor="#FFCCCC"> |
554 |
|
|
<td> |
555 |
|
|
<div align="center">掲示板タイトル</div> |
556 |
|
|
</td> |
557 |
|
|
<td width="150" valign="middle"> |
558 |
|
|
<div align="center"> |
559 |
|
|
<input type="text" name="BBS_TITLE" value="$SETTING{'BBS_TITLE'}"> |
560 |
|
|
</div> |
561 |
|
|
</td> |
562 |
|
|
</tr> |
563 |
|
|
<tr bgcolor="#FFCCCC"> |
564 |
|
|
<td> |
565 |
|
|
<div align="center">タイトル画像</div> |
566 |
|
|
</td> |
567 |
|
|
<td width="150" valign="middle"> |
568 |
|
|
<div align="center"> |
569 |
|
|
<input type="text" name="BBS_TITLE_PICTURE" value="$SETTING{'BBS_TITLE_PICTURE'}"> |
570 |
|
|
</div> |
571 |
|
|
</td> |
572 |
|
|
</tr> |
573 |
|
|
<tr bgcolor="#FFCCCC"> |
574 |
|
|
<td> |
575 |
|
|
<div align="center">タイトル色</div> |
576 |
|
|
</td> |
577 |
|
|
<td width="150" valign="middle"> |
578 |
|
|
<div align="center"> |
579 |
|
|
<input type="text" name="BBS_TITLE_COLOR" value="$SETTING{'BBS_TITLE_COLOR'}"> |
580 |
|
|
</div> |
581 |
|
|
</td> |
582 |
|
|
</tr> |
583 |
|
|
<tr bgcolor="#FFCCCC"> |
584 |
|
|
<td> |
585 |
|
|
<div align="center">タイトル画像のリンク</div> |
586 |
|
|
</td> |
587 |
|
|
<td width="150" valign="middle"> |
588 |
|
|
<div align="center"> |
589 |
|
|
<input type="text" name="BBS_TITLE_LINK" value="$SETTING{'BBS_TITLE_LINK'}"> |
590 |
|
|
</div> |
591 |
|
|
</td> |
592 |
|
|
</tr> |
593 |
|
|
<tr bgcolor="#FF9999"> |
594 |
|
|
<td> |
595 |
|
|
<div align="center">背景色</div> |
596 |
|
|
</td> |
597 |
|
|
<td width="150" valign="middle"> |
598 |
|
|
<div align="center"> |
599 |
|
|
<input type="text" name="BBS_BG_COLOR" value="$SETTING{'BBS_BG_COLOR'}"> |
600 |
|
|
</div> |
601 |
|
|
</td> |
602 |
|
|
</tr> |
603 |
|
|
<tr bgcolor="#FF9999"> |
604 |
|
|
<td> |
605 |
|
|
<div align="center">背景画像</div> |
606 |
|
|
</td> |
607 |
|
|
<td width="150" valign="middle"> |
608 |
|
|
<div align="center"> |
609 |
|
|
<input type="text" name="BBS_BG_PICTURE" value="$SETTING{'BBS_BG_PICTURE'}"> |
610 |
|
|
</div> |
611 |
|
|
</td> |
612 |
|
|
</tr> |
613 |
|
|
<tr bgcolor="#FF9999"> |
614 |
|
|
<td> |
615 |
|
|
<div align="center">新規スレッド背景色</div> |
616 |
|
|
</td> |
617 |
|
|
<td width="150" valign="middle"> |
618 |
|
|
<div align="center"> |
619 |
|
|
<input type="text" name="BBS_MAKETHREAD_COLOR" value="$SETTING{'BBS_MAKETHREAD_COLOR'}"> |
620 |
|
|
</div> |
621 |
|
|
</td> |
622 |
|
|
</tr> |
623 |
|
|
<tr bgcolor="#FF9999"> |
624 |
|
|
<td> |
625 |
|
|
<div align="center">スレッド一覧背景色</div> |
626 |
|
|
</td> |
627 |
|
|
<td width="150" valign="middle"> |
628 |
|
|
<div align="center"> |
629 |
|
|
<input type="text" name="BBS_MENU_COLOR" value="$SETTING{'BBS_MENU_COLOR'}"> |
630 |
|
|
</div> |
631 |
|
|
</td> |
632 |
|
|
</tr> |
633 |
|
|
<tr bgcolor="#FF9999"> |
634 |
|
|
<td> |
635 |
|
|
<div align="center">スレッド背景色</div> |
636 |
|
|
</td> |
637 |
|
|
<td width="150" valign="middle"> |
638 |
|
|
<div align="center"> |
639 |
|
|
<input type="text" name="BBS_THREAD_COLOR" value="$SETTING{'BBS_THREAD_COLOR'}"> |
640 |
|
|
</div> |
641 |
|
|
</td> |
642 |
|
|
</tr> |
643 |
|
|
<tr bgcolor="#FF6666"> |
644 |
|
|
<td> |
645 |
|
|
<div align="center">サブジェクトの標準色</div> |
646 |
|
|
</td> |
647 |
|
|
<td width="150" valign="middle"> |
648 |
|
|
<div align="center"> |
649 |
|
|
<input type="text" name="BBS_SUBJECT_COLOR" value="$SETTING{'BBS_SUBJECT_COLOR'}"> |
650 |
|
|
</div> |
651 |
|
|
</td> |
652 |
|
|
</tr> |
653 |
|
|
<tr bgcolor="#FF6666"> |
654 |
|
|
<td> |
655 |
|
|
<div align="center">テキストの標準色</div> |
656 |
|
|
</td> |
657 |
|
|
<td width="150" valign="middle"> |
658 |
|
|
<div align="center"> |
659 |
|
|
<input type="text" name="BBS_TEXT_COLOR" value="$SETTING{'BBS_TEXT_COLOR'}"> |
660 |
|
|
</div> |
661 |
|
|
</td> |
662 |
|
|
</tr> |
663 |
|
|
<tr bgcolor="#FF6666"> |
664 |
|
|
<td> |
665 |
|
|
<div align="center">名前の色</div> |
666 |
|
|
</td> |
667 |
|
|
<td width="150" valign="middle"> |
668 |
|
|
<div align="center"> |
669 |
|
|
<input type="text" name="BBS_NAME_COLOR" value="$SETTING{'BBS_NAME_COLOR'}"> |
670 |
|
|
</div> |
671 |
|
|
</td> |
672 |
|
|
</tr> |
673 |
|
|
<tr bgcolor="#FF6666"> |
674 |
|
|
<td> |
675 |
|
|
<div align="center">リンクの標準色</div> |
676 |
|
|
</td> |
677 |
|
|
<td width="150" valign="middle"> |
678 |
|
|
<div align="center"> |
679 |
|
|
<input type="text" name="BBS_LINK_COLOR" value="$SETTING{'BBS_LINK_COLOR'}"> |
680 |
|
|
</div> |
681 |
|
|
</td> |
682 |
|
|
</tr> |
683 |
|
|
<tr bgcolor="#FF6666"> |
684 |
|
|
<td> |
685 |
|
|
<div align="center">選択中のリンク色</div> |
686 |
|
|
</td> |
687 |
|
|
<td width="150" valign="middle"> |
688 |
|
|
<div align="center"> |
689 |
|
|
<input type="text" name="BBS_ALINK_COLOR" value="$SETTING{'BBS_ALINK_COLOR'}"> |
690 |
|
|
</div> |
691 |
|
|
</td> |
692 |
|
|
</tr> |
693 |
|
|
<tr bgcolor="#FF6666"> |
694 |
|
|
<td> |
695 |
|
|
<div align="center">訪問済みのリンク色</div> |
696 |
|
|
</td> |
697 |
|
|
<td width="150" valign="middle"> |
698 |
|
|
<div align="center"> |
699 |
|
|
<input type="text" name="BBS_VLINK_COLOR" value="$SETTING{'BBS_VLINK_COLOR'}"> |
700 |
|
|
</div> |
701 |
|
|
</td> |
702 |
|
|
</tr> |
703 |
|
|
|
704 |
|
|
<tr bgcolor="#7FFF7F"> |
705 |
|
|
<td> |
706 |
|
|
<div align="center">gzip圧縮を使用する</div> |
707 |
|
|
</td> |
708 |
|
|
<td width="150" valign="middle"> |
709 |
|
|
<div align="left"> |
710 |
|
|
<input type="checkbox" name="BBS_GZIP_CHECK" value="checked" $SETTING{'BBS_GZIP_CHECK'}> |
711 |
|
|
(する場合チェック)</div> |
712 |
|
|
</td> |
713 |
|
|
</tr> |
714 |
|
|
<tr bgcolor="#7FFF7F"> |
715 |
|
|
<td> |
716 |
|
|
<div align="center">gzipのパス</div> |
717 |
|
|
</td> |
718 |
|
|
<td width="150" valign="middle"> |
719 |
|
|
<div align="center"> |
720 |
|
|
<input type="text" name="BBS_GZIP_PATH" value=$SETTING{'BBS_GZIP_PATH'}> |
721 |
|
|
</div> |
722 |
|
|
</td> |
723 |
|
|
</tr> |
724 |
|
|
|
725 |
|
|
<tr bgcolor="#7FCC7F"> |
726 |
|
|
<td> |
727 |
|
|
<div align="center">Locationを使用する</div> |
728 |
|
|
</td> |
729 |
|
|
<td width="150" valign="middle"> |
730 |
|
|
<div align="left"> |
731 |
|
|
<input type="checkbox" name="BBS_LOCATION_CHECK" value="checked" $SETTING{'BBS_LOCATION_CHECK'}> |
732 |
|
|
(する場合チェック)</div> |
733 |
|
|
</td> |
734 |
|
|
</tr> |
735 |
|
|
<tr bgcolor="#7FCC7F"> |
736 |
|
|
<td> |
737 |
|
|
<div align="center">書き込みウェイトの秒数</div> |
738 |
|
|
</td> |
739 |
|
|
<td width="150" valign="middle"> |
740 |
|
|
<div align="center"> |
741 |
|
|
<input type="text" name="BBS_WAIT_MINUTE" value=$SETTING{'BBS_WAIT_MINUTE'}> |
742 |
|
|
<br>※Location不使用の<br>ときのみ有効</div> |
743 |
|
|
</td> |
744 |
|
|
</tr> |
745 |
|
|
|
746 |
|
|
<tr bgcolor="#7F997F"> |
747 |
|
|
<td> |
748 |
|
|
<div align="center">レスの最大書き込み数</div> |
749 |
|
|
</td> |
750 |
|
|
<td width="150" valign="middle"> |
751 |
|
|
<div align="center"> |
752 |
|
|
<input type="text" name="BBS_MAX_RES_COUNT" value=$SETTING{'BBS_MAX_RES_COUNT'}></div> |
753 |
|
|
</td> |
754 |
|
|
</tr> |
755 |
|
|
<tr bgcolor="#7F997F"> |
756 |
|
|
<td> |
757 |
|
|
<div align="center">レスの最大サイズ(KB)</div> |
758 |
|
|
</td> |
759 |
|
|
<td width="150" valign="middle"> |
760 |
|
|
<div align="center"> |
761 |
|
|
<input type="text" name="BBS_MAX_RES_SIZE" value=$SETTING{'BBS_MAX_RES_SIZE'}></div> |
762 |
|
|
</td> |
763 |
|
|
</tr> |
764 |
|
|
|
765 |
|
|
<tr bgcolor="#CCCCCC"> |
766 |
|
|
<td> |
767 |
|
|
<center> |
768 |
|
|
UNICODEチェック |
769 |
|
|
</center> |
770 |
|
|
</td> |
771 |
|
|
<td width="150" valign="middle"> |
772 |
|
|
EOF |
773 |
|
|
if($SETTING{'BBS_UNICODE'} eq "change"){ |
774 |
|
|
print <<EOF; |
775 |
|
|
<input type="radio" name="BBS_UNICODE" value="change" checked> |
776 |
|
|
する<br> |
777 |
|
|
<input type="radio" name="BBS_UNICODE" value="pass"> |
778 |
|
|
しない</td> |
779 |
|
|
EOF |
780 |
|
|
}else{ |
781 |
|
|
print <<EOF; |
782 |
|
|
<input type="radio" name="BBS_UNICODE" value="change"> |
783 |
|
|
する<br> |
784 |
|
|
<input type="radio" name="BBS_UNICODE" value="pass" checked> |
785 |
|
|
しない</td> |
786 |
|
|
EOF |
787 |
|
|
} |
788 |
|
|
print <<EOF; |
789 |
|
|
</tr> |
790 |
|
|
|
791 |
|
|
|
792 |
|
|
<tr bgcolor="#CCCCCC"> |
793 |
|
|
<td> |
794 |
|
|
<div align="center">連続投稿規制</div> |
795 |
|
|
</td> |
796 |
|
|
<td width="150" valign="middle"> |
797 |
|
|
<div align="center"> |
798 |
|
|
<input type="text" name="timecount" value="$SETTING{'timecount'}"><br> |
799 |
|
|
回中 |
800 |
|
|
<input type="text" name="timeclose" value="$SETTING{'timeclose'}"><br> |
801 |
|
|
回以上で規制 |
802 |
|
|
</div> |
803 |
|
|
</td> |
804 |
|
|
</tr> |
805 |
|
|
|
806 |
|
|
<tr bgcolor="#CCCCCC"> |
807 |
|
|
<td> |
808 |
|
|
<div align="center">1ページ中のスレッド数</div> |
809 |
|
|
</td> |
810 |
|
|
<td width="150" valign="middle"> |
811 |
|
|
<div align="center"> |
812 |
|
|
<input type="text" name="BBS_THREAD_NUMBER" value="$SETTING{'BBS_THREAD_NUMBER'}"> |
813 |
|
|
</div> |
814 |
|
|
</td> |
815 |
|
|
</tr> |
816 |
|
|
<tr bgcolor="#CCCCCC"> |
817 |
|
|
<td> |
818 |
|
|
<div align="center">列挙する書き込み数</div> |
819 |
|
|
</td> |
820 |
|
|
<td width="150" valign="middle"> |
821 |
|
|
<div align="center"> |
822 |
|
|
<input type="text" name="BBS_CONTENTS_NUMBER" value="$SETTING{'BBS_CONTENTS_NUMBER'}"> |
823 |
|
|
</div> |
824 |
|
|
</td> |
825 |
|
|
</tr> |
826 |
|
|
<tr bgcolor="#CCCCCC"> |
827 |
|
|
<td> |
828 |
|
|
<div align="center">メニューのスレッド数</div> |
829 |
|
|
</td> |
830 |
|
|
<td width="150" valign="middle"> |
831 |
|
|
<div align="center"> |
832 |
|
|
<input type="text" name="BBS_MAX_MENU_THREAD" value="$SETTING{'BBS_MAX_MENU_THREAD'}"> |
833 |
|
|
</div> |
834 |
|
|
</td> |
835 |
|
|
</tr> |
836 |
|
|
<tr bgcolor="#CCCCCC"> |
837 |
|
|
<td> |
838 |
|
|
<div align="center">書き込みの行数制限</div> |
839 |
|
|
</td> |
840 |
|
|
<td width="150" valign="middle"> |
841 |
|
|
<div align="center"> |
842 |
|
|
<input type="text" name="BBS_LINE_NUMBER" value="$SETTING{'BBS_LINE_NUMBER'}"> |
843 |
|
|
</div> |
844 |
|
|
</td> |
845 |
|
|
</tr> |
846 |
|
|
<tr bgcolor="#CCCCCC"> |
847 |
|
|
<td> |
848 |
|
|
<div align="center">サブジェクトの文字数制限</div> |
849 |
|
|
</td> |
850 |
|
|
<td width="150" valign="middle"> |
851 |
|
|
<div align="center"> |
852 |
|
|
<input type="text" name="BBS_SUBJECT_COUNT" value="$SETTING{'BBS_SUBJECT_COUNT'}"> |
853 |
|
|
</div> |
854 |
|
|
</td> |
855 |
|
|
</tr> |
856 |
|
|
<tr bgcolor="#CCCCCC"> |
857 |
|
|
<td> |
858 |
|
|
<div align="center">名前の文字数制限</div> |
859 |
|
|
</td> |
860 |
|
|
<td width="150" valign="middle"> |
861 |
|
|
<div align="center"> |
862 |
|
|
<input type="text" name="BBS_NAME_COUNT" value="$SETTING{'BBS_NAME_COUNT'}"> |
863 |
|
|
</div> |
864 |
|
|
</td> |
865 |
|
|
</tr> |
866 |
|
|
<tr bgcolor="#CCCCCC"> |
867 |
|
|
<td> |
868 |
|
|
<div align="center">メールの文字数制限</div> |
869 |
|
|
</td> |
870 |
|
|
<td width="150" valign="middle"> |
871 |
|
|
<div align="center"> |
872 |
|
|
<input type="text" name="BBS_MAIL_COUNT" value="$SETTING{'BBS_MAIL_COUNT'}"> |
873 |
|
|
</div> |
874 |
|
|
</td> |
875 |
|
|
</tr> |
876 |
|
|
<tr bgcolor="#CCCCCC"> |
877 |
|
|
<td> |
878 |
|
|
<div align="center">本文の文字数制限</div> |
879 |
|
|
</td> |
880 |
|
|
<td width="150" valign="middle"> |
881 |
|
|
<div align="center"> |
882 |
|
|
<input type="text" name="BBS_MESSAGE_COUNT" value="$SETTING{'BBS_MESSAGE_COUNT'}"> |
883 |
|
|
</div> |
884 |
|
|
</td> |
885 |
|
|
</tr> |
886 |
|
|
<tr bgcolor="#CCCCCC"> |
887 |
|
|
<td> |
888 |
|
|
<div align="center">スレッド立て待ち数</div> |
889 |
|
|
</td> |
890 |
|
|
<td width="150" valign="middle"> |
891 |
|
|
<div align="center"> |
892 |
|
|
<input type="text" name="BBS_THREAD_TATESUGI" value="$SETTING{'BBS_THREAD_TATESUGI'}"> |
893 |
|
|
</div> |
894 |
|
|
</td> |
895 |
|
|
</tr> |
896 |
|
|
<tr bgcolor="#CCCCCC"> |
897 |
|
|
<td> |
898 |
|
|
<div align="center">名前未入力時の名前</div> |
899 |
|
|
</td> |
900 |
|
|
<td width="150" valign="middle"> |
901 |
|
|
<div align="center"> |
902 |
|
|
<input type="text" name="BBS_NONAME_NAME" value=$SETTING{'BBS_NONAME_NAME'}> |
903 |
|
|
</div> |
904 |
|
|
</td> |
905 |
|
|
</tr> |
906 |
|
|
<tr bgcolor="#CCCCCC"> |
907 |
|
|
<td> |
908 |
|
|
<div align="center">名前未入力時の名前<br>(かちゅ〜しゃ使用者)</div> |
909 |
|
|
</td> |
910 |
|
|
<td width="150" valign="middle"> |
911 |
|
|
<div align="center"> |
912 |
|
|
<input type="text" name="BBS_NONAME_NAME_KA" value=$SETTING{"BBS_NONAME_NAME_KA"}> |
913 |
|
|
</div> |
914 |
|
|
</td> |
915 |
|
|
</tr> |
916 |
|
|
<tr bgcolor="#CCCCCC"> |
917 |
|
|
<td> |
918 |
|
|
<div align="center">削除投稿の名前</div> |
919 |
|
|
</td> |
920 |
|
|
<td width="150" valign="middle"> |
921 |
|
|
<div align="center"> |
922 |
|
|
<input type="text" name="BBS_DELETE_NAME" value=$SETTING{'BBS_DELETE_NAME'}> |
923 |
|
|
</div> |
924 |
|
|
</td> |
925 |
|
|
</tr> |
926 |
|
|
<tr bgcolor="#CCCCCC"> |
927 |
|
|
<td> |
928 |
|
|
<div align="center">管理者のID</div> |
929 |
|
|
</td> |
930 |
|
|
<td width="150" valign="middle"> |
931 |
|
|
<div align="center"> |
932 |
|
|
<input type="text" name="BBS_ADMIN_ID" value=$SETTING{'BBS_ADMIN_ID'}> |
933 |
|
|
</div> |
934 |
|
|
</td> |
935 |
|
|
</tr> |
936 |
|
|
<tr bgcolor="#CCCCCC"> |
937 |
|
|
<td> |
938 |
|
|
<div align="center">IDを置換する<br>管理者のハンドル</div> |
939 |
|
|
</td> |
940 |
|
|
<td width="150" valign="middle"> |
941 |
|
|
<div align="center"> |
942 |
|
|
<input type="text" name="BBS_ADMIN_NAME" value=$SETTING{'BBS_ADMIN_NAME'}> |
943 |
|
|
</div> |
944 |
|
|
</td> |
945 |
|
|
</tr> |
946 |
|
|
<tr bgcolor="#b0b0b0"> |
947 |
|
|
<td> |
948 |
|
|
<center> |
949 |
|
|
旧暦の表\示<br>(<a href="http://www3.biwako.ne.jp/~nobuaki/qreki/" target="_blank">qreki.pl</a>が必要) |
950 |
|
|
</center> |
951 |
|
|
</td> |
952 |
|
|
<td width="150" valign="middle"> |
953 |
|
|
<input type="checkbox" name="BBS_LUNISOLAR_CALENDAR" value="checked" $SETTING{'BBS_LUNISOLAR_CALENDAR'}> |
954 |
|
|
(する場合チェック) </td> |
955 |
|
|
</tr> |
956 |
|
|
<tr bgcolor="#b0b0b0"> |
957 |
|
|
<td> |
958 |
|
|
<center> |
959 |
|
|
世界暦の表\示 |
960 |
|
|
</center> |
961 |
|
|
</td> |
962 |
|
|
<td width="150" valign="middle"> |
963 |
|
|
<input type="checkbox" name="BBS_WORLD_CALENDAR" value="checked" $SETTING{'BBS_WORLD_CALENDAR'}> |
964 |
|
|
(する場合チェック) </td> |
965 |
|
|
</tr> |
966 |
|
|
<tr bgcolor="#b0b0b0"> |
967 |
|
|
<td> |
968 |
|
|
<center> |
969 |
|
|
十\進暦の表\示 |
970 |
|
|
</center> |
971 |
|
|
</td> |
972 |
|
|
<td width="150" valign="middle"> |
973 |
|
|
<input type="checkbox" name="BBS_DECIMAL_CALENDAR" value="checked" $SETTING{'BBS_DECIMAL_CALENDAR'}> |
974 |
|
|
(する場合チェック) </td> |
975 |
|
|
</tr> |
976 |
|
|
<tr bgcolor="#999999"> |
977 |
|
|
<td> |
978 |
|
|
<center> |
979 |
|
|
ひらがな⇔カタカナ変換 |
980 |
|
|
</center> |
981 |
|
|
</td> |
982 |
|
|
<td width="150" valign="middle"> |
983 |
|
|
<input type="checkbox" name="BBS_HIRAKATA_CHECK" value="checked" $SETTING{'BBS_HIRAKATA_CHECK'}> |
984 |
|
|
(する場合チェック) </td> |
985 |
|
|
</tr> |
986 |
|
|
<tr bgcolor="#999999"> |
987 |
|
|
<td> |
988 |
|
|
<center> |
989 |
|
|
名前クッキーを発行 |
990 |
|
|
</center> |
991 |
|
|
</td> |
992 |
|
|
<td width="150" valign="middle"> |
993 |
|
|
<input type="checkbox" name="BBS_NAMECOOKIE_CHECK" value="checked" $SETTING{'BBS_NAMECOOKIE_CHECK'}> |
994 |
|
|
(する場合チェック) </td> |
995 |
|
|
</tr> |
996 |
|
|
<tr bgcolor="#999999"> |
997 |
|
|
<td> |
998 |
|
|
<center> |
999 |
|
|
メールクッキーを発行 |
1000 |
|
|
</center> |
1001 |
|
|
</td> |
1002 |
|
|
<td width="150" valign="middle"> |
1003 |
|
|
<input type="checkbox" name="BBS_MAILCOOKIE_CHECK" value="checked" $SETTING{'BBS_MAILCOOKIE_CHECK'}> |
1004 |
|
|
(する場合チェック) </td> |
1005 |
|
|
</tr> |
1006 |
|
|
<tr bgcolor="#999999"> |
1007 |
|
|
<td> |
1008 |
|
|
<div align="center">名無しさん投稿を排除</div> |
1009 |
|
|
</td> |
1010 |
|
|
<td width="150" valign="middle"> |
1011 |
|
|
<div align="left"> |
1012 |
|
|
EOF |
1013 |
|
|
if($SETTING{"NANASHI_CHECK"} eq 1){ |
1014 |
|
|
print <<EOF; |
1015 |
|
|
<input type="checkbox" name="NANASHI_CHECK" value="1" checked> |
1016 |
|
|
EOF |
1017 |
|
|
}else{ |
1018 |
|
|
print <<EOF; |
1019 |
|
|
<input type="checkbox" name="NANASHI_CHECK" value="1"> |
1020 |
|
|
EOF |
1021 |
|
|
} |
1022 |
|
|
print <<EOF; |
1023 |
|
|
(する場合チェック)</div> |
1024 |
|
|
</td> |
1025 |
|
|
</tr> |
1026 |
|
|
<tr bgcolor="#999999"> |
1027 |
|
|
<td> |
1028 |
|
|
<center> |
1029 |
|
|
スレッド作成画面を<br>別画面へ |
1030 |
|
|
</center> |
1031 |
|
|
</td> |
1032 |
|
|
<td width="150" valign="middle"> |
1033 |
|
|
<input type="checkbox" name="BBS_PASSWORD_CHECK" value="checked" $SETTING{'BBS_PASSWORD_CHECK'}> |
1034 |
|
|
(する場合チェック) </td> |
1035 |
|
|
</tr> |
1036 |
|
|
<tr bgcolor="#999999"> |
1037 |
|
|
<td> |
1038 |
|
|
<div align="center">スレ作成確認表\示</div> |
1039 |
|
|
</td> |
1040 |
|
|
<td width="150" valign="middle"> |
1041 |
|
|
<div align="left"> |
1042 |
|
|
EOF |
1043 |
|
|
if($SETTING{"BBS_NEWSUBJECT"} eq 1){ |
1044 |
|
|
print <<EOF; |
1045 |
|
|
<input type="checkbox" name="BBS_NEWSUBJECT" value="1" checked> |
1046 |
|
|
EOF |
1047 |
|
|
}else{ |
1048 |
|
|
print <<EOF; |
1049 |
|
|
<input type="checkbox" name="BBS_NEWSUBJECT" value="1"> |
1050 |
|
|
EOF |
1051 |
|
|
} |
1052 |
|
|
print <<EOF; |
1053 |
|
|
(する場合チェック)</div> |
1054 |
|
|
</td> |
1055 |
|
|
</tr> |
1056 |
|
|
<tr bgcolor="#999999"> |
1057 |
|
|
<td> |
1058 |
|
|
<div align="center">クッキーをオンにしてちょ。</div> |
1059 |
|
|
</td> |
1060 |
|
|
<td width="150" valign="middle"> |
1061 |
|
|
<div align="left"> |
1062 |
|
|
EOF |
1063 |
|
|
if($SETTING{"SUBBBS_CGI_ON"} eq 1){ |
1064 |
|
|
print <<EOF; |
1065 |
|
|
<input type="checkbox" name="SUBBBS_CGI_ON" value="1" checked> |
1066 |
|
|
EOF |
1067 |
|
|
}else{ |
1068 |
|
|
print <<EOF; |
1069 |
|
|
<input type="checkbox" name="SUBBBS_CGI_ON" value="1"> |
1070 |
|
|
EOF |
1071 |
|
|
} |
1072 |
|
|
print <<EOF; |
1073 |
|
|
(する場合チェック)</div> |
1074 |
|
|
</td> |
1075 |
|
|
</tr> |
1076 |
|
|
<tr bgcolor="#999999"> |
1077 |
|
|
<td> |
1078 |
|
|
<center> |
1079 |
|
|
IDを使用しない |
1080 |
|
|
</center> |
1081 |
|
|
</td> |
1082 |
|
|
<td width="150" valign="middle"> |
1083 |
|
|
<input type="checkbox" name="BBS_NO_ID" value="checked" $SETTING{'BBS_NO_ID'}> |
1084 |
|
|
(する場合チェック) </td> |
1085 |
|
|
</tr> |
1086 |
|
|
<tr bgcolor="#999999"> |
1087 |
|
|
<td> |
1088 |
|
|
<center> |
1089 |
|
|
ID強制表\示 |
1090 |
|
|
</center> |
1091 |
|
|
</td> |
1092 |
|
|
<td width="150" valign="middle"> |
1093 |
|
|
<input type="checkbox" name="BBS_FORCE_ID" value="checked" $SETTING{'BBS_FORCE_ID'}> |
1094 |
|
|
(する場合チェック) </td> |
1095 |
|
|
</tr> |
1096 |
|
|
<tr bgcolor="#999999"> |
1097 |
|
|
<td> |
1098 |
|
|
<div align="center">PROXY制限</div> |
1099 |
|
|
</td> |
1100 |
|
|
<td width="150" valign="middle"> |
1101 |
|
|
<div align="left"> |
1102 |
|
|
<input type="checkbox" name="BBS_PROXY_CHECK" value="checked" $SETTING{'BBS_PROXY_CHECK'}> |
1103 |
|
|
(する場合チェック) </div> |
1104 |
|
|
</td> |
1105 |
|
|
</tr> |
1106 |
|
|
<tr bgcolor="#999999"> |
1107 |
|
|
<td> |
1108 |
|
|
<div align="center">海外からの書き込み規制</div> |
1109 |
|
|
</td> |
1110 |
|
|
<td width="150" valign="middle"> |
1111 |
|
|
<div align="left"> |
1112 |
|
|
<input type="checkbox" name="BBS_OVERSEA_PROXY" value="checked" $SETTING{'BBS_OVERSEA_PROXY'}> |
1113 |
|
|
(する場合チェック) </div> |
1114 |
|
|
</td> |
1115 |
|
|
</tr> |
1116 |
|
|
<tr bgcolor="#999999"> |
1117 |
|
|
<td> |
1118 |
|
|
<div align="center">海外からの<br>スレッド立て禁止</div> |
1119 |
|
|
</td> |
1120 |
|
|
<td width="150" valign="middle"> |
1121 |
|
|
<div align="left"> |
1122 |
|
|
<input type="checkbox" name="BBS_OVERSEA_THREAD" value="checked" $SETTING{'BBS_OVERSEA_THREAD'}> |
1123 |
|
|
(する場合チェック) </div> |
1124 |
|
|
</td> |
1125 |
|
|
</tr> |
1126 |
|
|
<tr bgcolor="#999999"> |
1127 |
|
|
<td> |
1128 |
|
|
<div align="center">IPを公開する</div> |
1129 |
|
|
</td> |
1130 |
|
|
<td width="150" valign="middle"> |
1131 |
|
|
<div align="left"> |
1132 |
|
|
<input type="checkbox" name="BBS_DISP_IP" value="checked" $SETTING{'BBS_DISP_IP'}> |
1133 |
|
|
(する場合チェック)</div> |
1134 |
|
|
</td> |
1135 |
|
|
</tr> |
1136 |
|
|
|
1137 |
|
|
</table> |
1138 |
|
|
<div align="right"> |
1139 |
|
|
<input type="hidden" name="mode" value="setting1"> |
1140 |
|
|
<input type="hidden" name="bbs" value=$FORM{'bbs'}> |
1141 |
|
|
<input type="hidden" name="PASSWORD" value=$FORM{'PASSWORD'}> |
1142 |
|
|
<input type="submit" name="Submit" value="適用"> |
1143 |
|
|
</div> |
1144 |
|
|
</td> |
1145 |
|
|
</tr> |
1146 |
|
|
</table> |
1147 |
|
|
</form> |
1148 |
|
|
</td> |
1149 |
|
|
<TD width=300 ALIGN="right" VALIGN="top"> |
1150 |
|
|
<form method="post" action="$script"><input type=hidden name=pass value="$FORM{'pass'}"> |
1151 |
|
|
<table width="300" border="0" cellspacing="0" cellpadding="0"> |
1152 |
|
|
<tr> |
1153 |
|
|
<td> |
1154 |
|
|
<table width="300" border="1" cellspacing="0" cellpadding="0"> |
1155 |
|
|
|
1156 |
|
|
<tr bgcolor="#CCCCCC"> |
1157 |
|
|
<td colspan=2><b>掲示板のヘッダ</b></td> |
1158 |
|
|
</tr> |
1159 |
|
|
<tr bgcolor="#CCCCCC"> |
1160 |
|
|
<td> |
1161 |
|
|
<textarea rows=5 cols=39 wrap=OFF name=text> |
1162 |
|
|
EOF |
1163 |
|
|
|
1164 |
|
|
my $head = "../" . $FORM{'bbs'} . "/head.txt";if(-e $head){open(IN, "$head");print while <IN>;close(IN);} |
1165 |
|
|
|
1166 |
|
|
print <<EOF; |
1167 |
|
|
</textarea> |
1168 |
|
|
</td> |
1169 |
|
|
</tr> |
1170 |
|
|
</table> |
1171 |
|
|
<div align="right"> |
1172 |
|
|
<input type="hidden" name="mode" value="file_edit"> |
1173 |
|
|
<input type=hidden name=file value="$head"> |
1174 |
|
|
|
1175 |
|
|
<input type="hidden" name="bbs" value=$FORM{'bbs'}> |
1176 |
|
|
<input type="hidden" name="PASSWORD" value=$FORM{'PASSWORD'}> |
1177 |
|
|
<input type="submit" name="Submit" value="適用"> |
1178 |
|
|
</div> |
1179 |
|
|
</form> |
1180 |
|
|
</td> |
1181 |
|
|
</tr> |
1182 |
|
|
|
1183 |
|
|
<tr> |
1184 |
|
|
<TD width=300 ALIGN="right" VALIGN="top"> |
1185 |
|
|
<form method="post" action="$script"><input type=hidden name=pass value="$FORM{'pass'}"> |
1186 |
|
|
<table width="300" border="0" cellspacing="0" cellpadding="0"> |
1187 |
|
|
<tr> |
1188 |
|
|
<td> |
1189 |
|
|
<table width="300" border="1" cellspacing="0" cellpadding="0"> |
1190 |
|
|
<tr bgcolor="#CCCCCC"> |
1191 |
|
|
<td colspan=2><font size=2><b>ユーザー設定が異常です!</b></font></td> |
1192 |
|
|
</tr> |
1193 |
|
|
<tr bgcolor="#CCCCCC"> |
1194 |
|
|
<td><textarea rows=5 cols=39 wrap=OFF name=text> |
1195 |
|
|
EOF |
1196 |
|
|
my $uerror = "../" . $FORM{'bbs'} . "/uerror.cgi";if(-e $uerror){open(IN, "$uerror");print while <IN>;close(IN);} |
1197 |
|
|
print <<EOF; |
1198 |
|
|
</textarea> |
1199 |
|
|
</td> |
1200 |
|
|
</tr> |
1201 |
|
|
</table> |
1202 |
|
|
<div align="right"> |
1203 |
|
|
<input type="hidden" name="mode" value="file_edit"> |
1204 |
|
|
<input type=hidden name=file value="$uerror"> |
1205 |
|
|
|
1206 |
|
|
<input type="hidden" name="bbs" value=$FORM{'bbs'}> |
1207 |
|
|
<input type="hidden" name="PASSWORD" value=$FORM{'PASSWORD'}> |
1208 |
|
|
<input type="submit" name="Submit" value="適用"> |
1209 |
|
|
</div> |
1210 |
|
|
</form> |
1211 |
|
|
</td> |
1212 |
|
|
</tr> |
1213 |
|
|
|
1214 |
|
|
<tr> |
1215 |
|
|
<TD width=300 ALIGN="right" VALIGN="top"> |
1216 |
|
|
<form method="post" action="$script"><input type=hidden name=pass value="$FORM{'pass'}"> |
1217 |
|
|
<table width="300" border="0" cellspacing="0" cellpadding="0"> |
1218 |
|
|
<tr> |
1219 |
|
|
<td> |
1220 |
|
|
<table width="300" border="1" cellspacing="0" cellpadding="0"> |
1221 |
|
|
<tr bgcolor="#CCCCCC"> |
1222 |
|
|
<td colspan=2><font size=2><b>リモートホストを公開します。</b></font></td> |
1223 |
|
|
</tr> |
1224 |
|
|
<tr bgcolor="#CCCCCC"> |
1225 |
|
|
<td><textarea rows=5 cols=39 wrap=OFF name=text> |
1226 |
|
|
EOF |
1227 |
|
|
my $chubo = "../" . $FORM{'bbs'} . "/chubo.cgi";if(-e $chubo){open(IN, "$chubo");print while <IN>;close(IN);} |
1228 |
|
|
print <<EOF; |
1229 |
|
|
</textarea> |
1230 |
|
|
</td> |
1231 |
|
|
</tr> |
1232 |
|
|
</table> |
1233 |
|
|
<div align="right"> |
1234 |
|
|
<input type="hidden" name="mode" value="file_edit"> |
1235 |
|
|
<input type=hidden name=file value="$chubo"> |
1236 |
|
|
|
1237 |
|
|
<input type="hidden" name="bbs" value=$FORM{'bbs'}> |
1238 |
|
|
<input type="hidden" name="PASSWORD" value=$FORM{'PASSWORD'}> |
1239 |
|
|
<input type="submit" name="Submit" value="適用"> |
1240 |
|
|
</div> |
1241 |
|
|
</td> |
1242 |
|
|
</tr> |
1243 |
|
|
</table> |
1244 |
|
|
</form> |
1245 |
|
|
</td> |
1246 |
|
|
</tr> |
1247 |
|
|
|
1248 |
|
|
<tr> |
1249 |
|
|
<TD width=300 ALIGN="right" VALIGN="top"> |
1250 |
|
|
<form method="post" action="$script"><input type=hidden name=pass value="$FORM{'pass'}"> |
1251 |
|
|
<table width="300" border="0" cellspacing="0" cellpadding="0"> |
1252 |
|
|
<tr> |
1253 |
|
|
<td> |
1254 |
|
|
<table width="300" border="1" cellspacing="0" cellpadding="0"> |
1255 |
|
|
<tr bgcolor="#CCCCCC"> |
1256 |
|
|
<td colspan=2><font size=2><b>管理人から警告します。</b></font></td> |
1257 |
|
|
</tr> |
1258 |
|
|
<tr bgcolor="#CCCCCC"> |
1259 |
|
|
<td><textarea rows=5 cols=39 wrap=OFF name=text> |
1260 |
|
|
EOF |
1261 |
|
|
my $keikoku = "../" . $FORM{'bbs'} . "/keikoku.cgi";if(-e $keikoku){open(IN, "$keikoku");print while <IN>;close(IN);} |
1262 |
|
|
print <<EOF; |
1263 |
|
|
</textarea> |
1264 |
|
|
</td> |
1265 |
|
|
</tr> |
1266 |
|
|
</table> |
1267 |
|
|
<div align="right"> |
1268 |
|
|
<input type="hidden" name="mode" value="file_edit"> |
1269 |
|
|
<input type=hidden name=file value="$keikoku"> |
1270 |
|
|
|
1271 |
|
|
<input type="hidden" name="bbs" value=$FORM{'bbs'}> |
1272 |
|
|
<input type="hidden" name="PASSWORD" value=$FORM{'PASSWORD'}> |
1273 |
|
|
<input type="submit" name="Submit" value="適用"> |
1274 |
|
|
</div> |
1275 |
|
|
</td> |
1276 |
|
|
</tr> |
1277 |
|
|
</table> |
1278 |
|
|
</form> |
1279 |
|
|
</td> |
1280 |
|
|
</tr> |
1281 |
|
|
|
1282 |
|
|
<tr> |
1283 |
|
|
<TD width=300 ALIGN="right" VALIGN="top"> |
1284 |
|
|
<form method="post" action="$script"><input type=hidden name=pass value="$FORM{'pass'}"> |
1285 |
|
|
<table width="300" border="0" cellspacing="0" cellpadding="0"> |
1286 |
|
|
<tr> |
1287 |
|
|
<td> |
1288 |
|
|
<table width="300" border="1" cellspacing="0" cellpadding="0"> |
1289 |
|
|
<tr bgcolor="#CCCCCC"> |
1290 |
|
|
<td colspan=2><font size=2><b>個別の規制(key<>host)</b></font></td> |
1291 |
|
|
</tr> |
1292 |
|
|
<tr bgcolor="#CCCCCC"> |
1293 |
|
|
<td><textarea rows=5 cols=39 wrap=OFF name=text> |
1294 |
|
|
EOF |
1295 |
|
|
my $arashi = "../" . $FORM{'bbs'} . "/arashi.cgi";if(-e $arashi){open(IN, "$arashi");print while <IN>;close(IN);} |
1296 |
|
|
print <<EOF; |
1297 |
|
|
</textarea> |
1298 |
|
|
</td> |
1299 |
|
|
</tr> |
1300 |
|
|
</table> |
1301 |
|
|
<div align="right"> |
1302 |
|
|
<input type="hidden" name="mode" value="file_edit"> |
1303 |
|
|
<input type=hidden name=file value="$arashi"> |
1304 |
|
|
|
1305 |
|
|
<input type="hidden" name="bbs" value=$FORM{'bbs'}> |
1306 |
|
|
<input type="hidden" name="PASSWORD" value=$FORM{'PASSWORD'}> |
1307 |
|
|
<input type="submit" name="Submit" value="適用"> |
1308 |
|
|
</div> |
1309 |
|
|
</td> |
1310 |
|
|
</tr> |
1311 |
|
|
</table> |
1312 |
|
|
</form> |
1313 |
|
|
</td> |
1314 |
|
|
</tr> |
1315 |
|
|
|
1316 |
|
|
<tr> |
1317 |
|
|
<TD width=300 ALIGN="right" VALIGN="top"> |
1318 |
|
|
<form method="post" action="$script"><input type=hidden name=pass value="$FORM{'pass'}"> |
1319 |
|
|
<table width="300" border="0" cellspacing="0" cellpadding="0"> |
1320 |
|
|
<tr> |
1321 |
|
|
<td> |
1322 |
|
|
<table width="300" border="1" cellspacing="0" cellpadding="0"> |
1323 |
|
|
<tr bgcolor="#CCCCCC"> |
1324 |
|
|
<td colspan=2><font size=2><b>NGワードの設定</b></font></td> |
1325 |
|
|
</tr> |
1326 |
|
|
<tr bgcolor="#CCCCCC"> |
1327 |
|
|
<td><textarea rows=5 cols=39 wrap=OFF name=text> |
1328 |
|
|
EOF |
1329 |
|
|
my $ngword = "../" . $FORM{'bbs'} . "/ngword.cgi";if(-e $ngword){open(IN, "$ngword");print while <IN>;close(IN);} |
1330 |
|
|
print <<EOF; |
1331 |
|
|
</textarea> |
1332 |
|
|
</td> |
1333 |
|
|
</tr> |
1334 |
|
|
</table> |
1335 |
|
|
<div align="right"> |
1336 |
|
|
<input type="hidden" name="mode" value="file_edit"> |
1337 |
|
|
<input type=hidden name=file value="$ngword"> |
1338 |
|
|
|
1339 |
|
|
<input type="hidden" name="bbs" value=$FORM{'bbs'}> |
1340 |
|
|
<input type="hidden" name="PASSWORD" value=$FORM{'PASSWORD'}> |
1341 |
|
|
<input type="submit" name="Submit" value="適用"> |
1342 |
|
|
</div> |
1343 |
|
|
</td> |
1344 |
|
|
</tr> |
1345 |
|
|
</table> |
1346 |
|
|
</form> |
1347 |
|
|
</TD> |
1348 |
|
|
</tr> |
1349 |
|
|
</table> |
1350 |
|
|
</div> |
1351 |
|
|
</td> |
1352 |
|
|
</tr> |
1353 |
|
|
</table> |
1354 |
|
|
</td> |
1355 |
|
|
</tr> |
1356 |
|
|
</table> |
1357 |
|
|
</tr> |
1358 |
|
|
</table> |
1359 |
|
|
EOF |
1360 |
|
|
&footer; |
1361 |
|
|
} |
1362 |
|
|
|
1363 |
|
|
#-----------------------------------------------------------setting1 |
1364 |
|
|
sub setting1 { |
1365 |
|
|
$file = "../" . $FORM{'bbs'} . $SETTINGFILE; |
1366 |
|
|
|
1367 |
|
|
open(FILE,"<./board.txt"); |
1368 |
|
|
@board = <FILE>; |
1369 |
|
|
close(FILE); |
1370 |
|
|
open(FILE,">./board.txt"); |
1371 |
|
|
eval{flock(FILE,2)}; |
1372 |
|
|
foreach(@board){ |
1373 |
|
|
chop($_); |
1374 |
|
|
($path,$name,$st)=split /<>/; |
1375 |
|
|
if($FORM{'bbs'} eq $path){$name=$FORM{'BBS_TITLE'};} |
1376 |
|
|
print FILE "$path<>$name<>$st\n"; |
1377 |
|
|
} |
1378 |
|
|
eval{flock(FILE,8)}; |
1379 |
|
|
close(FILE); |
1380 |
|
|
|
1381 |
|
|
#パスワード通過後 |
1382 |
|
|
open(FILE,"<$file"); |
1383 |
|
|
$first = <FILE>; |
1384 |
|
|
close(FILE); |
1385 |
|
|
|
1386 |
|
|
open(FILE,">$file"); |
1387 |
|
|
eval{flock(FILE,2);}; |
1388 |
|
|
print FILE $first; |
1389 |
|
|
foreach $str (@SAVEKEY){ |
1390 |
|
|
print FILE "$str=" . $FORM{"$str"} . "\n"; |
1391 |
|
|
} |
1392 |
|
|
eval{flock(FILE,8);}; |
1393 |
|
|
close(FILE); |
1394 |
|
|
|
1395 |
|
|
chmod($p_txt,"./board.txt"); |
1396 |
|
|
chmod($p_txt,"$file"); |
1397 |
|
|
|
1398 |
|
|
|
1399 |
|
|
&jump; |
1400 |
|
|
} |
1401 |
|
|
|
1402 |
|
|
|
1403 |
|
|
|
1404 |
|
|
sub pass_change { |
1405 |
|
|
if($FORM{'pass'} ne $FORM{'password0'}){DispError("ERROR","旧パスワードが違います!");} |
1406 |
|
|
if($FORM{'password1'} ne $FORM{'password2'}){DispError("ERROR","新パスワードが違います!");} |
1407 |
|
|
$chk = crypt($FORM{'password1'},$salt); |
1408 |
|
|
open (FILE,">$pass_file"); |
1409 |
|
|
eval{flock(FILE,2);}; |
1410 |
|
|
print FILE $chk; |
1411 |
|
|
eval{flock(FILE,8);}; |
1412 |
|
|
close(FILE); |
1413 |
|
|
chmod($p_txt,"$pass_file"); |
1414 |
|
|
|
1415 |
|
|
$FORM{'pass'} = $FORM{'password1'}; |
1416 |
|
|
if($cookie{'pass'}){ |
1417 |
|
|
my $exp = 24 * 60 * 60; $exp *= 30; |
1418 |
|
|
my($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = gmtime(time + $exp); |
1419 |
|
|
$wday = ('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday')[$wday]; |
1420 |
|
|
$mon = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec')[$mon]; |
1421 |
|
|
$year = $year+1900;$mday = "0$mday" if ($mday < 10); |
1422 |
|
|
$expires = "$wday, $mday-$mon-$year 00:00:00 GMT"; |
1423 |
|
|
print "Set-Cookie: pass=$FORM{'pass'}; expires=$expires; path=/\n"; |
1424 |
|
|
} |
1425 |
|
|
&header; |
1426 |
|
|
print <<"EOF"; |
1427 |
|
|
変更完了。 |
1428 |
|
|
<form action="$script" method="POST"><input type=hidden name=pass value="$FORM{'pass'}"><input type=submit name="button" value="戻る"></form> |
1429 |
|
|
EOF |
1430 |
|
|
&footer; |
1431 |
|
|
} |
1432 |
|
|
|
1433 |
|
|
sub file_edit { |
1434 |
|
|
open(FILE,">$FORM{'file'}"); |
1435 |
|
|
eval{flock(FILE,2);}; |
1436 |
|
|
print FILE $FORM{'text'}; |
1437 |
|
|
eval{flock(FILE,8);}; |
1438 |
|
|
close(FILE); |
1439 |
|
|
chmod($p_txt,$FORM{'file'}); |
1440 |
|
|
if($FORM{'file'}=~/head.txt$/){ |
1441 |
|
|
if ($SETTING{'BBS_LOCATION_CHECK'} eq 'checked') { |
1442 |
|
|
print "Location: ./remake.cgi?bbs=$FORM{'bbs'}&key=0\n\n"; |
1443 |
|
|
} else { |
1444 |
|
|
print "Content-Type: text/html; charset=shift_jis\n\n"; |
1445 |
|
|
print <<EOF; |
1446 |
|
|
<html><head> |
1447 |
|
|
<title>変更中</title> |
1448 |
|
|
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> |
1449 |
|
|
<META content=0;URL=./remake.cgi?bbs=$FORM{'bbs'}&key=0 http-equiv=refresh></head> |
1450 |
|
|
<body bgcolor=#EEEEEE> |
1451 |
|
|
変更中 |
1452 |
|
|
</body></html> |
1453 |
|
|
EOF |
1454 |
|
|
} |
1455 |
|
|
exit; |
1456 |
|
|
} |
1457 |
|
|
&header; |
1458 |
|
|
if($FORM{'file'}=~/(uerror|chubo|keikoku|arashi|ngword)\.cgi$/){&setting;} |
1459 |
|
|
|
1460 |
|
|
&setting_all;&footer; |
1461 |
|
|
exit; |
1462 |
|
|
} |
1463 |
|
|
|
1464 |
|
|
sub conv1 { |
1465 |
|
|
open(I,"./board.txt");@b=<I>;close(I);for(@b){chop($_); |
1466 |
|
|
open(F,"../$_/SETTING.TXT");for$s(<F>){chop($s);($n,$v)=split/=/,$s; |
1467 |
|
|
$T{$n}=$v}close(F);$S{$_}="$_<>$T{BBS_TITLE}<>\n"}open(F,">./board.txt"); |
1468 |
|
|
for(@b){chomp($_);print F $S{$_}}close(F);chmod($p_txt,"./board.txt"); |
1469 |
|
|
|
1470 |
|
|
print <<"EOF"; |
1471 |
|
|
変換完了。 |
1472 |
|
|
<form action="$script" method="POST"><input type=hidden name=pass value="$FORM{'pass'}"><input type=submit name="button" value="戻る"></form> |
1473 |
|
|
EOF |
1474 |
|
|
} |
1475 |
|
|
|
1476 |
|
|
|
1477 |
|
|
|
1478 |
|
|
|
1479 |
|
|
|
1480 |
|
|
|
1481 |
|
|
|
1482 |
|
|
|
1483 |
|
|
|
1484 |
|
|
|
1485 |
|
|
|
1486 |
|
|
|
1487 |
|
|
#-----------------------------------------------------------cap |
1488 |
|
|
sub cap { |
1489 |
|
|
#キャップ→帽子→偽り防止 |
1490 |
|
|
open(IN,"../caps.cgi"); |
1491 |
|
|
@list = <IN>; |
1492 |
|
|
close(IN); |
1493 |
|
|
|
1494 |
|
|
$fll=0; |
1495 |
|
|
#---------------追加 |
1496 |
|
|
if($FORM{'mode2'} eq "add"){ |
1497 |
|
|
$fll=1; |
1498 |
|
|
if($FORM{'name'} eq ""){ |
1499 |
|
|
DispError("ERROR!","名前が入力されていません!") |
1500 |
|
|
} |
1501 |
|
|
if($FORM{'password'} eq ""){ |
1502 |
|
|
DispError("ERROR!","パスが入力されていません!") |
1503 |
|
|
} |
1504 |
|
|
foreach (@list) { |
1505 |
|
|
chomp($_); |
1506 |
|
|
my ($id,$name,$pass) = split (/<>/); |
1507 |
|
|
|
1508 |
|
|
if($FORM{'name'} eq $name) { |
1509 |
|
|
DispError ("ERROR!","その名前は既に使用されています!") |
1510 |
|
|
} |
1511 |
|
|
if($FORM{'password'} eq $pass) { |
1512 |
|
|
DispError ("ERROR!","そのパスは既に使用されています!") |
1513 |
|
|
} |
1514 |
|
|
} |
1515 |
|
|
|
1516 |
|
|
open(OUT,">>../caps.cgi"); |
1517 |
|
|
eval{flock(OUT,2);}; |
1518 |
|
|
print OUT "$FORM{'time'}<>$FORM{'name'}<>$FORM{'password'}<>$FORM{'memo'}\n"; |
1519 |
|
|
eval{flock(OUT,8);}; |
1520 |
|
|
close(OUT); |
1521 |
|
|
chmod($p_txt,"../caps.cgi"); |
1522 |
|
|
|
1523 |
|
|
} |
1524 |
|
|
#---------------編集 |
1525 |
|
|
elsif($FORM{'mode2'} eq "edit"){ |
1526 |
|
|
$fll=1; |
1527 |
|
|
foreach(@list){ |
1528 |
|
|
($id,$name,$pass) = split(/<>/,$_); |
1529 |
|
|
if($FORM{'id'} eq $id){ |
1530 |
|
|
$cap="$FORM{'id'}<>$FORM{'name'}<>$FORM{'password'}<>$FORM{'memo'}\n"; |
1531 |
|
|
}else{ |
1532 |
|
|
$cap=$_; |
1533 |
|
|
} |
1534 |
|
|
push(@caplist,$cap); |
1535 |
|
|
} |
1536 |
|
|
|
1537 |
|
|
open(OUT,">../caps.cgi"); |
1538 |
|
|
eval{flock(OUT,2);}; |
1539 |
|
|
foreach (@caplist){print OUT $_;} |
1540 |
|
|
eval{flock(OUT,8);}; |
1541 |
|
|
close(OUT); |
1542 |
|
|
chmod($p_txt,"../caps.cgi"); |
1543 |
|
|
} |
1544 |
|
|
#---------------削除1 |
1545 |
|
|
elsif($FORM{'mode2'} eq "del"){ |
1546 |
|
|
print <<"EOF"; |
1547 |
|
|
|
1548 |
|
|
<form action="$script" method="POST"><input type=hidden name=pass value="$FORM{'pass'}"> |
1549 |
|
|
<input type=hidden name="mode" value="cap"> |
1550 |
|
|
<input type=submit name="button" value="戻る"> |
1551 |
|
|
</form> |
1552 |
|
|
|
1553 |
|
|
<table border=1 cellspacing=2 cellpadding=3> |
1554 |
|
|
<form action="$script" method="POST"><input type=hidden name=pass value="$FORM{'pass'}"> |
1555 |
|
|
<input type=hidden name="mode" value="cap"> |
1556 |
|
|
<input type=hidden name="mode2" value="del2"> |
1557 |
|
|
<input type=submit value="削除"> |
1558 |
|
|
|
1559 |
|
|
<tr><th> </th><th>キャップID</th><th>名前</th><th>メモ</th></tr> |
1560 |
|
|
EOF |
1561 |
|
|
|
1562 |
|
|
|
1563 |
|
|
foreach (@list) { |
1564 |
|
|
chomp($_); |
1565 |
|
|
my ($id,$name,$pass,$memo) = split (/<>/); |
1566 |
|
|
print <<"EOF" |
1567 |
|
|
<tr><td><input type="checkbox" name="$id" value="1"></td><td>$id</td> |
1568 |
|
|
<td>$name</td><td>$memo</td> |
1569 |
|
|
</tr> |
1570 |
|
|
EOF |
1571 |
|
|
} |
1572 |
|
|
|
1573 |
|
|
print <<"EOF"; |
1574 |
|
|
</table> |
1575 |
|
|
</form> |
1576 |
|
|
EOF |
1577 |
|
|
&footer; |
1578 |
|
|
} |
1579 |
|
|
|
1580 |
|
|
#---------------削除2 |
1581 |
|
|
elsif($FORM{'mode2'} eq "del2"){ |
1582 |
|
|
$fll=1; |
1583 |
|
|
foreach(@list){ |
1584 |
|
|
($id,$name,$pass) = split(/<>/,$_); |
1585 |
|
|
if($FORM{$id} ne "1"){push(@caplist,$_);} |
1586 |
|
|
} |
1587 |
|
|
|
1588 |
|
|
open(OUT,">../caps.cgi"); |
1589 |
|
|
eval{flock(OUT,2);}; |
1590 |
|
|
foreach (@caplist){print OUT $_;} |
1591 |
|
|
eval{flock(OUT,8);}; |
1592 |
|
|
close(OUT); |
1593 |
|
|
chmod($p_txt,"../caps.cgi"); |
1594 |
|
|
} |
1595 |
|
|
#---------------それ以外 |
1596 |
|
|
|
1597 |
|
|
if($fll eq 1){ |
1598 |
|
|
chmod($p_txt,"../caps.cgi"); |
1599 |
|
|
print <<"EOF"; |
1600 |
|
|
処理完了<form action="$script" method="POST"><input type=hidden name=pass value="$FORM{'pass'}"> |
1601 |
|
|
<input type=hidden name="mode" value="cap"> |
1602 |
|
|
<input type=submit name="button" value="戻る"> |
1603 |
|
|
</form> |
1604 |
|
|
EOF |
1605 |
|
|
&footer; |
1606 |
|
|
} |
1607 |
|
|
|
1608 |
|
|
#########キャップ管理メニュー |
1609 |
|
|
print <<"EOF"; |
1610 |
|
|
|
1611 |
|
|
<table border=0 cellspacing=0 cellpadding=0> |
1612 |
|
|
<tr><td> |
1613 |
|
|
<form action="$script" method="POST"><input type=hidden name=pass value="$FORM{'pass'}"> |
1614 |
|
|
<input type=submit name="button" value="戻る"> |
1615 |
|
|
</td></form> |
1616 |
|
|
<td><form action="$script" method="POST"><input type=hidden name=pass value="$FORM{'pass'}"> |
1617 |
|
|
<input type=hidden name="mode" value="cap"> |
1618 |
|
|
<input type=hidden name="mode2" value="del"> |
1619 |
|
|
|<input type=submit value="削除"> |
1620 |
|
|
</td></form></tr> |
1621 |
|
|
</table> |
1622 |
|
|
|
1623 |
|
|
<hr> |
1624 |
|
|
<table border=0 cellspacing=0 cellpadding=0><tr> |
1625 |
|
|
<td><form action="$script" method="POST"><input type=hidden name=pass value="$FORM{'pass'}"> |
1626 |
|
|
|
1627 |
|
|
|
1628 |
|
|
<table border=0 cellspacing=0 cellpadding=0> |
1629 |
|
|
<tr><td align=right>新規キャップ 名前:</td><td><input type=text name="name"></td> |
1630 |
|
|
<td align=right> パス:</td><td><input type=text name="password"></td> |
1631 |
|
|
<td align=right> メモ:</td><td><input type=text name="memo"></td> |
1632 |
|
|
<td align=right><input type=submit value="追加"></td></tr> |
1633 |
|
|
<input type=hidden name="mode" value="cap"> |
1634 |
|
|
<input type=hidden name="mode2" value="add"> |
1635 |
|
|
<input type=hidden name="time" value="$NOWTIME"> |
1636 |
|
|
</td></form> |
1637 |
|
|
|
1638 |
|
|
</tr></table> |
1639 |
|
|
<hr> |
1640 |
|
|
|
1641 |
|
|
|
1642 |
|
|
|
1643 |
|
|
<table border=1 cellspacing=2 cellpadding=3> |
1644 |
|
|
<tr><th>キャップID</th><th>名前・パス</th><th>メモ</th></tr> |
1645 |
|
|
EOF |
1646 |
|
|
|
1647 |
|
|
|
1648 |
|
|
foreach (@list) { |
1649 |
|
|
chomp($_); |
1650 |
|
|
my ($id,$name,$pass,$memo) = split (/<>/); |
1651 |
|
|
print <<"EOF" |
1652 |
|
|
<tr><td>$id</td> |
1653 |
|
|
|
1654 |
|
|
<td> |
1655 |
|
|
<form action="$script" method="POST"><input type=hidden name=pass value="$FORM{'pass'}"> |
1656 |
|
|
|
1657 |
|
|
名前:<input type=text name="name" value="$name"> |
1658 |
|
|
パス:<input type=text name="password" value="$pass"> |
1659 |
|
|
<input type=submit value="変更"> |
1660 |
|
|
<input type=hidden name="mode" value="cap"> |
1661 |
|
|
<input type=hidden name="mode2" value="edit"> |
1662 |
|
|
<input type=hidden name="id" value="$id"> |
1663 |
|
|
</td> |
1664 |
|
|
<td> |
1665 |
|
|
メモ:<input type=text name="memo" value="$memo"> |
1666 |
|
|
</td> |
1667 |
|
|
</form> |
1668 |
|
|
</tr> |
1669 |
|
|
EOF |
1670 |
|
|
} |
1671 |
|
|
|
1672 |
|
|
print <<"EOF"; |
1673 |
|
|
</table> |
1674 |
|
|
</td></tr></table> |
1675 |
|
|
EOF |
1676 |
|
|
&footer; |
1677 |
|
|
} |
1678 |
|
|
|
1679 |
|
|
|
1680 |
|
|
|
1681 |
|
|
|
1682 |
|
|
|
1683 |
|
|
sub del_cookie { |
1684 |
|
|
print "Set-Cookie: pass=; expires=0; path=/\n"; |
1685 |
|
|
&header; |
1686 |
|
|
print <<"EOF"; |
1687 |
|
|
完了。 |
1688 |
|
|
<form action="$script" method="POST"> |
1689 |
|
|
<input type=hidden name=pass value="$FORM{'pass'}"> |
1690 |
|
|
<input type=submit name="button" value="戻る"> |
1691 |
|
|
</form> |
1692 |
|
|
EOF |
1693 |
|
|
&footer; |
1694 |
|
|
} |
1695 |
|
|
|
1696 |
|
|
#-----------------------------------------------------------remove |
1697 |
|
|
sub remove { |
1698 |
|
|
|
1699 |
|
|
if($FORM{'mode2'} eq 'remove'){ |
1700 |
|
|
print <<EOF; |
1701 |
|
|
<table border=0> |
1702 |
|
|
<tr><td> |
1703 |
|
|
<form action="$script" method="POST"> |
1704 |
|
|
<input type=hidden name=pass value="$FORM{'pass'}"> |
1705 |
|
|
<input type=hidden name="mode" value="remove"> |
1706 |
|
|
<input type=hidden name="mode2" value="remove2"> |
1707 |
|
|
<input type=hidden name="bbs" value="$FORM{'bbs'}"> |
1708 |
|
|
|
1709 |
|
|
|
1710 |
|
|
掲示板<b>$FORM{'bbs'}</b>を削除します。よろしいですか?(最終確認)</td><td> |
1711 |
|
|
|
1712 |
|
|
<input type="submit" value="はい"></td> |
1713 |
|
|
</form> |
1714 |
|
|
|
1715 |
|
|
<td><form action="$script" method="POST"><input type=hidden name=pass value="$FORM{'pass'}"> |
1716 |
|
|
<input type=submit name="button" value="いいえ"></td></tr> |
1717 |
|
|
</td></form> |
1718 |
|
|
</table> |
1719 |
|
|
</body> |
1720 |
|
|
</html> |
1721 |
|
|
EOF |
1722 |
|
|
&footer; |
1723 |
|
|
exit; |
1724 |
|
|
}elsif($FORM{'mode2'} eq 'remove2'){ |
1725 |
|
|
$ENV{'SCRIPT_NAME'} =~ /\/([^\/]+)\/kanri.cgi$/; |
1726 |
|
|
|
1727 |
|
|
if (!-e "../$FORM{'bbs'}/" || $FORM{'bbs'} eq "" || $FORM{'bbs'} eq "test" || $FORM{'bbs'} eq "$1" || $FORM{'bbs'} =~ /\//){ |
1728 |
|
|
DispError("(゚Д゚)ハァ?","(゚Д゚)ハァ?"); |
1729 |
|
|
} |
1730 |
|
|
|
1731 |
|
|
if (-e "../$FORM{'bbs'}"){ |
1732 |
|
|
&deltree("../$FORM{'bbs'}"); |
1733 |
|
|
open(IN,"./board.txt"); |
1734 |
|
|
@list=<IN>; |
1735 |
|
|
close(IN); |
1736 |
|
|
|
1737 |
|
|
foreach (@list){ |
1738 |
|
|
chomp($_); |
1739 |
|
|
($path,$name,$st)=split /<>/; |
1740 |
|
|
if($FORM{'bbs'} ne $path){push(@bbslist,$_);} |
1741 |
|
|
open (OUT,">./board.txt"); |
1742 |
|
|
eval{flock(OUT,2);}; |
1743 |
|
|
foreach (@bbslist){print OUT "$_\n";} |
1744 |
|
|
eval{flock(OUT,8);}; |
1745 |
|
|
close(OUT); |
1746 |
|
|
chmod($p_txt,"../caps.cgi"); |
1747 |
|
|
} |
1748 |
|
|
} |
1749 |
|
|
|
1750 |
|
|
print "<form action=\"$script\" method=\"POST\"><input type=hidden name=pass value=\"$FORM{'pass'}\">完了<input type=submit name=\"button\" value=\"もどる\"></form>"; |
1751 |
|
|
|
1752 |
|
|
} |
1753 |
|
|
} |
1754 |
|
|
|
1755 |
|
|
|
1756 |
|
|
sub deltree { |
1757 |
|
|
(-e $dir."/test/") && die; |
1758 |
|
|
my $dir=$_[0];opendir(DIR,"$dir");foreach(grep !/^\.\.?$/,readdir DIR) |
1759 |
|
|
{if(-e "$dir/$_/."){deltree("$dir/$_");}unlink("$dir/$_");}closedir (DIR); |
1760 |
|
|
rmdir("$dir"); |
1761 |
|
|
} |
1762 |
|
|
|
1763 |
|
|
#----------------------------------------------------------- |
1764 |
|
|
sub jump { |
1765 |
|
|
if ($SETTING{'BBS_LOCATION_CHECK'} eq 'checked') { |
1766 |
|
|
print "Location: ./remake.cgi?bbs=$FORM{'bbs'}&key=0\n\n"; |
1767 |
|
|
} else { |
1768 |
|
|
print "Content-Type: text/html; charset=shift_jis\n\n"; |
1769 |
|
|
print <<EOF; |
1770 |
|
|
<html><head> |
1771 |
|
|
<title>変更中</title> |
1772 |
|
|
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> |
1773 |
|
|
<META content=0;URL=./remake.cgi?bbs=$FORM{'bbs'}&key=0 http-equiv=refresh></head> |
1774 |
|
|
<body bgcolor=#EEEEEE> |
1775 |
|
|
変更中 |
1776 |
|
|
</body></html> |
1777 |
|
|
EOF |
1778 |
|
|
} |
1779 |
|
|
exit; |
1780 |
|
|
} |
1781 |
|
|
|
1782 |
|
|
|
1783 |
|
|
#エラー画面(エラー処理) |
1784 |
|
|
#DispError(TITLE,TOPIC); |
1785 |
|
|
sub DispError{ |
1786 |
|
|
my $title=$_[0]; |
1787 |
|
|
my $topic=$_[1]; |
1788 |
|
|
# print "Content-type: text/html; charset=shift_jis\n\n"; |
1789 |
|
|
#----------------------------------------------------------------------- |
1790 |
|
|
print <<EOF; |
1791 |
|
|
<html> |
1792 |
|
|
<head> |
1793 |
|
|
<title>$title</title> |
1794 |
|
|
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> |
1795 |
|
|
</head> |
1796 |
|
|
<body> |
1797 |
|
|
<div><b> $topic</b></div> |
1798 |
|
|
</body> |
1799 |
|
|
</html> |
1800 |
|
|
EOF |
1801 |
|
|
#----------------------------------------------------------------------- |
1802 |
|
|
exit; |
1803 |
|
|
} |