#!/usr/local/bin/perl #┌───────────────────────────────── #│ LIGHT BOARD - admin.cgi (2004/01/31) #│ Copyright (c) KentWeb #│ webmaster@kent-web.com #│ http://www.kent-web.com/ #└───────────────────────────────── # 外部ファイル取り込み require './jcode.pl'; require './init.cgi'; &decode; &setfile; if ($mode eq "admin") { &admin; } elsif ($mode eq "setup") { &setup; } &enter; #------------------------------------------------- # 管理モード #------------------------------------------------- sub admin { # ログイン画面 if ($in{'pass'} eq "") { &header; print "
\n"; print "

パスワードを入力してください

\n"; print "
\n"; print "記事\n"; print "設定

\n"; print "\n"; print "
\n"; print "\n"; exit; # 認証 } elsif ($in{'pass'} ne $pass) { &error("パスワードが違います"); } # 削除 if ($in{'job'} eq "del" && $in{'no'}) { # ロック開始 &lock if ($lockkey); # 削除記事抜き取り @new=(); open(IN,"$logfile") || &error("Open Error: $logfile"); while () { ($no) = split(/<>/); next if ($in{'no'} == $no); push(@new,$_); } close(IN); # 更新 open(OUT,">$logfile") || &error("Write Error: $logfile"); print OUT @new; close(OUT); # ロック解除 &unlock if ($lockkey); # 修正フォーム } elsif ($in{'job'} eq "edit" && $in{'no'}) { open(IN,"$logfile") || &error("Open Error: $logfile"); while () { ($no,$dat,$nam,$eml,$sub,$com,$url) = split(/<>/); last if ($in{'no'} == $no); } close(IN); &edit_form($no,$dat,$nam,$eml,$sub,$com,$url); # 修正実行 } elsif ($in{'job'} eq "edit2") { # 入力チェック if ($in{'url'} eq "http://") { $in{'url'}=""; } # ロック開始 &lock if ($lockkey); # 削除記事抜き取り @new=(); open(IN,"$logfile") || &error("Open Error: $logfile"); while () { ($no,$dat,$nam,$eml,$sub,$com,$url,$hos,$pwd,$tim) = split(/<>/); if ($in{'no'} == $no) { $_="$no<>$dat<>$in{'name'}<>$in{'email'}<>$in{'sub'}<>$in{'comment'}<>$in{'url'}<>$hos<>$pwd<>$tim<>\n"; } push(@new,$_); } close(IN); # 更新 open(OUT,">$logfile") || &error("Write Error: $logfile"); print OUT @new; close(OUT); # ロック解除 &unlock if ($lockkey); } # 管理画面 &header; print <<"EOM"; [掲示板に戻る]

記事メンテナンス

EOM # 記事展開 open(IN,"$logfile") || &error("Open Error: $logfile"); while () { ($no,$dat,$nam,$eml,$sub,$com,$url,$hos,$pwd) = split(/<>/); $nam = "$nam" if ($eml); $com =~ s/<([^>]|\n)*>//g; if (length($com) > 70) { $com = substr($com,0,70); $com .= "..."; } print "

"; print "[$no] $sub - $nam "; print "- $dat
$com <$hos>\n"; } close(IN); print "

\n\n"; exit; } #------------------------------------------------- # 設定処理 #------------------------------------------------- sub setup { if ($in{'pass'} ne $pass) { &error("パスワードが違います"); } # 編集実行 if ($in{'job'} eq "setup") { # チェック if (!$in{'home'}) { &error('戻り先の入力がありません'); } if (!$in{'max'}) { &error('最大記事数の入力がありません'); } if (!$in{'plog'}) { &error('表示件数の入力がありません'); } if (!$in{'b_size'}) { &error('本文文字サイズの入力がありません'); } if ($in{'t_img'} eq "http://") { $in{'t_img'}=""; } if ($in{'bg'} eq "http://") { $in{'bg'}=""; } # 更新 open(OUT,">$setfile") || &error("Write Error : $setfile"); print OUT "$in{'title'}<>$in{'t_col'}<>$in{'t_size'}<>$in{'t_face'}<>$in{'t_img'}<>$in{'bg'}<>$in{'bc'}<>$in{'tx'}<>$in{'li'}<>$in{'vl'}<>$in{'al'}<>$in{'home'}<>$in{'max'}<>$in{'subcol'}<>$in{'refcol'}<>$in{'plog'}<>$in{'b_size'}<>$in{'mail'}<>$in{'deny'}<>$in{'link'}<>$in{'wait'}<>"; close(OUT); # 完了メッセージ &header; print "

設定が完了しました

\n"; print "
\n"; print "
\n"; print "\n"; exit; } &header; $t_img ||= "http://"; $bg ||= "http://"; $home ||= "http://"; $b_size =~ s/\D//g; print <<"EOM"; [掲示板に戻る]

設定画面

  • 修正する部分のみ変更してください。
    \n"; print "\n"; if ($sendmail) { print "\n"; print ""; print "\n"; } print <<"EOM";

    タイトル名
    タイトル色
    タイトルサイズ ピクセル
    タイトルフォント
    タイトル画像 (任意)

    壁紙 (任意)
    背景色
    文字色
    リンク色 (未訪問)
    リンク色 (訪問済)
    リンク色 (訪問中)

    記事題名色
    引用符色
    戻り先
    最大記事数
    表\示件数 (1ページ当りの記事表\示数)
    本文文字 ピクセル
    URLリンク EOM if ($link) { print "する\n", "しない\n"; } else { print "する\n", "しない\n"; } print "  (記事中のURLを自動リンク)
    投稿間隔"; print " 秒   "; print "(同一ホストの連続投稿制御)

    Eメール
    \n"; print "(メール通知する場合)

    拒否ホスト
    (アクセス拒否するホスト情報をスペースで区切る)

    EOM exit; } __END__