下
Yakumo BBS Scriptについて
232:05/23(木) 19:30 Rko47Hx50
お疲れ様です
某所よりフレームセットが〜と言う意見があったりしたので変更
ということで、勝手に改造しました報告です
他の方で同じようにしたい人がいたら以下を参照にするといいかもです
「top.html」であることを前提にtop_page.plの220行目(BBSメニュー生成のあとのところ)から
#ここからフレームセットじゃないのを作る(cssが必要だよ)
if (-e '../tmp_top.html') {
$bbs_list = get_bbs_list($menu_list,$menu_pattern,$target);
$page = read_file('../tmp_top.html');
$page =~ s/BBS_TITLE/$bbs_title/g;
$page =~ s/BBS_SUBTITLE/$bbs_subtitle/g;
$page =~ s/tmp_//g;
$page =~ s/BBS_KEY/$ifo{'bbskey'}/g;
substr($page,index($page,'BBS_LIST'),length('BBS_LIST'),$bbs_list);
if (write_file('../top.html',\$page,0)) {
$er .= "top.htmlを更新しました<br>\n";
} else {
$er .= "top.htmlの更新に失敗しました<br>\n";
}
} else {
$er .= "tmp_top.htmlが無いので更新しませんでした<br>\n";
}
if ($ifo{'bbslist'}) {
if (put_bbstable($bbs_title)) {
$er .= "bbstable.htmlを更新しました<br>\n";
} else {
$er .= "bbstable.htmlの更新に失敗しました<br>\n";
}
}
#ここまで
これを追加する
tmp_top.htmlが必要になるのでhttp://blogban.net/tmp_top.htmlのソースを参考に
CSSはhttp://blogban.net/top.cssを参考にしてください
改造と言ってもてきとーにコピペした荒っぽいものなので自己責任でね!><;
233:小林◆YAKUMOZcw. 05/23(木) 21:39 G64zpJbd0 [sage]
>>232乙です
次回実装できるリライトワードの解説
詳しくは付属文書でするとして概要を
馬鹿 = ○○
と設定すると「馬鹿野郎」が「○○野郎」に変換されます
これだけの機能だと当たり前すぎて詰まらないので多対一の設定も
馬鹿 or アホ or 池沼 = ○○
と設定すれば「お前は馬鹿」も「お前はアホ」も「お前は○○」に変換されます
これだけだと面白くないので、多対多も設定できます
馬鹿 or アホ or 池沼 = ○○ or △△ or ××
と設定すれば前の例の○○の部分が○○か△△か××に置き換えられます
当然一対多もできます
馬鹿 = ○○ or △△ or ××
という設定もできます
この機能を利用して改造無しでランダム名無しを実現できます
name=!noname = 名無し or ナナシ or 774
とリライトワードに設定し、名無しの設定を
!nonameさん
とすれば名無しの名前欄が「名無しさん」「ナナシさん」「774さん」
とランダムで変わります
andも使えると主語に対して語尾を変えられるな〜と思わなくも
ないですが、面倒なので今回は見送り、いずれ付けるかもしれない
234:05/23(木) 22:06 Rko47Hx50
なるほど便利そうですね
235:小林◆YAKUMOZcw. 05/25(土) 22:51 LMDE5LIE0 [sage]
そういや規制外トリップは板単位の設定だった、
サーバー単位でも設定できるようにしておこう
リライトワードでトリップの中身は書き換えられない
予定だったが、書き換えても良いかもしれない
キャップは書き換え不可だね
236:小林◆YAKUMOZcw. 05/30(木) 16:17 jVGF4D1J0 [sage]
ん〜規制に正規表現を使えるようにする訳だけど
間違った正規表現を与えるとエラーで処理が止まってしまう
対策は考えたけど、なかなか面倒くさい
237:小林◆YAKUMOZcw. 05/30(木) 17:22 jVGF4D1J0 [sage]
とりあえず、無効な正規表現は実行時に無視するという
簡単な方法で実装する
いずれは設定時にエラーを出した方が良いかもしれない
238:小林◆YAKUMOZcw. 05/30(木) 21:32 jVGF4D1J0 [sage]
規制の除外設定のサブルーチンはだいぶできてきた
残るは外部サイトを利用した規制の除外設定
リライトワードの正規表現を使わない置き換え
仕組みは考えてあるけど、コーディングが面倒な感じ
239:小林◆YAKUMOZcw. 06/01(土) 23:58 tgoGWHdq0 [sage]
外部サイトを利用した規制は掲示板設定でチェックするのはやめて
規制の設定で記述する方向で検討
niku.2ch.net not rh=localhost
BBQだとこんな感じ、リモートホストがlocalhostだと規制しない例
設定が面倒になる弊害は有るけど、同じ方法で設定できるチェック
サイトが有れば独自に追加できるようになる
240:小林◆YAKUMOZcw. 06/02(日) 00:46 LcrpBkRs0 [sage]
リライトワードの機能が当初考えていたより強力だったりする
fusianasanはリライトワードだけで設定できたりする、とりあえず
次のバージョンでは外さないけど、いずれfusianasanは機能から
外してリライトワードで設定してもらうようにするかもしれない
発動条件に日付が使えればおみくじも独自に実装できるかも
しれない
某所でやってる!randomのような機能を作れば元旦の!damaも
リライトワードでいける
リライトワードの良い所は板単位でもサーバー単位でも設定
できる所だったり
アイディアが暴走するな〜
241:小林◆YAKUMOZcw. 06/06(木) 18:37 s5G93LQC0 [sage]
GETメソッドでしつこく投稿してくるスパムが有る
こんなのはさっさと.htaccess規制にぶち込むに限るが、
GET送信しただけでアクセス制限は乱暴すぎる
GETの判定を後にするべきだろうね〜
上前次1-新書写板覧AA省