INDEX:# photo:mobile photo:life about this links |
CMSを変更しました。メインページから再度個別ページへご訪問ください。 This blog changed CMS. New my blog is here. |
最近自分のところの inobbs にスパムらしき連続投稿があったけど
皆さんのところではいかがなんでしょうか?
もう少ししたら inobbs に時間をかけられるようになりそうなので
もうちっと勉強がてら php 版やら ruby 版やらを作ってみようかなと思ってます。
スパム報告など不具合ありましたら、コメントに書きなぐっていってください。
DOWNLOAD
詳細は、こちら
UTF-8は使わないよって方はこちら(jcode.pl版)
inobbs-pl.zip
UTF-8使いたいって方はこちら(Jcode.pm版)
inobbs-pm.zip
ログを引き継ぎたい時は、「log.dat」だけはしっかりと保存しておいてください。
入れ替えればいいだけです。
以前までのバージョンは、以下のところにあります。
inobbs Download (old version)
隠し機能?を公開するのもなんだけど…
名前の欄や…
設定項目の名無し設定で…
スマイリー置き換え文字(:xxx:)を記入すると…
夏休みの宿題的にちょっとずつやってました。
はじめにパスワードを設定してもらえれば、他の設定自体をブラウザ上からできるようにしました。いろいろな値を自由にできるようにしたのと、ちょこちょこと要望があったのでそれらに対応させたつもりです。
大きな変更点は…
・ブラウザ上で各種設定可能。(safariでしか動作確認してないけど…)
・日付のフォーマットが自由に表現できる。
・UTF-8に対応。(Jcode.pm版)
・メールフォーム表示
・UTF-8 でもメール通知
表示のされ方自体は、以前のバージョンと同じです。
動作サンプルは以下参照。
inobbs + スマイリー
inobbs phase 2
inobbs
下のようなファイル構成を想定しています。
ファイルをアップロードする前に、「init.cgi」の最初にあるパスワードだけ書き換えてください。
細かい設定は、ブラウザ上でできるようになっています。
rw.cgi が動作する事を確認したら、最下部にある
inobbs ver.3.0
と記述されているバージョン数字部分(3.0)をクリックすると設定画面が現れます。
後はパスワード入力すれば以下のような設定画面が現れますので設定項目を埋めていってください。とりあえず使う分には特に変えずにそのままの設定で十分だと思います。
jcode.pl版とJcode.pm版2つ用意しました。対応文字コードは、以下の通り。
jcode.pl版:Shift-JIS, EUC-JP
Jcode.pm版:Shift-JIS, EUC-JP, UTF-8
UTF-8使わない人は jcode.pl版でいいと思います。
UTF-8を使いたい人は、使用しているサーバにJcode.pmがインストールされていればそのまま使えます。入っていない場合は、Jcode.pmを以下のところからダウンロードしてきて、
http://search.cpan.org/CPAN/authors/id/D/DA/DANKOGAI/Jcode-0.82.tar.gz
「Jcode.pm」ファイルと「Jcode」フォルダ丸ごとをCGIファイルと同じところに入れておけば動きます。(MovableTypeを設置した事ある人にはおなじみ。)
DOWNLOAD ( last update at 23:00 on sep 20 )
詳細は、こちら
IFRAME埋め込み&ポップアップ型
inobbs ver.1.5
Javascript表示型
inobbs ver.2.1(SHIFT-JIS)
inobbs ver.2.1(EUC-JP)
inobbs ver.2.1(UTF-8)※メール通知なし
・特徴
1 ページ表示
2 管理者用削除機能
3 コメント本文内のURL、メールアドレスの自動リンク
4 書き込みをメールで通知(オンオフ切り替え可能)
5 スマイリーアイコン(表示非表示切り替え可能)
6 ひょっとして携帯対応!?
7 ログを外部ファイルとして出力する(ver.2.x)
8 クッキー対応
※ログデータについて。
どのバージョンでもそのまま引き継ぐことができるので、「*.cgi」というファイルを変更してください。
※SSI もしくは PHP での埋め込み方法。
設定ファイル「init.cgi」内で、mono.txt をログ書き出しファイルに指定する。( mono.jsではなく )
表示したいところに以下を記述。パスに注意。
・SSI
<!--#include virtual="./mono.txt" -->
・PHP
<? include"./mono.txt";?>
拡張子をそれぞれ、*.shtml *.php にする。
※文字コードついて。
外部Javascript を使う時は、SHIFT-JIS版で以下のように記述すれば、
表示したいページの文字コードがUTF-8だろうがEUC-JPだろうが大丈夫なようです。
WinIE5.5 と WinIE5.0 固有の外部Javascriptのバグがあるみたいなので、注意。
なぜかすっと後回しになっていましたが、やっとクッキー対応になりました…
改めて主な特徴をあげると、
1 ページ表示
2 管理者用削除機能
3 コメント本文内のURL、メールアドレスの自動リンク
4 書き込みをメールで通知(オンオフ切り替え可能)
5 スマイリーアイコン(表示非表示切り替え可能)
6 ひょっとして携帯対応!?
7 ログを外部ファイルとして出力する(ver.2.x)
8 クッキー対応
今回のちょっとした Tips。
設定ファイル「init.cgi」内の、
$PAGEVIEW=0; (w.cgiの設定 ver.1.x)
もしくは、
$LOGVIEW=0; (mono.cgiの設定 ver.2.x)
にして、メール通知機能をオン($FLAG_MAIL=1;)にすると、
「w.cgi」「mono.cgi」がなんちゃってメールフォームに変わります。
#設定項目が増えていくのは本意ではないんだよなぁ。
inobbs にスマイリーアイコンを入れられるようにしました。
自分ではあまり必要なかった(&自分でスマイリーの画像作れない)のですが、
要望の声が10人(笑)ほど集まりましたので作ってみました。
自分でオリジナルのスマイリーを使う事ももちろんできます。
使えるスマイリーアイコンの数は設定すればいくらでも増やす事ができます。
今回、使わせてもらったスマイリーは、以下のサイトの作者に依頼しました。多謝!
・数少ない特徴
1 ページ表示
2 管理者用削除機能
3 コメント本文内のURL、メールアドレスの自動リンク
4 書き込みをメールで通知(オンオフ切り替え可能)
5 スマイリーアイコン(表示非表示切り替え可能)
6 ひょっとして携帯対応!?
7 ログを外部ファイルとして出力する(ver.2.x)
8 クッキー対応
埋め込み型 |
Javascript表示型 |
・スマイリー設置方法
"icon"フォルダ(ディレクトリ)にスマイリー画像を入れて、「init.cgi」内のスマイリーの設定で
ひとつのスマイリーに対して以下の2カ所を設定してください。
テキストフィールドに現れるスマイリーアイコンに変換される文字の設定。
後の設定は、以前までの inobbs とまったく同じです。
ver1.5の設定は、inobbs
ver2.1の設定は、inobbs phase2、inobbs phase2 設置方法の補足
をそれぞれ参考にしてみてください。
スタイルシートも、スマイリー用に変更があるので参照してみてください。
※ログデータについて。
どのバージョンでもそのまま引き継ぐことができるので、「*.cgi」というファイルを変更してください。
自分用に作っているので自分がわかればいいと言う自分勝手なところがあるため説明がちょっとイイカゲン。そのため、設置がうまくいかない人が多いようなので「みんなで幸せになろう」精神でへたくそながらもうちょっと説明を追加。
基本的な情報は以下のサイトを参照。
とほほのCGI入門
ファイル構成の例を以下に示します。これに沿って説明していきます。
ただし、この構成じゃなきゃだめだということはないです(たぶん)。その辺は、使っているサーバの設定になりますので契約しているところの仕様に合わせてください。私が使っているこのサーバは、ナウでヤングなのですが、全部一つのディレクトリにアップして使っていますから。
パス指定は、相対パスで説明していきます。(すべて絶対パスで設定しても問題ありません。)
でも、絶対パスの方が、分かりやすくて確実かもしれません。
これは、「mono.cgi」「view.cgi」が必要とするファイルで「log.dat」「new.dat」のファイルの場所を知らなくてはならないので、その場所を教える設定になります。そのため、 「mono.cgi」「view.cgi」からのファイルパスを設定します。
「styles-bbs.css」は「mono.cgi」「view.cgi」からのファイルパスを設定します。
「styles-js.css」は「mono.js」が表示されるページ(index.html)に必要なスタイルシートファイルです。そのため「mono.js」が表示されるページ(index.html)からのファイルパスになります。
これも「mono.cgi」からのファイルパスを設定します。
この2つは、「mono.js」が表示されるページ(index.html)から、「mono.cgi」「view.cgi」を呼び出すためにファイルの場所を教えるために設定します。そのため、「mono.js」が表示されるページからのファイルパスになります。
IFRAMEタグが嫌だったので、ログを外部Javascriptファイルとして書き出して、表示させることができるようにしました。これで、スクロールバーとおさらばです。
#設定や設置が今までのinobbsよりちょっと面倒かも。ちなみに、inobbsのログをそのまま使うので、CGIファイル入れ替えるだけで移行できます。
今までのIFRAMEで埋め込むタイプの inobbs はこちら。
参考:他のmini bbs
これを作るにあたって大変だったのが文字コードの取り扱いです。
Jcode.pmを使ってみるとか、
Perl 5 以上からはUTF-8にも対応しているようだとか、
IE5と外部Javascript の文字コードの問題とか、
とかとか、、、
何かいろいろとややこしい。
結局文字コード変換は、jcode.pl 使ってます。
外部Javascript を使う時は、SHIFT-JIS版を使えば、
表示したいページの文字コードがUTF-8だろうがEUC-JPだろうが大丈夫なようです。
一応他の文字コードに対応したものを作ってあります。
UTF-8版を使うには、サーバ側で Perl5 以上が条件です。あと、UTF-8版にはメール通知機能はありません。UTF-8からメール用の文字コードに変換できないので、通知しても文字化けしてしまいます。
使い方としては、今まで通り掲示板として使うこともできますし、
書き込みフォームの呼び出しをしないようにすれば、
・更新履歴用のログ表示
・ブログのエントリにする程じゃない独り言やメモを表示
なんて使い方もあると思います。
書き込みにはパスワードを設定していません。(書き込むたびにパスワード聞かれるのが面倒だから)自分だけ書き込みを行う場合、「mono.cgi」が簡単に見つからないように、はちゃめちゃな名前に変えてお使いください。(例 「hachamecha.cgi」)
たぶん、携帯からも使えると思いますが、未検証です。
Javascriptで表示 (サンプル) | - 数少ない特徴 1 ページ表示 2 管理者用削除機能 3 コメント本文内のURL、メールアドレスの自動リンク 4 ログを外部ファイルとして出力する (5) 書き込みをメールで通知 6 ひょっとして携帯対応!? |
デザイン要素は、スタイルシートを用いています。
フォームの名前を入れるところに「admin」と入れて、「書き込む」を押すと管理用に切り替わります。削除したいもののチェックボックスにチェックを入れて、パスワードを入れて「削除」を押すとチェックされたものが消えます。フォームの名前を入れるところが空欄のまま、「書き込む」を押すと元に戻ります。
- 設置方法
必要ファイルとそのパーミッションは、以下の通り。
755(or700): view.cgi
755(or700): mono.cgi
755(or700): init.cgi
755(or700): jcode.pl
755(or700): mimew.pl (メール通知する場合のみ)
666(or600): log.dat
666(or600): new.dat
666: mono.js
以下の行を表示したいところに記述してください。
- スタイルシートについて
スタイルシートファイル(styles-bbs.css)は好きなところにおいてください。
CGIファイルの設定部分で、スタイルシートファイル(styles-bbs.css)の置いた場所を
相対パスでも絶対パスでもどちらでもいいので指定してください。
サーバによっては、CGIが動作するフォルダ(ディレクトリ)にスタイルシートファイル入れておくと読み込まれない様なので別のフォルダ(ディレクトリ)に入れて指定してみてください。
・styles-bbs.css:「mono.cgi」, 「view.cgi」が読み込むCSSファイル。
・styles-js.css:外部javascriptファイル用のCSSファイル。
- スタイルシートのクラス、ID属性について
スタイルシートは、すべてDIVタグによって指定してあります。
クラス、ID属性は「init.cgi」で設定することが可能です。
-最後に決まり事
このソフトウェア(以下「inobbs」と記述)はinoが作成しました。
inobbsは、フリーウェアです。
inobbsは、「GPL」に従って配布します。
GPLの日本語訳
このスクリプトを使っているあなたのサイトを私inoに教えていただければ非常にうれしいです。コメント、トラックバック、メール、サンプル用inobbsへの書き込みでもなんでもかまいませんので、よろしくお願いいたします。
初期設定部分を別ファイル( init.cgi )にまとめました。
スタイルシートのクラス、ID属性を設定することができるようになりました。
なんだか、設定項目が増えました。
ファイルパス関連の設定が3カ所ほどあるのでそれさえ設定すれば動きます。
ダウンロードは、こちらへ。
いろいろ修正。
タイムゾーンを設定できるようにしました(時間がずれてしまっている場合)
日付の記述の仕方変更。新しい書き込みから適用されます。(by ino at 08:00,Feb 16)
ダウンロードしたら、CGIファイルの初期設定部分を書き換えて、アップロードしてください。ログデータを引き継ぎたいときは、"log.dat" を消さないでそのままで大丈夫です。
ダウンロードは、こちらへ。
ページをリロードするとき、多重書き込み、多重削除にならないように修正しました。
ダウンロードしたら、CGIファイルの初期設定部分を書き換えて、アップロードしてください。ログデータを引き継ぎたいときは、"log.dat" を消さないでそのままで大丈夫です。
今回、 "new.dat" と言う新しいファイルが追加されてますので、そのままアップロードしてください。これがないと、多重書き込み、多重削除になってしまいます。
ダウンロードは、こちらへ。
自分で作ってて最近知ったんだけど、inobbsって携帯からでも見れるし書き込めるんですね。携帯対応なんて全然気にしてなかったから自分でびっくり。
この間、使ってくれている人からメールで、
「携帯からでも見れて書き込めるから便利ですね」
っていわれて初めて気付いた。
自分のボーダフォンで試したら大丈夫だったのですが、他のキャリアではどうかわからないので、もし動作確認してくれた人がいたら連絡くれると嬉しいです。
まず以下のサンプル用で試してみて下さい。
http://anchoco.net/cgi-bin/minibbs/sample/rw.cgi
http://anchoco.net/cgi-bin/minibbs/sample/r.cgi
予想外の事なので、トラブルがあっても何も責任とれませんのであしからず。
いろいろと、反響もありビビっている毎日でございます。
スクリプトに関する質問やコメント、トラックバックは、このエントリにお願いします。
最初に言っておきたい事。
このスクリプトは、私inoがPerl/CGIの勉強のために作ったものです。なので、機能は同じでも中身が変わっていたり、公開してすぐバグ修正したりすることがよくあります。
もし、安心して掲示板を運用したければ、 他のスクリプトのご利用をおすすめいたします。
#今のところ、これといったトラブルもなく動いています…(REALLY???
IFRAMEやスクロールバーが嫌という人はこちら。
・数少ない特徴:
1 ページ表示
2 管理者用削除機能
3 コメント本文内のURL、メールアドレスの自動リンク
(4) 書き込みをメールで通知(sendmail が必要)
5 ひょっとして携帯対応!?
ポップアップ型 | 埋め込み型 |
-使い方
書き込み用のフォームが、ポップアップ型と埋め込み型2つあります。
細かい設定は、「init.cgi」ファイルの「設定」項目をみてください。
掲示板のデザイン要素は、スタイルシートを用いています。
フォームの名前を入れるところに「admin」と入れて、
「書き込む」を押すと管理用に切り替わります。
削除したいもののチェックボックスにチェックを入れて、パスワードを入れて
「削除」を押すとチェックされたものが消えます。
フォームの名前を入れるところが空欄のまま、「書き込む」を押すと元に戻ります。
-設置方法 その1(フォームポップアップ型)
フォームをポップアップさせて使うには、「r.cgi」を埋め込んで下さい。
(「r.cgi」から「w.cgi」をよびだします。)
必要ファイルとそのパーミッションは、以下の通り。
755(or700): r.cgi
755(or700): w.cgi
755(or700): jcode.pl
666(or600): log.dat
666(or600): new.dat
以下の行を表示したいところに記述してください。
r.cgiの場所は自分で置いたところを指定してください。
-設置方法 その2(フォーム埋め込み型)
フォームも埋め込み型で使うには、「rw.cgi」を埋め込んで下さい。
必要ファイルとそのパーミッションは、以下の通り。
755(or700): rw.cgi
755(or700): jcode.pl
666(or600): log.dat
666(or600): new.dat
以下の行を表示したいところに記述してください。
rw.cgiの場所は自分で置いたところを指定してください。
- スタイルシートについて
スタイルシートファイル(styles-bbs.css)は好きなところにおいてください。
CGIファイルの設定部分で、スタイルシートファイル(styles-bbs.css)の置いた場所を
相対パスでも絶対パスでもどちらでもいいので指定してください。
サーバによっては、CGIが動作するフォルダ(ディレクトリ)にスタイルシートファイル入れておくと読み込まれない様なので別のフォルダ(ディレクトリ)に入れて指定してみてください。
- スタイルシートのクラス、ID属性について
スタイルシートは、すべてDIVタグによって指定してあります。
クラス、ID属性は「init.cgi」で設定することが可能です。
初期状態では、以下のように設定してあります。
#全体を囲むもの
$CSS{'bbsbody'} = qq(id="bbsbody");
#書き込みフォームが現れるところ
$CSS{'bbsform'} = qq(class="bbsform");
#一つの書き込みを囲むもの
$CSS{'bbscontent'} = qq(class="bbscontent");
#書き込みの日付
$CSS{'bbsdate'} = qq(class="bbsdate");
#最下部
$CSS{'bbsfooter'} = qq(class="bbsfooter");
上記の qq(); の括弧の中身を好きなように書き換えください。
たとえば、MovableTypeだと、すべてのテンプレートに、「styles-site.css」が読み込まれているはずです。「init.cgi」で読み込むスタイルシートを「styles-site.css」にして以下のように書き換えることで既に定義してあるスタイルシート利用することができます。
#全体を囲むもの
$CSS{'bbsbody'} = qq(class="comments-body");
#書き込みフォームが現れるところ
$CSS{'bbsform'} = qq(class="comments-body");
#一つの書き込みを囲むもの
$CSS{'bbscontent'} = qq(class="comments-body");
#書き込みの日付
$CSS{'bbsdate'} = qq(class="comments-post");
#最下部
$CSS{'bbsfooter'} = qq(class="comments-body");
-最後に決まり事
このソフトウェア(以下「inobbs」と記述)はinoが作成しました。
inobbsは、フリーウェアです。
inobbsは、「GPL」に従って配布します。
GPLの日本語訳
このスクリプトを使っているあなたのサイトを私inoに教えていただければ非常にうれしいです。コメント、トラックバック、メール、サンプル用inobbsへの書き込みでもなんでもかまいませんので、よろしくお願いいたします。
urlフォームに、メールアドレスを入れた場合メールがリンクされるようにしました。
そのリンクされる部分が、以前は[link]と明示的でしたが、名前のところにURLならURLを、メールアドレスならメールアドレスをリンクするようにしました。
ダウンロードは、こちらへ。
weblogでお馴染みのサイド掲示板です。CGIが動くサーバーならどこでも設置できます。
今回の変更点は、コメント本文内に、URL、メールアドレスがある場合は、自動的にリンクされます。
本文内では、下のようにリンクされます。
http://www.hoge.ne.jp → [link] hoge@hoge.ne.jp → [mail]
ダウンロードは、こちらへ。
今回は、ポップアップ型( r.cgiとw.cgiを使っている人 )で "書き込み" ボタンを押した時にフレームの方も同時に、
更新させるようにしました。IFRAMEタグ内で name="inobbs" の指定を忘れずにしてください。
もちろん、何かトラブルがあっても責任持てません(^^;
質問疑問、苦情などお気軽にどうぞ。
ダウンロードは、こちらへ。
以前公開した、minibbs(inoBBS)の ver.1.2です。
ダウンロードしてまで使ってくれている方がいるのかは、疑問ですが…
変更点は、いくつかのバグフィックスと、スタイルシートを細かく設定したことです。
weblogサイトなどのサイド掲示板用のため、かなりシンプル仕様です。
もちろん、何かトラブルがあっても責任持てません(^^;
質問疑問、苦情などお気軽にどうぞ。
ダウンロードは、こちらへ。
Su | Mo | Tu | We | Th | Fr | Sa |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |