Yakumo BBS Scriptについて
229:小林◆YAKUMOZcw. 05/22(水) 22:34 zXK458CQ0 [sage]AA
規制関係の処理の管理者ページの作成を終わって
具体的な処理を記述中

なんかやたらと複雑になってる
230:小林◆YAKUMOZcw. 05/22(水) 23:14 zXK458CQ0 [sage]AA
そういや書き忘れてたけど、

このスクリプトを使って掲示板を運営してますって場合は
このスレにurlを書き込んで宣伝しても良いですよ

ただし管理人限定、タレこみは認めません
231:小林◆YAKUMOZcw. 05/23(木) 05:02 G64zpJbd0 [sage]AA
リライトワードのサブルーチンは出来た
一部の全角文字がうまく置き換わらないのは仕方がないか

NGワードも除外設定をできるようにしようと思ったら
恐ろしく手間が掛かりそうなのでやめた
今まで通りの設定+スレタイ、名前欄、メール欄、本文
が選択出来るように拡張するだけにしておく
232:05/23(木) 19:30 Rko47Hx50AA
お疲れ様です
某所よりフレームセットが〜と言う意見があったりしたので変更
ということで、勝手に改造しました報告です
他の方で同じようにしたい人がいたら以下を参照にするといいかもです

「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]AA
>>232乙です

次回実装できるリライトワードの解説
詳しくは付属文書でするとして概要を

馬鹿 = ○○
と設定すると「馬鹿野郎」が「○○野郎」に変換されます
これだけの機能だと当たり前すぎて詰まらないので多対一の設定も

馬鹿 or アホ or 池沼 = ○○
と設定すれば「お前は馬鹿」も「お前はアホ」も「お前は○○」に変換されます
これだけだと面白くないので、多対多も設定できます

馬鹿 or アホ or 池沼 = ○○ or △△ or ××
と設定すれば前の例の○○の部分が○○か△△か××に置き換えられます
当然一対多もできます

馬鹿 = ○○ or △△ or ××
という設定もできます

この機能を利用して改造無しでランダム名無しを実現できます

name=!noname = 名無し or ナナシ or 774
とリライトワードに設定し、名無しの設定を
!nonameさん
とすれば名無しの名前欄が「名無しさん」「ナナシさん」「774さん」
とランダムで変わります

andも使えると主語に対して語尾を変えられるな〜と思わなくも
ないですが、面倒なので今回は見送り、いずれ付けるかもしれない
234:05/23(木) 22:06 Rko47Hx50AA
なるほど便利そうですね
235:小林◆YAKUMOZcw. 05/25(土) 22:51 LMDE5LIE0 [sage]AA
そういや規制外トリップは板単位の設定だった、
サーバー単位でも設定できるようにしておこう

リライトワードでトリップの中身は書き換えられない
予定だったが、書き換えても良いかもしれない
キャップは書き換え不可だね
236:小林◆YAKUMOZcw. 05/30(木) 16:17 jVGF4D1J0 [sage]AA
ん〜規制に正規表現を使えるようにする訳だけど
間違った正規表現を与えるとエラーで処理が止まってしまう

対策は考えたけど、なかなか面倒くさい
237:小林◆YAKUMOZcw. 05/30(木) 17:22 jVGF4D1J0 [sage]AA
とりあえず、無効な正規表現は実行時に無視するという
簡単な方法で実装する

いずれは設定時にエラーを出した方が良いかもしれない
238:小林◆YAKUMOZcw. 05/30(木) 21:32 jVGF4D1J0 [sage]AA
規制の除外設定のサブルーチンはだいぶできてきた
残るは外部サイトを利用した規制の除外設定
リライトワードの正規表現を使わない置き換え

仕組みは考えてあるけど、コーディングが面倒な感じ
1-AA