PEAK XOOPS - Compatibility between D3 and Cube2.1 in englishin japanese

Archive | RSS |
XOOPS
XOOPS : Compatibility between D3 and Cube2.1
Poster : GIJOE on 2006-07-19 05:05:52 (8309 reads)

in englishin japanese
D3 module can't be installed into XOOPS Cube 2.1 alpha3.

There are 3 problems in oninstall.php, onupdate.php, onuninstall.php

(1) /class/database/sqlutility.php is far different from the one in XOOPS 2.0.x
(2) class XoopsBlock is not defined
(3) no messages are displayed

solutions...

(1) In XOOPS Cube 2.1, include oldsqlutility.php
(2) add include_once /class/xoopsblock.php
(3) add delegate - the new feature of Cube 2.1 - like this:


$root =& XCube_Root::getSingleton();
$root->mEventManager->add("Module.Legacy.ModuleInstall.Success", new XCube_Delegate( 'wraps_message_append_oninstall' ) ) ;



function wraps_message_append_oninstall( &$controller , &$eventArgs )
{
	if( is_array( @$GLOBALS['ret'] ) ) {
		foreach( $GLOBALS['ret'] as $message ) {
			$controller->mLog->add( $message ) ;
		}
	}
}


Therefore, wraps 1.03 looks compatible with Cube 2.1


Related articles
Printer friendly page Send this story to a friend

Comments list

GIJOE  Posted on 2006/8/1 6:45 | Last modified
nobunobuさん、ご指摘ありがとうございます。
Quote:
XoopsBlock下のメソッドはdeprecatedになると思います。
そうなるだろうとは思っていましたが、どうするべきか悩みどころですね。

ブロック回りって、実は、XOOPSコアバージョン間でもっとも異なる部分だったりします。
本家2.2はinstanceとblockとに分離してkernel化。
Cube2.1はblock==instanceのままkernel化。
本家2.0.14はclass/XoopsBlockのままで表示位置が増えている。

このあたりの互換性をどこまでとるか、本当に悩ましいです。
nobunobu  Posted on 2006/7/31 21:07
互換性確認ありがとうございます。
一つだけ
Quote:
/class/xoopsblock.phpをinclude_onceするようにしました。
XOOPS Cube2.1では、XOOPS2.0系で唯一class下に残っていたXoopsObjectの派生クラスである、XoopsBlockをkernel/block.phpにマージして、class/xoopsblock.phpでは、kernel/block.phpをincludeするように変更してあります。
と言う事で、XoopsBlockと、、XoopsBlockHandlerとで同様のメソッドを持っている事になりますので、将来的には、、XoopsBlock下のメソッドはdeprecatedになると思います。
Login
Username or e-mail:

Password:

Remember Me

Lost Password?

Register now!