BFBBS Ver 1.4.2
Skin: BYOR by Yaminusi
BFBBS Ver 1.4.2 に組み込まれている ban_spam エクステンションを Ver 1.3.6 で利用する方法は上記リンクのテキストをご参照下さい。
宣伝除け機能を追加しました。上記リンクよりお持ち帰り下さい。
auto_link 周りの bug fix を行いました。上記リンクよりお持ち帰り下さい。
拙作の掲示板プログラム「BFBBS」の改造版パッケージをひっそり公開します。三年前に更新が止まった Perl4 の酷いスクリプトに、個人的に必要だった最低限の変更を加えただけの代物ですので、できる限り使わないで下さい。:-)
BFBBS 1.3.6 からの変更点はアーカイヴ付属の history.txt をご覧下さい。
yn.pos.to から BYOR だけ他に移そうと大分前にドメインを取ってそれっきりほったらかしていたんですが、最近小物スクリプトを何個か作ったので、これを機にじんわり移転を始めようと思います。と言っても多分すごくゆっくり移していくと思いますが…。
当分の間は両サイトとも動かしますし、メールアドレスもどちらでも構いません。サポート BBS もデータごと移設しますので。
ちょっと気づいたけど、URLのオートリンクが張られたあと
その発言を修正すると、URLオートリンクが二重に働いておかしなことになるみたいすね。
[from Yaminusi]:
auto_link エクステンションによる自動リンク機能は、「投稿時にフォームに入力された内容から URL (っぽい) 文字列を探し出し、それにアンカータグを付加する」という処理で実現しています。よって一旦投稿した記事を編集する場合、
1. URL が書かれた記事を投稿する。
2. auto_link エクステンションが URL にタグを付加する。
3. 実際にログファイルに書き込まれる。
4. 修正の為に記事を編集モードで呼び出す。
5. アンカータグが付加された状態の記事がフォームに入った状態で出てくる。
…という流れになります。
この編集時にアンカータグを除去しなければ、auto_link エクステンションは、
・最初に書かれた URL
・アンカータグを付加する際に href 属性に追加した URL
の二つに対し、再びアンカータグを付加してしまいます。これが延々とタグを増やしてしまう原因です。
Perl スクリプトの改造に慣れている方でしたら、以下の応急処置を行う事で動的にアンカータグを付加する形に変更できます。但しこの改造により、既にログに記録されている URL を含む記事は、上記に類似した原因によってアンカータグが重複して付加されるようになってしまいます。ご留意下さい。
1. bfbbs.cgi の 528 行目付近にある、auto_link エクステンション起動コードを無効化して下さい。
ex.
&auto_link;
↓
###-> &auto_link; <-###
2. bfbbs.cgi の 1222 行目付近に color_quote エクステンションの挿入箇所が示されています。この付近に auto_link エクステンション起動コードを挿入して下さい。
ex.
###-> &color_quote; <-###
&auto_link;
3. ext.cnf に挿入されている auto_link エクステンションのコードを、以下のように変更して下さい。
for (@in{split(" ", $ext{'auto_link2'})}) {
↓
for (@article{split(" ", $ext{'auto_link2'})}) {
動作検証用。ノーサポートです。
ろっちん wrote:
> supple_freeがきかないっしゅ。エラーは出ないですが、free項目の空白を埋めてくれないっす。
…と思いましたがいけてましたじゃ。
supple_freeってのは表示時に空白のフリー項目を埋めるんじゃなくって、記録時に空の部分に代入するものなのねー
前者だと思ったので、過去の空白になってる部分が埋まらない〜!と思ってしまったです。
お騒がせ致しましたです。
[from Yaminusi]:
1.3.4 と 1.3.6 を設置して再現してみようと思ってたんですが、無事動作しているようで。(^^;
変更前のログで抜けてしまう分には、すみませんがログファイルを直接書き換える事で対処をお願いします。
supple_freeがきかないっしゅ。エラーは出ないですが、free項目の空白を埋めてくれないっす。
Type_Jan型の顔選択式Skinで、画像をFree項目でやってるのであります。
supple_freeを組み込んで、
他のSkinから書いた場合にFree項目が空白になっちゃうのを、スペース画像でも入れようかと思ったわけです。
…というかBFBBS1.3.4時にはそうやってうまくいってたのですが、
最近1.3.6を試してたんですが、なぜかうまくいかんかったとです。
投稿時のSubmitボタンを画像ファイルにしたいのですが、どうすればいいのでしょう?
GIF画像等のボタンを押したら投稿、というふうにしたいわけです。
URLに「__CGI_W__」を入れたらいいのかなーと、ドキュメント見て思ったのですが、
実際やってみると「名前が入力されてません」とエラーです。どうもフォームの入力がCGIに渡されてないような。
このやりかたじゃまちがってるのでせうか?
[from Yaminusi]:
フォームの submit ボタンを type="submit" から type="image" にし、src 属性に画像のURLを指定すれば、その画像を submit ボタンにできると思います。
<input type="submit" value="送信">
↓
<input type="image" src="http://〜/submit.png">
置換文字列__CGI_W__ は「書込モードで動作するようにオプションを付けた bfbbs.cgi の URL + QUERY_STRNG 」に変換されます。これ自体には送信されるべき他の入力項目のデータは含まれていないので、アンカー等に指定してそのまま呼び出すのは「投稿フォームで空のまま送信する」のと同じ事となり、意味がありません。form 要素の action 属性に指定し、別途 POST method 等でデータを送ってやる必要があります。