#!/usr/bin/perl #┌───────────────────────────────── #│ CLIP BOARD v1.6 (2002/08/01) #│ Copyright(C) Kent Web 2002 #│ webmaster@kent-web.com #│ http://www.kent-web.com/ #└───────────────────────────────── $ver = 'ClipBoard v1.6'; #┌───────────────────────────────── #│ [注意事項] #│ 1. このスクリプトはフリーソフトです。このスクリプトを使用した #│ いかなる損害に対して作者は一切の責任を負いません。 #│ 2. 設置に関する質問はサポート掲示板にお願いいたします。 #│ 直接メールによる質問は一切お受けいたしておりません。 #│ 3. このスクリプトは、method=POST 専用です。 #│ 4. 同梱のアイコンは再配布で著作権者は以下のとおりです。 #│ home.gif : mayuRinさん #│ clip.gif : 牛飼いとアイコンの部屋さん #└───────────────────────────────── # # [ 設置構成例 ] : かっこ内はパーミッション値 # # public_html / index.html (ホームページなど) # | # +-- clip / clip.cgi [755] # | clip.log [666] # | jcode.pl [644] # | cgi-lib.pl [644] # | # +-- img [777] / clip.gif # | home.gif # | soon.gif # | # +-- lock [777] / #============# # 設定 # #============# # ライブラリ取り込み require './jcode.pl'; require './cgi-lib.pl'; # タイトル名 $title = "ゲーム企画アップ板"; # タイトル文字の色 $t_color = "#800000"; # タイトル文字のタイプ $t_face = "MS Pゴシック"; # タイトル文字サイズ(スタイルシートで有効) $t_point = '20pt'; # 本文文字サイズ(スタイルシートで有効) $b_size = '10pt'; # 記事題名の色 $sub_color = "green"; # スクリプト名 # → 絶対パスなら http:// からのURLパス $script = './clip.cgi'; # ログファイル名 # → 絶対パスなら / から始まるパス(http://からではないので注意) $logfile = './clip.log'; # 管理用パスワード $pass = '11090025'; # 最大記事数(これを超える記事は古い順に削除されます) $max = 1000; # 戻り先 $home = "../index.html"; # bodyタグ $body = '
'; # URLの自動リンク (0=no 1=yes) # → タグ許可の場合は no とすること。 $autolink = 1; # 1ページあたりの記事表示件数 $p_log = 10; # ロックファイル機構 (0=no 1=symlink関数 2=mkdir関数) $lockkey = 0; # ロックファイル名 # → 絶対パスなら / から始まるパス(http://からではないので注意) $lockfile = './lock/clip.lock'; # アップロードディレクトリ # → パスの最後は / で終わること # → フルパスだと / から記述する $ImgDir = "./img/"; # アップロードディレクトリのURLパス # → パスの最後は / で終わること $ImgUrl = "http://www.bonkureshougatu.com/clip/img/"; # 画像管理者チェック機能 (0=no 1=yes) # 0 : アップロード「画像」は管理者がチェックしないと表示されない機能です # 1 : チェックされるまで「画像」は「COMMING SOON」のアイコンが表示されます $ImageCheck = 1; # 画像と記事の位置 # 1 : 画像が左。記事は右から回り込む # 2 : 画像が上。記事は画像の下から表示。 $imgpoint = 1; # 投稿処理の権限 # 0 : 誰でも投稿可能 # 1 : 管理者のみが投稿 $PostMode = 0; # 添付ファイルのアップロードに失敗したとき # 0 : 添付ファイルは無視し、記事は受理する # 1 : エラー表示して処理を中断する $clip_err = 1; # メール通知機能 # 0 : no # 1 : yes:自分の投稿記事もメール通知する # 2 : yes:自分の投稿記事はメール通知しない $mailing = 0; # sendmailのパス(メール通知する場合) $sendmail = '/usr/sbin/sendmail'; # メール通知先アドレス(メール通知する場合) $mailto = 'webmaster@bonkureshougatu.com'; # タグ広告挿入オプション (FreeWebなど) # → の代わりに「広告タグ」を挿入する。 # → 広告タグ以外に、MIDIタグ や LimeCounter等のタグにも使用可能です。 $banner1 = ''; # 表示部上部に挿入 $banner2 = ''; # 表示部下部に挿入 # アクセス制限(半角スペースで区切る) # → 拒否するホスト名又はIPアドレスを記述(アスタリスク可) # → 記述例 $deny = '*.anonymizer.com *.denyhost.xx.jp 211.154.120.*'; $deny = ''; # リンク元チェック (0=no 1=yes) # → いたずら投稿防止に「リンク元」チェックを行う場合 $LinkCheck = 0; # 同一ホストからの連続投稿を制限 # → 秒数を記述するとその時間以上を経過しないと連続投稿できない # → 投稿を管理者限定にする場合 ($PostMode=1;) はこの設定は無視されます $w_regist = 300; # タイトル画像を使う場合 (http://から画像を指定) $ImgT = ""; # タイトル画像を使う場合に「横幅」「縦幅」をそれぞれピクセル数で記述 $ImgW = 300; $ImgH = 70; # アップロードを許可するファイル形式 # 0:no 1:yes $gif = 1; # GIFファイル $jpeg = 1; # JPEGファイル $png = 1; # PNGファイル $text = 1; # TEXTファイル $lha = 1; # LHAファイル $zip = 1; # ZIPファイル $pdf = 1; # PDFファイル $midi = 1; # MIDIファイル $word = 1; # WORDファイル $excel = 1; # EXCELファイル $ppt = 1; # POWERPOINTファイル $ram = 1; # RAMファイル $rm = 1; # RMファイル $mpeg = 1; # MPEGファイル $mp3 = 1; # MP3ファイル # 投稿受理最大サイズ (bytes) # → 例 : 102400 = 100KB $cgi_lib'maxdata = 102400; # 画像ファイルの最大表示の大きさ(単位:ピクセル) # → これを超える画像は縮小表示します $MaxW = 550; # 横幅 $MaxH = 200; # 縦幅 # アイコン画像ファイル名 (ファイル名のみ) $IconHome = "home.gif"; # ホーム $IconClip = "clip.gif"; # クリップ $IconSoon = "soon.gif"; # COMINIG SOON # サブメッセージ # → タイトルの下にサブメッセージを記述できます # → HTMLタグなどを使ってご自由にどうぞ $SubMsg = <<'_SUB_MSG_'; _SUB_MSG_ #============# # 設定完了 # #============# if ($ImgDir !~ /\/$/) { $ImgDir .= "/"; } if ($ImgUrl !~ /\/$/) { $ImgUrl .= "/"; } &decode; &axs_check; if ($mode eq 'regist') { ®ist; } elsif ($mode eq 'find') { &find; } elsif ($mode eq 'admin') { &admin; } elsif ($mode eq 'usrdel') { &usrdel; } elsif ($mode eq 'note') { ¬e; } elsif ($mode eq 'check') { ✓ } &html; #----------------# # アクセス制限 # #----------------# sub axs_check { # ホスト名を取得 &get_host; local($flag)=0; foreach (split(/\s+/, $deny)) { s/\*/\.\*/g; if ($host =~ /$_/i) { $flag=1; last; } } if ($flag) { &error("アクセスを許可されていません"); } } #----------------# # 記事表示処理 # #----------------# sub html { # レス処理 if ($mode eq 'resmsg') { open(IN,"$logfile") || &error("Open Error : $logfile"); $flag=0; while (\n" if ($banner1 ne ""); # タイトル if ($ImgT) { print "\n"; } else { print "$title\n"; } # サブメッセージ print "
\n$SubMsg\n |
\n"; } else { if ($w && $h) { $wh="width=$w height=$h"; } else { $wh=""; } print "
$no$tail\n";
}
}
print "$com" if ($imgpoint == 1);
print "
\n";
}
close(IN);
print "
\n"; } if ($next < $i) { print " | \n"; } print " |
\n"; print " |
\n"; print "- ClipBoard -\n"; print "