きりしま式 Web Patio

KENT WEBで配布されているWeb Patioのきりしまによる改造版です。主にQ&A系の掲示板として動作させるための改造を施してあります。

開発方針としては、掲示板の多機能化が目的ではなく、元々のWeb Patioのソースの構造をあまり壊さずに、変更点が移植できる範囲で改造しています。ログファイルは上位互換(ログファイルの各行の後ろに要素を追加しています)となっていますので、基本的には、オリジナルのWeb Patioに戻して使うこともできるはずです。

ただし、機能追加もそれなりに多くなってきましたので、Perl CGIの初心者の方には荷が重い内容になっているかもしれません。

改造初心者の方は、きりしま式をベースに改造するより、ソースコードの見やすい、KENT WEBのオリジナル版のWeb Patioをおすすめします。

サポート掲示板テスト掲示板を分けました。

他のWeb Patio改造版のご紹介

きりしま式ではご要望に添えない場合でも、他の方の改造されている秀逸なスクリプトがあります。きりしま式にがんじがらめになるより、目的に一番近いものを探すのがよいでしょう。

きりしま式ベース

光栄なことに、きりしま式をベースに改造版を発表されている方がいらっしゃいます。きりしま式では手を出さない、高機能化・多機能化をされた秀逸なスクリプト群です。

きりしま式 Web Patio Liberty Ver…きりしま式 Web Patioを更に改造し機能を追加したものとのことです。スレッドの各記事に「引用して返信」ができるリンクがついています。

Mobile-KPatio…きりしま式WebPatioの表示をモバイル仕様にしたスクリプトだそうです。

カオス式 Web Patio … きりしま式WebPatioをベースにHTMLタグの許可とタグの入力支援、お気に入りスレッド機能を追加しています。

スガラボットのForum Patio…きりしま式WebPatioをベースにツリー表示機能を追加しています。

オリジナルのWeb Patioベース

CGIの屋形-Web Patio II …なるよしさんによる改造版。きりしま式と同等の機能に加え、スレッドのソート機能、レスでの画像アップ機能があります。

ジャックのページ-スクリプト改造・配布ページ-Web Patioタグ支援ボタン付き…Web Patioの書き込み時にウェブログのようなタグを打ち込むためのボタンが装備されています。

掲示板改造支援サイト…Web Patioに迷惑書き込み防止機能を追加する改造をされています。

東武・営団・東急Photo Room-ダウンロード-改造CGI配布-Mobile-Patio…Web PatioをMOBILE仕様にした掲示板。サイト本体は移転されているようです。

爺ちゃんねる(別館)-Patio FU(改)…Patio-FU を更に改造した改造スクリプトです。添付ファイルのサムネイルをサーバー側で生成して表示するようです。

爺ちゃんねる(別館)-Patio-G…サムネイル表示・YouTube動画表示・返信も画像添付可とのことです。

Patio-FU…ファイルアップロード機能追加版。

動作サンプル

テスト掲示板_3.22_K0.972+…改造のテストも兼ねているため、配布アーカイブと仕様が違ったり、ちゃんと動作していないときがあるかもしれません。また、最新の配布版よりも改造している場合があります。

サポート掲示板_3.22_K0.972…配布している最新バージョンと原則同一です。

改造履歴

 

 

0.972

find.pl で本文か名前を対象にしないと検索が実行できない不具合を修正しました。

0.971

read.cgi のHTMLタグを修正しました。

edit_log.pl で本文が編集されるとメールが送信される機能をつけていますが、オプションで制御していなかったので、メールが送信できないサーバーでも送信しようとしていました。

0.97

管理者書き込みの場合に、レス番号が、最大書き込み数を超えているとすべて表示されない不具合を修正。同時に、最大書き込み数を超えていてもレスフォームが表示されるようなので、暫定的に対処。

0.962

過去ログに落ちるときにフラグをきちんと-1に変更するようにしてみた(今まで暫定扱いのままでした)。

0.961

$restitle=1のとき、スレッドをソートするチェックボックスが出ていなかった

0.96

リンクのrel=nofollowを自サイト内のみ削除するように

0.95

edit_log.pl を小加工。

0.946

$t_maxと$resが同じ数値になるとレスが表示されなくなる現象の対処方法を考え直してみました。

0.945

$t_maxと$resが同じ数値になるとレスが表示されなくなる現象に対処してみました。

本文中の旧形式のURL(&mode=viewとなってるやつ)を縮めるようにしました。0.91以降、&mode=viewを省略でき、現行ログでも、旧ログでも表示できます。

0.944

# レスのデフォルトタイトルの設定
$restitle = 1;
# 0 : 空欄
# 1 : 「Re: 元のタイトル」
# きりしま式はスレッド一覧にレスのタイトルが入るので 0 : 空欄 を強く推奨

を1にしたときに、
レスのデフォルトタイトル設定が反映されるようにしてみました。
(設定すると、最初のフォームに題名欄が普通にあります)

個別記事観覧(&view2)でも記事アイコンが新着記事のときは新着アイコンになるようにしました。

個別記事観覧(&view2)の記事アイコンをクリックしたときは、元のスレッドを表示するようにしました。

0.943

レス数の狂うバグの修正。新規投稿時ファイルがアップロードできないので、とりあえず苦し紛れにファイル選択はプレビュー画面で。

0.942

個別記事閲覧時にユーザー間メール送信機能のアイコンが表示されていたバグ修正。

0.941

タイトル後設定の微調整

0.94

タイトルがスレッド一覧で表示されている意味を高めるために、タイトルは本文を入力し終えた次の画面で入力する手順としました。

[これ以前の改造履歴]

改造メモ

 

要望項目のまとめ

ダウンロード

patio_322k0962.zip 102KB 2009年7月26日

過去ログに落ちる際にフラグを修正していない箇所を直してみたつもりのバージョン。(Thanks to 軌道◆ijNEnnc/uEさん)
ずっと動作していないんじゃないかと思っていた本家譲りのルーチンの無効化、削除。

本来のFAQモードに挑戦しましたが何か見落としているらしくうまくいかないのでまだバージョンナンバーは1になりません。

read_322k097.zip 10KB 2009年10月25日

管理者書き込みの場合に、レス番号が、最大書き込み数を超えているとすべて表示されない不具合を修正。(Thanks to ★◆rcTx115mSE さん、なるよし◆og4viYKIyI さん)
同時に、最大書き込み数を超えていてもレスフォームが表示されるようなので、暫定的に対処。

find_322k097.zip 2KB 2009年10月25日

検索の際に大文字・小文字を区別しないようにすることができるようにしました。(Thanks to MSさん、なるよし◆og4viYKIyI さん)

edit_log_322k0971.zip 6KB 2009年12月7日 NEW

編集結果のメール送信の不具合を修正しました。タイムスタンプの更新をやめ、記事修正時に不具合が起きないようにしました。(Thanks to MSさん)

read_322k0971.zip 11KB 2009年12月7日 NEW

HTMLタグを修正しました。(Thanks to MSさん)

find_322k0971.zip 3KB 2009年12月7日 NEW

検索後のページ送り時に新設した検索オプションが反映されていませんでした。(Thanks to 軌道◆ijNEnnc/uE さん)

find_322k0972.zip 3KB 2010年1月11日 NEW

検索時に、本文と名前を対象にしない場合、検束が実行できない不具合を修正しました。(Thanks to 軌道◆ijNEnnc/uE さん)

patio_322k0943.zip 100KB 2009年6月16日

レス数の狂うバグの修正。新規投稿時ファイルがアップロードできないので、とりあえず苦し紛れにファイル選択はプレビュー画面で。

read_322k0946.zip 10KB 2009年6月22日

init.cgiで、

# レスのデフォルトタイトルの設定
$restitle = 1;
# 0 : 空欄
# 1 : 「Re: 元のタイトル」
# きりしま式はスレッド一覧にレスのタイトルが入るので 0 : 空欄 を強く推奨

を1にしたときに、レスのデフォルトタイトル設定が反映されるようにしてみました。
(設定すると、最初のフォームに題名欄が普通にあります)

個別記事観覧(&view2)でも記事アイコンが新着記事のときは新着アイコンになるようにしました。

個別記事観覧(&view2)の記事アイコンをクリックしたときは、元のスレッドを表示するようにしました。

$t_maxと$resが同じ数値になるとレスが表示されなくなる現象に対処してみました。

本文中の旧形式のURL(&mode=viewとなってるやつ)を縮めるようにしました。
0.91以降、&mode=viewを省略できます。

read_322k0947.zip 10KB 2009年6月23日

init.cgiで、

# レスのデフォルトタイトルの設定
$restitle = 1;
# 0 : 空欄
# 1 : 「Re: 元のタイトル」
# きりしま式はスレッド一覧にレスのタイトルが入るので 0 : 空欄 を強く推奨

を1にしたときに、プレビューを使わないようにしたものです。

read_322k096.zip 10KB 2009年7月1日

リンクのrel=nofollowを自サイト内のみ削除するように

read_322k0961.zip 10KB 2009年7月1日

$restitle=1のとき、スレッドをソートするチェックボックスが出ていなかった

patio_322k0942.zip 97KB 2009年6月7日

個別記事閲覧時にユーザー間メール送信機能のアイコンが表示されていたバグ修正。read.cgiの1カ所しか変更していません。

patio_322k0941.zip 97KB 2009年6月5日

タイトル後設定機能を試していただける方のために、暫定公開します。無効にするオプションはないので、この機能を試す意図でない方は様子見をお願いします。

patio_322k092.zip 97KB 2009年4月11日

配布アーカイブで Google AdSense を無効にするのをよく忘れるのでオプションで設定できるようにしました。その他の機能的には一切変更ありません。

patio_322k091.zip 97KB 2009年4月7日

現行ログを過去ログのURLで指定して呼び出す場合の調整。過去ログを呼び出すときのURLの調整。新規スレッド作成時にテンプレート展開。

patio_322k09.zip 96KB 2009年4月7日

FAQモードを装備してみました。

patio_322k081.zip 91KB 2009年3月25日

rel=nofollow のバグ修正3カ所です。(Thanks to スガラボットさん)

・763行目で">"が1つ多かったのを修正しました。

・315行目、402行目の「参照:」に適用されていなかったので追加しました。

read_322k081.zip 8KB 2009年3月25日 read.cgi のみの修正なので、 read.cgi だけ、3カ所直せば同等です。上記の行数は0.81における行数です。

patio_322k08.zip 91KB 2009年3月14日

・管理者以外がスレッドを作成できなくするオプションを追加しました。(Thanks to 困り人さん)

迷惑書き込みの対処に追われて、掲示板の運用にうんざりしてしまう管理人さんも少なくないような気がします。私自身も日々、迷惑書き込みや不適切な書き込みによって作成されるスレッドを削除し続けています。このような機能があると、そもそもの掲示板としての機能に逆らうような気がしていて、あまり装備する気はなかったのですが、掲示板の流れや雰囲気を理解しない迷惑書き込みで荒らされていて、管理人がうんざりして放棄してしまっているのか、対応が追いついていない掲示板を見るにつけ、対処が必要かな、と思い直しました。

・ init.cgi で機能の有効/無効を切り替えられます。

・スレッドを作成するためには、掲示板の「管理パスワード」をパスワード欄に入力する必要があります。(「管理パスワードを知っている=管理人」という考え)

・スレッド一覧の新規スレッドの表示をモードで切り替えるように

・スレッド内表示の新規スレッドの表示を抑制

・管理者モード内に、新規スレッドへのリンクを表示(外部には新規スレッド作成のリンクが出現しなくなるため)

するようにします。

・外部へのリンクに全て rel=noffollow をつけるようにしてみます。

宣伝目的の書き込みをする意義を減らそうかと。

patio_322k075.zip 91KB 2009年1月19日

ソースコードを3.22相当にしました。(Thanks to なるよし@CGIの屋形◆og4viYKIyIさん)

また、禁止語フィルタの対象にURL欄も含めました。

patio_321k074.zip 100KB 2008年8月29日

しばらくまとまったアーカイブとして提供していなかったので、いったんアーカイブしなおしてみました。現時点で動作しているサンプルと同等の内容です。このファイルに一式含まれています。

read_321k075.zip 8KB 2008年10月18日 スレッド内のレス番号参照の不具合調整版。(Thanks to ひきおとしさん)

[これ以前のバージョンのダウンロード]

ZIP圧縮のみで配布しています。ZIPの解凍用ツールは環境に合わせて入手してください。画像ファイルは含んでいません。Kent Webの解説ページから入手してください。一部のオプションの初期値はKent Webで配布されているものと異なっています。

利用規定

このスクリプトはKENTさんの Web Patio をベースに改造したもので、KENTさんの 再配布の規定 に則って再配布をしています。 KENTさんの CGIスクリプト利用規定 に従ってください。なお、きりしま式の使用にあたって、オリジナルから付加される規定も、削除される規定もありません。また、オリジナルの規定に改訂があった場合は、速やかにそれに従うものとします。

もし、他のWeb Patioの改造版にきりしま式のソースコードを移植してご利用になられる場合は、下部の著作権表示の「きりしま式」も一緒に表示していただけるようお願いします。表示順番は移植された方にお任せします。

なお、下部の著作権表示の「きりしま式」を「Kirishima Edition」等、英語表記にしたい場合は、個別にご相談ください。無断で表記を変更・削ることは禁止しています。

オリジナルからの改造点

スレッド一覧で、新しい書き込みがあるスレッドにNEWマークを表示

スレッド一覧に、最新のレスのタイトルと、投稿者名を表示

トップページに検索窓を設置

検索時、レスの本文も検索します。サーバーの負荷は考慮していませんので、サーバーの重いところではタイムアウトで検索が終わらないかもしれません。

レスの範囲指定や全部表示ができるようにしています。

スレッド表示に、スレッド一覧と新規スレッドへのリンクを追加

記事のメールマークから書き込んだ人にメールを送信できる機能を用意しました。これで、掲示板にメールアドレスをさらすことなくメールを受け取ることができるようになります。メールにも禁止語フィルタは作動させています。

管理者によるロックをスレッド作成者によるロックと区別し、管理者がロックした場合は、スレッド作成者が勝手に解除できないようにしました。

旧2ch風のトリップを生成します。旧2chで特徴的なトリップを使っていた方や、トリップ検索ツールを使う方のために。

スレッド表示状態の各記事のスパナマークから、管理者パスワードを入力することで、管理者は直接スレッドやレスを削除したり、記事を編集したりすることができます。迷惑書き込みの削除も簡単です。管理者パスワードで編集した場合は、書き込みをした本人がその意図を無視して元に戻さないようにパスワードをクリアする設定ができます。チェックボックス形式にして、元のパスワードを維持したいときは維持できるようにしました。

過去ログにしても迷惑書き込みがつくオリジナル版の脆弱性に対処してみました。過去ログに落ちるスレッドは $key フラグを -1 にセットして区別します。もちろん、それ以前の過去ログはダイレクトにURLを叩くと出てしまいます。が、あまりないケースと思っているのでコンバータとかは用意していません。

スレッドにレスがついたとき、メールアドレスを入力して書き込んだ人には、お知らせのメールが行く機能を追加しました。init.cgiで、配信しないか、スレッドを立てた人だけか、レスをつけたひと全員かを指定できます。

スレッドの話題がそれてきたときに、新しいスレッドに分割するスレッド分割機能(親記事の場合は動作が変です)。実際には指定のレス以降をコピーした新スレッドを作成します。

管理者メッセージの下に位置しつづけてコメントを受け付けるFAQモード

管理者以外がスレッドを作成できないようにする機能

などを行っています。

設置方法

オリジナル版のWeb Patioとほぼ同等です。

まずは、オリジナル版をオリジナル版の設置方法の説明に従って設置し、正しく動作することを確認されてから取り組まれることをおすすめします。

オリジナル版のWeb Patioを設置し動作確認をした上で、きりしま式の配布アーカイブに含まれる init.cgi に新設されているカスタマイズ項目を設定して、他のファイルを上書きアップロードすることで利用ができるように改造しています。

パーミッションの変更が必要なファイルは

mail.log search.log はプロバイダーによっては「書き込み可能(606等)」に

setting.cgi は「実行可能(705等)」に設定してください。

public_html (ホームディレクトリ)
|
+-- patio /
| patio.cgi [705]
| read.cgi [705]
| regist.cgi [705]
| admin.cgi [705]
| registkey.cgi [705]
| init.cgi [604]
| note.html
| mail.log [606] *きりしま式で新設
| search.log [606] *きりしま式で新設
| setting.cgi [705] *きりしま式で新設
|
+-- data / index1.log [606]
| index2.log [606]
| memdata.cgi [606]
|
+-- lib / jcode.pl [604]
| upload.pl [604]
| edit_log.pl [604]
| find.pl [604]
| check.pl [604]
| registkey.pl [604]
|
+-- log [707] /
|
+-- ses [707] /
|
+-- upl [707] /
|
+-- img / *.gif
faq.gif *きりしま式で新設
filenew.gif *きりしま式で新設
fold6.gif *きりしま式で差替
foldnew.gif *きりしま式で新設
mail.gif *きりしま式で新設

また、根本的な構造部分は変更していないつもりですので、「テキストの比較」機能を持ったエディター等で、先頭から比較しながら変更部分を移植していくことで、独自の改造版に同等の機能を組み込むことも不可能ではないのではないかと思います。

【注意】 既存のすでに稼働しているWebPatioを上書きしてきりしま式にする場合は、ログの保存されている /data /log フォルダを上書きしないようにします。が、詳しくない方は稼働している掲示板に上書きせず、別途新しく設置することをおすすめします。

注意事項

Ver 2.11以降の目玉機能である、会員アクセス制限を私は利用していないので、この機能を有効にすると致命的なバグがあるかもしれませんが、ご容赦下さい。もし、不具合にお気づきになって修正点がわかる方はお知らせいただければ対応したいと思います。

過去ログに落ちるほど大量の書き込みを扱うつもりがないので、過去ログに関してはなんら強化を行っていません。ご容赦下さい。

改良のご要望

サポート掲示板にお寄せいただいた改良のご要望に関しては、きりしまの判断で改良のアイデアとして採用するかどうかを決定します。言うだけタダの気持ちで、お気軽に書き込んでください。

バグに関しても、きりしまの個人的な努力の範囲で対応はしますが、バグのないプログラムを提供する「義務」はないものとしますので、ご容赦ください。

サポートのご要望

きりしまの改造に由来するものであれば、サポート掲示板にご質問いただければお答えすることもあります。

ですが、そもそもオリジナル版のWeb Patioを正常に動作させられていないと思われるご質問には「まずは、オリジナル版のWeb Patioを設置して動作するか試して下さい」としかお答え致しかねます。「無償」でスクリプトを提供しておりますので、サポートの「義務」はないものとしますので、ご容赦ください。

また、きりしま式をさらに改造しようとする質問は、あくまで、アイデアとしてどうしたらいいか、とかきりしま式はどうしているのか、という話題にお答えすることがあるだけです。実際にどういうコードを記述したらいいのか、とか、別の改造版に組み込むにはどこを用いたらいいのか、ということは原則ご自分でお考え下さい。

なお、「有償」での「設置代行」や「サポート」をご希望の場合は、KENT-WEBへの事業者登録費用12,600円も含めてご負担いただけるというのであれば、事業者登録をした上での有償サポートを考えますので、メールにてお問い合わせ下さい。まだ、一度も有償サポートをしたことがないので。一度どなたかに事業者登録させていただければその後は事業者登録費用の負担分は不要になります。最初の方は負担が大きくなりますが、そもそも事業としてやろうと思っていませんのでご了承下さい。

また、「有償」であっても、オプションで設定できる項目以外の部分をご希望の仕様に「カスタマイズ」するサービスは行うつもりはありませんので、他を当たってください。また、きりしま式をベースにカスタマイズして納品するサービスを実施している方はこのサイトでご紹介しますのでご連絡ください。

Ver.2.XX系からのログコンバータ

Ver.2.XX系のきりしま式をご利用だった方が、Ver.3.XX系にスクリプトを更新したい場合に、ログを一括でVer.3.XX系に変換するログコンバータはこちらからどうぞ。

きりしま式 Web Patio Ver2.XX → Ver 3.XX ログコンバータ

きりしま屋