#!/usr/local/bin/perl #┌───────────────────────────────── #│ JOYFUL NOTE v1.6 (2003/01/10) #│ Copyright(C) Kent Web 2003 #│ webmaster@kent-web.com #│ http://www.kent-web.com/ #└───────────────────────────────── $ver = 'Joyful Note v1.6'; #┌───────────────────────────────── #│ [注意事項] #│ 1. このスクリプトはフリーソフトです。このスクリプトを使用した #│ いかなる損害に対して作者は一切の責任を負いません。 #│ 2. 設置に関する質問はサポート掲示板にお願いいたします。 #│ 直接メールによる質問は一切お受けいたしておりません。 #│ 3. このスクリプトは、method=POST 専用です。 #│ 4. 同梱のアイコンで、以下のファイルの著作権者は以下のとおりです。 #│ home.gif : mayuRinさん #│ clip.gif : 牛飼いとアイコンの部屋さん #└───────────────────────────────── # # 【ファイル構成例】 # # ***.co.jp / index.html (トップページ等) # | # +----- cgi-bin # | # +-- joyful / joyful.cgi # | joyful.log # | count.dat # | jcode.pl # | cgi-lib.pl # | pastno.dat # | # +---- img / *.gif # | # +---- past / 1.dat # # #【チェックモード】 #joyful.cgiの末尾に「?mode=check」と付けて呼び出す #例 http://www.***.co.jp/cgi-bin/joyful/joyful.cgi?mode=check #============# # 設定項目 # #============# # ●の個所の「***_co_jp」の部分をお客様用に修正してください。 # 「***.com」の場合は「***_com」となります。 # ●ライブラリ取込 require 'D:\\users\\jool-shop_com\\Cgi-bin\\joyful\\jcode.pl'; require 'D:\\users\\jool-shop_com\\Cgi-bin\\joyful\\cgi-lib.pl'; # タイトル名を指定 $title = "CLUB-JOOL"; # タイトルの色 $t_color = "#804040"; # タイトルの大きさ(ポイント数:スタイルシートで有効) $t_size = '15pt'; # タイトル/本文の文字フォント $face = "MS Pゴシック"; # 本文の文字大きさ(ポイント数:スタイルシートで有効) $b_size = '8pt'; # 壁紙を指定する場合(http://から指定) $bg = "http://www.jool-shop.com/image/club-wall.gif"; # 背景色を指定 $bc = "#daf0f0"; # 文字色を指定 $tx = "#808080"; # リンク色を指定 $lk = "#cd4654"; # 未訪問 $vl = "#778899"; # 訪問済 $al = "#fa8072"; # 訪問中 # ●戻り先のURL (index.htmlなど)「***.co.jp」の部分はご自分のドメイン。 $homepage = "http://www.jool-shop.com/"; # 最大記事数 (親記事もレス記事も含めた数) $max = 50; # 管理者用マスタパスワード (英数字で8文字以内) $pass = 'jasmine'; # 返信がつくと親記事をトップへ移動 (0=no 1=yes) $topsort = 1; # 返信にも添付機能を許可する (0=no 1=yes) $res_clip = 1; # 画像と記事の位置 # 1 : 画像が左。記事は右から回り込む # 2 : 画像が下。記事は画像の上に表示。 $imgpoint = 1; # タイトルにGIF画像を使用する時 (http://から記述) $t_img = "http://www.jool-shop.com/image/club.gif"; $t_w = 352; # GIF画像の幅 (ピクセル) $t_h = 76; # 〃 高さ (ピクセル) # ファイルロック形式 # → 0=no 1=symlink関数 2=mkdir関数 $lockkey = 2; # ●ロックファイル名 $lockfile = 'D:\\users\\jool-shop_com\\Cgi-bin\\joyful\\joyful.lock'; # ミニカウンタの設置 # → 0=no 1=テキスト 2=GIF画像 $counter = 1; # ミニカウンタの桁数 $mini_fig = 6; # テキストのとき:ミニカウンタの色 $cnt_color = "#858585"; # ●GIFカウンタのとき:画像までのディレクトリ # → 最後は必ず \\ で閉じる $gif_path = "D:\\users\\***_co_jp\\Cgi-bin\\joyful\\img\\"; $mini_w = 8; # 画像の横サイズ $mini_h = 12; # 画像の縦サイズ # ●カウンタファイル $cntfile = 'D:\\users\\jool-shop_com\\Cgi-bin\\joyful\\count.dat'; # スクリプトのファイル名 $script = 'joyful.cgi'; # ●ログファイルを指定 $logfile = 'D:\\users\\jool-shop_com\\Cgi-bin\\joyful\\joyful.log'; # ●アップロードディレクトリ $ImgDir = 'D:\\users\\jool-shop_com\\Cgi-bin\\joyful\\img\\'; # ●アップロードディレクトリのURLパス(「***.co.jp」の部分はご自分のドメイン) # → パスの最後は / で終わること $ImgUrl = "http://www.jool-shop.com/Cgi-bin/joyful/img/"; # 添付ファイルのアップロードに失敗したとき # 0 : 添付ファイルは無視し、記事は受理する # 1 : エラー表示して処理を中断する $clip_error = 0; # 記事 [タイトル] 部の長さ (全角文字換算) $sub_len = 15; # メールアドレスの入力必須 (0=no 1=yes) $in_email = 0; # 記事の [タイトル] 部の色 $sub_color = "#696969"; # 記事表示部の下地の色 $tbl_color = "#FFFFFF"; # 同一IPアドレスからの連続投稿時間(秒数) # → 連続投稿などの荒らし対策 # → 値を 0 にするとこの機能は無効になります $wait = 90; # 1ページ当たりの記事表示数 (親記事) $p_log = 5; # 投稿があるとメール通知する (sendmail必須) # 0 : 通知しない # 1 : 通知するが、自分の投稿記事はメールしない。 # 2 : 通知する。自分の投稿記事も通知する。 $mailing = 1; # メールアドレス(メール通知する時) $to = 'jool@tctv.ne.jp'; # sendmailパス(メール通知する時) require "D:\\ms-smtp\\smtpmail.cfg"; require "D:\\ms-smtp\\smtpmail.pl"; # 他サイトから投稿排除時に指定 (http://から書く) $base_url = ""; # 文字色の設定(半角スペースで区切る) $colors = '#1f8ba2 #6090ef #6b8e23 #778899 #bc8f8f #fa8072 #202a5c #2e3033'; # URLの自動リンク (0=no 1=yes) $autolink = 1; # タグ広告挿入オプション (FreeWebなど) # → の代わりに「広告タグ」を挿入する。 # → 広告タグ以外に、MIDIタグ や LimeCounter等のタグにも使用可能です。 $banner1 = ''; # 掲示板上部に挿入 $banner2 = ''; # 掲示板下部に挿入 # アクセス制限(半角スペースで区切る) # → 拒否するホスト名又はIPアドレスを記述(アスタリスク可) # → 記述例 $deny = '*.anonymizer.com *.denyhost.xx.jp 211.154.120.*'; $deny = 'YahooBB220015152085.bbtec.net'; # アップロードを許可するファイル形式 # 0:no 1:yes $gif = 1; # GIFファイル $jpeg = 1; # JPEGファイル $png = 1; # PNGファイル $text = 0; # TEXTファイル $lha = 0; # LHAファイル $zip = 0; # ZIPファイル $pdf = 0; # PDFファイル $midi = 0; # MIDIファイル $word = 0; # WORDファイル $excel = 0; # EXCELファイル $ppt = 0; # POWERPOINTファイル $ram = 0; # RAMファイル $rm = 0; # RMファイル $mpeg = 0; # MPEGファイル $mp3 = 0; # MP3ファイル # 投稿受理最大サイズ (bytes) # → 例 : 102400 = 100KB $cgi_lib'maxdata = 20500; # 画像ファイルの最大表示の大きさ(単位:ピクセル) # → これを超える画像は縮小表示します $MaxW = 250; # 横幅 $MaxH = 180; # 縦幅 # 家アイコンの使用 (0=no 1=yes) $home_icon = 0; # アイコン画像ファイル名 (ファイル名のみ) $IconHome = "home.gif"; # ホーム $IconClip = "clip.gif"; # クリップ $IconSoon = "soon.gif"; # COMINIG SOON # 画像管理者チェック機能 (0=no 1=yes) # → アップロード「画像」は管理者がチェックしないと表示されない機能です # → チェックされるまで「画像」は「COMMING SOON」のアイコンが表示されます $ImageCheck = 0; # 投稿後の処理 # → 掲示板自身のURLを記述しておくと、投稿後リロードします # → ブラウザを再読み込みしても二重投稿されない措置。 # → Locationヘッダの使用可能なサーバのみ $location = 'http://www.jool-shop.com/Cgi-bin/joyful/joyful.cgi'; #---(以下は「過去ログ」機能を使用する場合の設定です)---# # # 過去ログ生成 (0=no 1=yes) $pastkey = 1; # ●過去ログ用NOファイル $nofile = 'D:\\users\\jool-shop_com\\Cgi-bin\\joyful\\pastno.dat'; # ●過去ログのディレクトリ $pastdir = 'D:\\users\\jool-shop_com\\Cgi-bin\\joyful\\past\\'; # 過去ログ1ファイルの行数 # → この行数を超えると次ページを自動生成します $log_line = 600; #============# # 設定完了 # #============# #----------------------- これより処理開始 -----------------------# #この行以下を書き換えられた場合、サポートの対象外となりますのでご注意下さい# # メイン処理 &decode; &axs_check; if ($mode eq "howto") { &howto; } elsif ($mode eq "find") { &find; } elsif ($mode eq "usr_del") { &usr_del; } elsif ($mode eq "usr_edt") { &usr_edt; } elsif ($mode eq "regist") { ®ist; } elsif ($mode eq "res") { &res_form; } elsif ($mode eq "admin") { &admin; } elsif ($mode eq "past") { &past; } elsif ($mode eq "check") { ✓ } &html_log; #----------------# # アクセス制限 # #----------------# 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_log { local($ipt,$wh,$i,$flag); # ヘッダを出力 &header; # カウンタ処理 if ($counter) { &counter; } # タイトル部 print "
\n"; }
if ($t_img eq '') {
print "$title\n";
} else {
print "\n";
}
# メニュー部
print "
\n"; print "
\n"; if ($back >= 0) { $p_flag=1; print " \n"; } if ($next < $i) { $p_flag=1; print " \n"; } # ページ移動ボタン表示 if ($p_flag) { print " [直接移動]\n"; $x=1; $y=0; while ($i > 0) { if ($page == $y) { print "[$x]\n"; } else { print "[$x]\n"; } $x++; $y = $y + $p_log; $i = $i - $p_log; } print " \n"; } print "
\n"; print "- Joyful Note -\n"; print "