html側プラグインオブジェクトの命名規則変更
xpWikiでは、html側に各プラグインオブジェクトを継承した、プラグインクラスを置くことで、プラグインのすべての機能をオーバーライドできるようにしています。
Ver 3.47 未満の xpWiki では、各プラグイン関数名に user を加える規則にしていましたが、複数インストールしている場合に、クラス名が重複して PHP が止まってしまうことに、今更気付きました。

そこで、突然の基本設計変更です。 
user の変わりに、モジュールディレクトリ名を加える規則に変更しました。
例えば、goolemaps2 プラグインの場合
- オリジナルのクラス名
- xpwiki_plugin_googlemaps2
- Ver 3.47 未満
xpwiki_user_plugin_googlemaps2
- Ver 3.47 以降
- xpwiki_xpwiki_plugin_googlemaps2 (モジュールディレクトリ名が xpwiki の場合)
- xpwiki_mywiki_plugin_googlemaps2 (モジュールディレクトリ名が mywiki の場合)
これを踏まえて、googlemaps2 プラグインの html側に置く独自設定ファイルは、以下のようになります。
以前に html 側に独自プラグインクラスを置かれている方は、すべてのプラグインクラスの名称を変更していただく必要があります。
お手数お掛けしますがよろしくお願い致します。
- /modules/xpwiki/private/plugin/googlemaps2.inc.php
1
2
3
4
5
6
7
8
9
10
| <?php
class xpwiki_xpwiki_plugin_googlemaps2 extends xpwiki_plugin_googlemaps2 {
function plugin_googlemaps2_init () {
parent::plugin_googlemaps2_init();
$this->cont['PLUGIN_GOOGLEMAPS2_DEF_KEY'] = 'ここにサイトKeyを記述';
}
}
?>
|