日本では年末に大掃除を行う習慣があります。
家中のガラス拭きをやった勢いで、altsysのmyblocksadmin機能について大掃除してみました。(半分嘘)
実際、myblocksadminは私が積極的にメンテしているコードの中では最悪クラスの汚さで、機能的にも、WYSIWYG対応もspawのみ、新コアについてもXOOPS2.2のみ、と半端でした。
どうやら本家はXOOPS2.2を切り捨てることを完全に決断したようで、2.3という番号を冠しながら、中身は2.0.18の改良版のようなので、XOOPS2.2対応はやめました。いろいろ問題のあるspawもやめてます。
その代わり、というわけではないのですが、ImpressCMSに正式に対応しました。これで、D3モジュール群がImpressCMSでストレスなく使えると思います。正直、本家版についてまで、動作確認している暇はないのですが、XOOPS_VERSIONを見て、2.3なら、ImpressCMSと同じ扱いにしています。もしブロックポジションなどの仕様が同じであれば、XOOPS2.3でもすんなり動くかもしれません。
もちろん、WYSIWYGはcommon/fckeditor(fckxoops)に対応しています。これが入っていなければ警告が出るという親切設計!
XCL2.1コアの機能で、ブロック編集画面で表示対象グループが選べる、というのも、絶対にあった方が利便性が高そうなので、ついでに実装してます。ただ、これをまともにやると、group_permissionテーブルのgperm_idが異常に増大しそうなので、表示対象グループに変更がなければ同テーブルはいじらない、なんてあたりにも一応手間をかけました。
まるまる書き直した関係で、バグもいろいろありそうですが、ベータ版等と分けて管理する余裕もないので、一発勝負で0.70としてリリースしてます。
もし不具合があったらコメント等の方法で教えてください。
But this Block Procedure Class is very useful when developping XCL (not X2 :-p).
More developper may use this class. So. I write it now.
http://xoopscube.wiki.sourceforge.net/Legacy_Module_Development_Block_XCL_Style%3Bja
GIJOE wrotes:
To confirm it, tell me the module using cl::blocks other than Xethna modules, please.
I cannot test Xethna modules no more...
So, I hope that BlocksAdmin will be available in XCL Block Edit Form using cl:: blocks..
I add below code at
xoops_trust_path/libs/altsys/class/MyBlocksAdmin.class.php:: in line 758.it works. (in HD SVN .^^; )if (altsys_get_core_type() == ALTSYS_CORE_TYPE_XC21L){ $legacy_block =& Legacy_Utils::createBlockProcedure($block); $block_data['cell_options'] = $legacy_block->getOptionForm(); } else { $block_data['cell_options'] = $block->getOptions(); }
if (altsys_get_core_type() == ALTSYS_CORE_TYPE_XC21L){
$legacy_block =& Legacy_Utils::createBlockProcedure($block);
$block_data['cell_options'] = $legacy_block->getOptionForm();
} else {
$block_data['cell_options'] = $block->getOptions();
}