#!/usr/local/bin/perl #┌───────────────────────────────── #│ JOYFUL NOTE v1.33 (2002/06/06) #│ Copyright(C) Kent Web 2002 #│ webmaster@kent-web.com #│ http://www.kent-web.com/ #└───────────────────────────────── $ver = 'Joyful Note v1.33'; #┌───────────────────────────────── #│ [注意事項] #│ 1. このスクリプトはフリーソフトです。このスクリプトを使用した #│ いかなる損害に対して作者は一切の責任を負いません。 #│ 2. 設置に関する質問はサポート掲示板にお願いいたします。 #│ 直接メールによる質問は一切お受けいたしておりません。 #│ 3. 添付の home.gif は L.O.V.E の mayuRin さんによる画像です。 #└───────────────────────────────── # # 【ファイル構成例】 # # public_html (ホームディレクトリ) # | # +-- joyful / joyful.cgi [755] # | joyful.log [666] # | count.dat [666] # | jcode.pl [644] # | cgi-lib.pl [644] # | pastno.dat [666] # | # +-- img [777] / home.gif, bear.gif, ... # | # +-- lock [777] / # | # +-- past [777] / 1.dat [666] ... #============# # 設定項目 # #============# # ライブラリ取込 require './jcode.pl'; require './cgi-lib.pl'; # タイトル名を指定 $title = "旭川市西神楽売地の画像掲示板"; # タイトルの色 $t_color = "#000080"; # タイトルの大きさ(ポイント数:スタイルシートで有効) $t_size = '22pt'; # タイトル/本文の文字フォント $face = "MS Pゴシック"; # 本文の文字大きさ(ポイント数:スタイルシートで有効) $b_size = '10pt'; # 壁紙を指定する場合(http://から指定) $bg = ""; # 背景色を指定 $bc = "#00FFFF"; # 文字色を指定 $tx = "#000080"; # リンク色を指定 $lk = "#0000FF"; # 未訪問 $vl = "#FF00FF"; # 訪問済 $al = "#FF0000"; # 訪問中 # 戻り先のURL (index.htmlなど) $homepage = "../index.html"; # 最大記事数 (親記事もレス記事も含めた数) $max = 50; # 管理者用マスタパスワード (英数字で8文字以内) $pass = 'abcd'; # 返信がつくと親記事をトップへ移動 (0=no 1=yes) $topsort = 1; # 返信にも添付機能を許可する (0=no 1=yes) $res_clip = 1; # 画像と記事の位置 # 1 : 画像が左。記事は右から回り込む # 2 : 画像が上。記事は画像の下から表示。 $imgpoint = 1; # タイトルにGIF画像を使用する時 (http://から記述) $t_img = ""; $t_w = 180; # GIF画像の幅 (ピクセル) $t_h = 40; # 〃 高さ (ピクセル) # ファイルロック形式 # → 0=no 1=symlink関数 2=mkdir関数 $lockkey = 0; # ロックファイル名 $lockfile = './lock/joyful.lock'; # ミニカウンタの設置 # → 0=no 1=テキスト 2=GIF画像 $counter = 1; # ミニカウンタの桁数 $mini_fig = 6; # テキストのとき:ミニカウンタの色 $cnt_color = "#BB0000"; # GIFカウンタのとき:画像までのディレクトリ # → 最後は必ず / で閉じる $gif_path = "./img/"; $mini_w = 8; # 画像の横サイズ $mini_h = 12; # 画像の縦サイズ # カウンタファイル $cntfile = './count.dat'; # タグの許可 (0=no 1=yes) $tagkey = 0; # スクリプトのファイル名 # → フルパスで指定する場合は http:// から記述 $script = './joyful.cgi'; # ログファイルを指定 # → フルパスで指定する場合は / から記述 $logfile = './joyful.log'; # アップロードディレクトリ # → パスの最後は / で終わること # → フルパスだと / から記述する $ImgDir = './img/'; # アップロードディレクトリのURLパス # → パスの最後は / で終わること #$ImgUrl = "http://www.teradasyouji.com/asa/joyful/img/"; $ImgUrl = 'http://www.teradasyouji.com/asa/joyful/img/'; # 添付ファイルのアップロードに失敗したとき # 0 : 添付ファイルは無視し、記事は受理する # 1 : エラー表示して処理を中断する $clip_error = 1; # 記事 [タイトル] 部の長さ (全角文字換算) $sub_len = 15; # メールアドレスの入力必須 (0=no 1=yes) $in_email = 0; # 記事の [タイトル] 部の色 $sub_color = "#880000"; # 記事表示部の下地の色 $tbl_color = "#FFFFFF"; # 同一IPアドレスからの連続投稿時間(秒数) # → 連続投稿などの荒らし対策 # → 値を 0 にするとこの機能は無効になります $wait = 60; # 1ページ当たりの記事表示数 (親記事) $p_log = 5; # 投稿があるとメール通知する (sendmail必須) # 0 : 通知しない # 1 : 通知するが、自分の投稿記事はメールしない。 # 2 : 通知する。自分の投稿記事も通知する。 $mailing = 2; # メールアドレス(メール通知する時) $mailto = 'take@teradasyouji.com'; # sendmailパス(メール通知する時) $sendmail = '/usr/sbin/sendmail'; # 他サイトから投稿排除時に指定 (http://から書く) $base_url = ""; # 文字色の設定(半角スペースで区切る) $colors = '#800000 #DF0000 #008040 #0000FF #C100C1 #FF80C0 #FF8040 #000080'; # URLの自動リンク (0=no 1=yes) # → タグ許可の場合は no とすること。 $autolink = 1; # タグ広告挿入オプション (FreeWebなど) # → の代わりに「広告タグ」を挿入する。 # → 広告タグ以外に、MIDIタグ や LimeCounter等のタグにも使用可能です。 $banner1 = ''; # 掲示板上部に挿入 $banner2 = ''; # 掲示板下部に挿入 # アクセス制限(半角スペースで区切る) # → 拒否するホスト名又はIPアドレスを記述(アスタリスク可) # → 記述例 $deny = '*.anonymizer.com *.denyhost.xx.jp 211.154.120.*'; $deny = ''; # アップロードを許可するファイル形式 # 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 = 1; # WORDファイル $excel = 1; # EXCELファイル $ppt = 0; # POWERPOINTファイル $ram = 0; # RAMファイル $rm = 0; # RMファイル $mpeg = 1; # MPEGファイル $mp3 = 1; # MP3ファイル # 投稿受理最大サイズ (bytes) # → 例 : 102400 = 100KB $cgi_lib'maxdata = 102400; # 画像ファイルの最大表示の大きさ(単位:ピクセル) # → これを超える画像は縮小表示します $MaxW = 300; # 横幅 $MaxH = 150; # 縦幅 # 家アイコンの使用 (0=no 1=yes) $home_icon = 1; # アイコン画像ファイル名 (ファイル名のみ) $IconHome = "home.gif"; # ホーム $IconClip = "clip.gif"; # クリップ $IconSoon = "soon.gif"; # COMINIG SOON # 画像管理者チェック機能 (0=no 1=yes) # → アップロード「画像」は管理者がチェックしないと表示されない機能です # → チェックされるまで「画像」は「COMMING SOON」のアイコンが表示されます $ImageCheck = 0; #---(以下は「過去ログ」機能を使用する場合の設定です)---# # # 過去ログ生成 (0=no 1=yes) $pastkey = 0; # 過去ログ用NOファイル $nofile = './pastno.dat'; # 過去ログのディレクトリ # → フルパスなら / から記述(http://からではない) # → 最後は必ず / で閉じる $pastdir = './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 "