/[suikacvs]/webroot/sccc/board-t/admin/kanri.cgi
Suika

Contents of /webroot/sccc/board-t/admin/kanri.cgi

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Wed Jan 12 04:23:01 2005 UTC (20 years, 3 months ago) by wakaba
Branch: MAIN
CVS Tags: HEAD
New

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'){&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>&nbsp;</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>&nbsp</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     }

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24