XOOPSTips集 - モジュールカテゴリのエントリ
xoopsのxcode変換後のコードの惨めさについては先に触れた。そこで、今回d3blogでは固有の変換ロジックを採用したので何回かに分けて紹介する。
ところがご用心。該当のモジュールをuninstallした際、mainfile.phpの記述から削除しておかないといわゆる真っ白状態になる。
今日からXOOPS関連TIPS集のモジュールがリニューアルした。
weblogD3で新たに採用した「チケットもどきキー付きトラックバックping送信宛先」(長い!)。これは、ルール違反といわれようが、いかなる手段を使ってでもかいくぐって来るspamに対抗するための苦肉の策である。
インポートマネジャー(移行ツール)の作成も終わったので、当サイト2モジュールをD3化完了し、さっそく本番移行した。続いて「スペイン通信」をD3化する予定です。
「XOOPS関連TIPS集」「ホダぶろぐる」のディレクトリがそれぞれweblogからxoopstips、weblog8からhodablogとなっていることを確認してほしい。セキュリティ面の大幅改善、容易なソース管理、複製ブロックのテンプレ自在などなど、D3化の意義なり目的、メリットは多いが、僕にとって最も嬉しいのはモジュール命名が規則から完全に解放され自由になったことだ。
検索結果から訪問される方のためにmod_rewriteで誘導も忘れずに行っておこう。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/modules/weblog/(.*)$ /modules/xoopstips/$1 [R=301,L]
RewriteRule ^/modules/weblog1/(.*)$ /modules/espana/$1 [R=301,L]
RewriteRule ^/modules/weblog8/(.*)$ /modules/hodablog/$1 [R=301,L]
</IfModule>
前回「やることを書こう」で宣言したweblogD3化の月内作動が間に合った。GIJOE氏提唱の方法に従えばいとも簡単。ただ、weblogのコードが多いうえ、いくつかの機能見直しを入れたので手間取ってしまった。
いくつか関門があったのだけれど、やはり「イベント通知」「コメント」をどう実現するかが問題となった。つまり、コールバック関数の場所をいかにfakeするか。とくにコメント時のイベント通知はマジックみたいに、あっけない方法で実現できるので紹介しておこう。
とminahitoさんが日本公式で呼びかけている。あちらに書くほどもない小さい話なのでこちらで密かに宣言(笑) シンプルでいながら、blogとして必要かつ十分な機能を持つweblog-1.42の愛用者として今後も長く使いたいので、これを
- legacy2.1互換(これは簡単です)
- GIJOE版D3対応
- XOOPS_TRUST_PATH対応
することを誓います。
モジュール名は既にweblogd3と決定してまして、現在改造実験進行中。
2007.3.8 トラックバックspamを撃退するには、機械的に狙い撃ちされるモジュールディレクトリ名weblogXを変えるのが一番です。weblogのD3版を試してください。やつらに肩すかしを食らわせてやりましょう。
これまで日本語のないトラックバックはご遠慮願う「なんちゃってハック」でしのいできたが、どうやら限界のようである。わが「スペイン通信」に日本語トラックバックが到来し始めたので、本腰を入れることにした。それが昨日公開したweblog-1.42トラックバックspam対策(RBL版) 。
どの程度功を奏すかもしれないが、いわゆるRBLチェックなるブラックリストの導入。これがなかなか優秀で、かつDNSのqueryを発行して答えを得るだけという、つまり世間のDNSサーバーのキャッシュも利用してしまうコストのかからない方法なのがいい。
We'd be very happy with our article enabled to publish on the very time we want. Why don't you to try it as webLog-1.42 enables us to specify the publish date.
First of all, you must modify the sql statements as follows:
$criteria = new criteriaCompo(new criteria('user_id', $currentuid));
//criteria->add(new criteria('private', 'N'), 'OR');
$criteria2 = new criteriaCompo(new criteria('private', 'N'));
$criteria2->add(new criteria('created', time(), '<'));
$criteria->add($criteria2,'OR');
or
//$sql .= " where private='N' or (private='Y' and user_id=$currentuid)";
$sql .= " where (private='N' and created < ".time().") or user_id=$currentuid";
- just turn around within the category or the month that was selected in the category block or the archive block.
- 'not found' returns if a parent category has no article, we need ariticles belonging to all the children.
- another cosmetic change, make inlude/search.inc.php compatible to the 'search' module, Suin's wok, more secured than search.php.
weblogをニュースモジュールの代替として使う場合など、あらかじめ原稿を用意しておいて、指定日になったら公開できる機能があれば便利だ。ver1.42では作成日の欄を自由に書き換えられるようになったので、これを利用して実現してみよう。