#!/usr/local/bin/perl #┌───────────────────────────────── #│ CLIP BOARD v1.9 (2003/10/23) #│ Copyright (c) KentWeb #│ webmaster@kent-web.com #│ http://www.kent-web.com/ #└───────────────────────────────── $ver = 'ClipBoard v1.9'; #┌───────────────────────────────── #│ [注意事項] #│ 1. このスクリプトはフリーソフトです。このスクリプトを使用した #│ いかなる損害に対して作者は一切の責任を負いません。 #│ 2. 設置に関する質問はサポート掲示板にお願いいたします。 #│ 直接メールによる質問は一切お受けいたしておりません。 #│ 3. このスクリプトは、method=POST 専用です。 #│ 4. 同梱のアイコンは再配布で著作権者は以下のとおりです。 #│ home.gif : mayuRinさん #│ clip.gif : 牛飼いとアイコンの部屋さん #└───────────────────────────────── # # [ 設置構成例 ] : かっこ内はパーミッション値 # # public_html / index.html (TOPページへ) # | # +-- clip / clip.cgi [755] # | cliplog.cgi [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 = "Clip Board"; # タイトル文字の色 $t_color = "#800000"; # タイトル文字のタイプ $t_face = "MS Pゴシック"; # タイトル文字サイズ(スタイルシートで有効) $t_point = '24px'; # 本文文字サイズ(スタイルシートで有効) $b_size = '13px'; # 記事題名の色 $sub_color = "#008040"; # スクリプトURL # → 絶対パスなら http:// からのURLパス $script = './clip.cgi'; # ログファイル名 # → 絶対パスなら / から始まるパス(http://からではないので注意) $logfile = './cliplog.cgi'; # 管理用パスワード $pass = '0619'; # 最大記事数(これを超える記事は古い順に削除されます) $max = 1000; # 戻り先 $home = "http://www.ad.cyberhome.ne.jp/~k-morita/papalani_index.html"; # bodyタグ $body = '
'; # URLの自動リンク (0=no 1=yes) $autolink = 1; # 1ページあたりの記事表示件数 $p_log = 7; # ロックファイル機構 (0=no 1=symlink関数 2=mkdir関数) $lockkey = 2; # ロックファイル名 # → 絶対パスなら / から始まるパス(http://からではないので注意) $lockfile = './lock/clip.lock'; # アップロードディレクトリ # → パスの最後は / で終わること # → フルパスだと / から記述する $ImgDir = "./img/"; # アップロードディレクトリのURLパス # → パスの最後は / で終わること $ImgUrl = "http://www.xxx.xxx/clip/img/"; # 画像管理者チェック機能 (0=no 1=yes) # 0 : アップロード「画像」は管理者がチェックしないと表示されない機能です # 1 : チェックされるまで「画像」は「COMMING SOON」のアイコンが表示されます $ImageCheck = 0; # 画像と記事の位置 # 1 : 画像が左。記事は右から回り込む # 2 : 画像が下。記事は画像の上に表示。 $imgpoint = 1; # 投稿処理の権限 # 0 : 誰でも投稿可能 # 1 : 管理者のみが投稿 $PostMode = 0; # 添付ファイルのアップロードに失敗したとき # 0 : 添付ファイルは無視し、記事は受理する # 1 : エラー表示して処理を中断する $clip_err = 1; # メール通知機能 # 0 : no # 1 : yes:自分の投稿記事もメール通知する # 2 : yes:自分の投稿記事はメール通知しない $mailing = 0; # sendmailのパス(メール通知する場合) $sendmail = '/usr/lib/sendmail'; # メール通知先アドレス(メール通知する場合) $mailto = 'xxx@xxx.xxx'; # タグ広告挿入オプション # → の代わりに「広告タグ」を挿入する。 # → 広告タグ以外に、MIDIタグ や LimeCounter等のタグにも使用可能です。 $banner1 = ''; # 表示部上部に挿入 $banner2 = ''; # 表示部下部に挿入 # アクセス制限(半角スペースで区切る) # → 拒否するホスト名又はIPアドレスを記述(アスタリスク可) # → 記述例 $deny = '*.anonymizer.com *.denyhost.xx.jp 211.154.120.*'; $deny = ( "anonymizer", "cache*.*.interlog.com", "", "", "", "", ); # リンク元チェック (0=no 1=yes) # → いたずら投稿防止に「リンク元」チェックを行う場合 $LinkCheck = 0; # 同一ホストからの連続投稿を制限 # → 秒数を記述するとその時間以上を経過しないと連続投稿できない # → 投稿を管理者限定にする場合 ($PostMode=1;) はこの設定は無視されます $w_regist = 30; # タイトル画像を使う場合 (http://から画像を指定) $ImgT = ""; # タイトル画像を使う場合に「横幅」「縦幅」をそれぞれピクセル数で記述 $ImgW = 300; $ImgH = 70; # アップロードを許可するファイル形式 # 0:no 1:yes $gif = 1; # GIFファイル $jpeg = 1; # JPEGファイル $png = 1; # PNGファイル $text = 1; # TEXTファイル $lha = 0; # LHAファイル $zip = 0; # ZIPファイル $pdf = 1; # PDFファイル $midi = 1; # MIDIファイル $word = 0; # WORDファイル $excel = 0; # EXCELファイル $ppt = 0; # POWERPOINTファイル $ram = 0; # RAMファイル $rm = 0; # RMファイル $mpeg = 0; # MPEGファイル $mp3 = 0; # MP3ファイル $swf = 1; # SWFファイル # 投稿受理最大サイズ (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 ($in{'res'}) { local($flag)=0; open(IN,"$logfile") || &error("Open Error : $logfile"); 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 " |
- ClipBoard -