あま茶屋CGI処

■ ICONA-UP-RES-BBS ■

【最終更新日:06/08/16】
2006/08/16
編集ページをスキン化(返信フォームと同デザイン適用)。
ファイル拡張子が大文字だとアップロードできないのを修正。

■機能

 ■動作サンプル

■ダウンロード

■同梱物
icona_up_bbs.lzhを解凍すると以下のものが
同梱されていたと思います。

 read_me.txt(設置方法等を書いたこのページに似た内容のファイルです。)
 bbs.cgi(本体)
 bbs.dat(記事の記録用ファイル)
 skin.html(HTMLデザインファイルサンプル)
 res_skin.html(返信画面用HTMLデザインファイルサンプル)
 jcode.pl
 image(フォルダ:中にzip.gif、lzh.gif、pdf.gif、doc.gif、
         xls.gif、html.gif、htm.gif、res.gif、home.gif)

■設定
bbs.cgiをテキストエディタで開いて下さい。

【1行目】#! usr/local/bin/perl
 →サーバーの仕様に合わせて下さい。

【11行目】require 'jcode.pl';
 jcode.plの位置を設定。他のプログラムと共有可能

【14.20.22行目】$data_log='bbs.dat';/$cgi='bbs.cgi';/$adpass='1234';
 セキュリティのことを考えるとこのいずれも
 変更することをオススメします。
 その場合同梱のファイル名も同じものに変えて下さい。
 とくにログファイル(現bbs.dat)は拡張子が
 これである必要はないのでそれこそ拡張子のない
 文字列のみや、 .cgi等にしてしまう方が好いかもです。

【15行目】$skin_html = 'skin.html';
 メイン表示用デザインHTMLファイル名。

【16行目】$skin_res_html = 'res_skin.html';
 返信ページ用のデザインHTMLファイル名。

【17行目】$url_img = 'image/home.gif';
 URLに画像を用いる場合の画像ファイルのパス

【18行目】$res_img = 'image/res.gif';
 返信ボタンに画像を用いる場合の画像ファイルのパス

【24行目】mailto = '';
 投稿があった場合メール通知する時は$mailto = 'name@xxx.xx';
 といった感じでメールアドレスを設定して下さい。

【25行目】$sendmail = "/usr/sbin/sendmail" ;
 22行目でメール通知設定をした場合sendmailのパスを記入して下さい。
 ご利用のサーバーでsendmailが使えない場合これらの機能は使えません。

【27行目】$table_color = '#559933';
 管理ページはレスフォームと同じデザインになります。
 編集フォームを表示する枠の背景色を指定下さい。

【28行目】$tf_color = '#FFFFFF';
 管理ページはレスフォームと同じデザインになります。
 編集フォームを表示する枠の中の文字色を指定下さい。

【33行目】$fold = '.';
 画像をアップロードするフォルダの名前とパスを書いて下さい。

【34行目】$lim_kb = 50;
 アップロードする画像のファイルサイズ(単位:KB)の上限を設定。
 たとえば1024で1MBになります…。
 設定すればうっかり圧縮前の巨大ファイルを送ってしまうようなことを回避できます。

【35行目】$next_word = '▼古い記事';
 1ページあたり表示件数以上の場合の
 次のページへの移動を表す文字を入れて下さい。

【36行目】$back_word = '▲新しい記事';
 1ページあたり表示件数以上の場合の
 新規のページへの移動を表す文字を入れて下さい。

【37行目】@f_img_mime = ('jpg','jpeg','jpe','gif','png')
 <img src=・・・で表示するファイルの拡張子。.は不要。

【38,39行目】@f_ok_mime = ('doc','xls','ppt','pdf','lzh','zip','psd'・・・
    @f_ok_img = ('image/doc.gif','image/xls.gif','image/ppt.gif'・・・
 画像以外でアップロード可能なファイルの拡張子。
 投稿された場合表示させる代替画像を上下で組みになるように準備し
 下の段に画像ファイルのパス入れて下さい。

【40行目】@poi = ('バカ','死','殺');
 書き込み禁止ワードの設定です。
 ここで設定した文字列がタイトル、名前、コメントに含まれた場合
  書き込みがされません。

【41行目】@ex_host = ('127.0.0.1','localhost');
 書き込みを禁止するホストの設定です。
 ここで設定したホストからの書き込みはなされません。
 広義に設定(例えばdion.ne.jp等)すると何かと不具合があるので注意が必要です。

【42行目】$limit = 100;
 連続書き込みとみなし投稿を制限する秒数を記入して下さい。
 0にすると連続投稿を抑止しません。

【44・45行目】$auto_mode = '2';/$link_word = '→これ';
 オートリンク設定です。URLが記事に書かれた場合リンクさせない場合0、
 リンクさせるなら1にしリンク用の文字列を設定して下さい。
 記事へのURLの記入自体を禁止するなら$auto_mode ='2';にして下さい。
 (宣伝防止であれば2を推奨)

【47行目】$notitle_chk = '1';
 タイトル未記入の書き込みを禁止するなら1。
 未記入をチェックしない場合タイトルは「無題」になります。

【48行目】$commentchk = '1';
 コメントに日本語が含まれない書き込みを禁止するなら1にして下さい。

【49行目】$cgi_url = 'http://';
 外部サイトやローカルからの投稿を制限する場合、
 投稿できる(設置したサイトの)URLを記入。
   例:http://***.***.com/~aaa/cgi-local/rbbs/rbbs.cgiがCGIのURLなら、
     http://***.***.com/~aaa/
     と記入すればOK。

■設定2
res_skin.html(返信用デザイン)
skin.html(表示用デザイン)

外観を変更するためには
このファイルのHTMLを弄って下さい。

<!-- header -->
<!-- footer -->


<!-- res_head -->
<!-- res_foot -->

ここから<!-- footer -->までの間の行に
投稿内容を表示させます。
これらの文字の書いてある行には
他の文字列を入れないで下さい。

   <table><tr></td>
 ○ <!-- footer -->
   </td></tr></table>

 × <table><tr><td><!-- footer --></td></tr></table>


子記事の始まり位置
子記事の終了位置

【フォームの基本】

<FORM action="このCGIの名前" method="POST" ENCTYPE="multipart/form-data">
<INPUT type=hidden name=action value="write">
名 前:<input type=text name=name value="_cname_">
URL:<input type=text name=url value="_curl_">
題 名:<input type=text name=title>
コメント:<input type=text name=comment>
削除パス:<input type=password name=pass value="_cpass_">
添 付:<input type=file name=filename>
 (返信フォームの場合<INPUT type=hidden name=resno value=%no%>)
投稿:<input type=submit value="投稿">
</FORM>

_cname_ Cookie有効の場合のフォームで名前欄
_curl_ Cookie有効の場合のフォームでURL欄
__cpass_ Cookie有効の場合のフォームで削除パス欄

それぞれのNAME値と<INPUT TYPE="hidden 〜>の値については変更、削除すると動作しません。基本テンプレートをご参照の上、スタイル変更時にはご注意下さい。

【記事表示部】
%title% 記事タイトル。
%name% 投稿者名。
%url% 投稿者URL。
%day% 投稿日。
%no% 記事番号。
%comment% コメント。
%size% 投稿ファイルのサイズ(KB)表示。
%pict% 投稿ファイルの表示。
%file% 投稿ファイルのファイル名表示。
【返信記事:<!-- res_head -->〜<!-- res_foot -->の間で有効】
%rtitle% 返信記事タイトル。
%rname% 返信者名。
%rurl% 返信者URL。
%rday% 返信日。
%rno% 返信記事番号。
%rcomment% 返信コメント。
%rsize% 返信投稿ファイルのサイズ(KB)表示。
%rpict% 返信投稿ファイルの表示。
%rfile% 返信投稿ファイルのファイル名表示。
【ほか補足】
%m_kb% アップロード可能なファイルサイズの上限(KB)の表示。
%mime% アップロード可能なファイルの種類(拡張子)の表示。

■設置例(カッコ内はパーミッション。無印は変更不要)

▼public_htmlのcgi-local内icona_up_bbsディレクトリに設置した場合▼

 public_html
    cgi-local
       icona_up_bbs
          jcode.pl
          rbbs.cgi (705 or 755 or 700)
          bbs.dat (606 or 666 or 600)
          skin.html
          res_skin.html
          image(画像及びファイルアップロード用等/707or777)

■設置後
 これで無事設置完了です。
 あとはお好きに使い易いようにお使い下さい。

 もしも動かなかった場合以下の点をチェックして下さい。

・パーミッションが合っているか?
→CGIは755など。記録用ファイルは666、またアップロード先の
  フォルダは777などになっていますか。
  それが大丈夫な場合そのCGIの入っているフォルダを
  777か707にして下さい。

・「;」が削除されていませんか?
→設定の部分でデフォルトの文字を書き換えた時に
  ';の部分を勢い余って削除してしまっていませんか?
  ;のない行があったら('が組になっていないものもネ)
  付けてみて下さい。

・HTML表示にしてもHTMLファイルが作成できない。更新用ページに反映できない
→サーバーによってはCGIがファイルを自動作成できない仕様になっている場合があります。
  その場合はCGI表示でお使い下さい。
  更新用ファイルが更新されない場合についても例えばcgi-binフォルダでしか
  CGIが動かないサーバの時は残念ながらこの機能は使いにくくなります。
  (SSIを使う等、手があるにはあるんですが…)

・文字が化けている!
→「表示」の文字は良く化けますネ(^^;)文字の前に\を
  付ければ正常に表示されます。設定部分にタグを入れて
  "や\があったため動かなくなる場合もあるんですが
  (うちに限らずです)"や\の前に\を付けたら大丈夫に
  なります。

・難しい改造を試みて動かなくなった
 →ごめんなさい。改造は自己責任でお願いします。
  私も知識が乏しいのでまったくフォローできないです。
  改造時はオリジナルと成功した段階品を残しておくことを
  オススメします。

■過去の更新
2006/05/30
書き込み制限の処理について修正。

2006/03/29
最大ログ数に達した時、古いログの削除がおかしい点と画像が自動削除されないのを修正。

2005/12/5
残り1件記事削除をした場合エラー表示する問題を修正。
タイトル、日本語書き込み、外部からの書き込み、URLのコメントへの書き込みについてチェック機能追加。

2005/10/17
アップロードするファイルに「,」が含まれる時、データ呼び出し不良が起こるのを修正。
★異状を起こした既存のデータファイルは大変申し訳ありませんが手動で修正下さい。
 (1)当該データファイルをFTPでダウンロードして
 (2)テキストエディタで開き
 (2)行頭の番号のうちおかしい記事の番号を探し
 (3)その行4つめの「,」を削除
 (4)上書き保存してFTPアップロード。

すでにご利用の方には申し訳ありません。CGI本体も差し替え下さいませ。

2005/8/25
メール通知機能を追加。特定ホストの書き込み制限について改善。

2005/7/27
連続投稿や特定ホストの書き込みを制限するよう改善。

2005/7/11
投稿者が記事削除するときにエラーメッセージが出る点を修正。

2005/7/8
フォームのURL入力欄が20字しか入力できない問題点を修正。
すでにご利用の場合テキストエディタの検索機能でbbs.cgiおよびHTMLスキンファイルの
maxlength=20となっている部分を削除して下さい。申し訳ありません。

▲CGI配布処に戻る

©2007 Ama-Chaya/CGI All Rights Reserved