}
public static function provideRegisterHooks() {
+ $merge = array( ExtensionRegistry::MERGE_STRATEGY => 'array_merge_recursive' );
// Format:
// Current $wgHooks
// Content in extension.json
array(
array(),
self::$default,
- array(),
+ $merge,
),
// No current hooks, adding one for "FooBaz"
array(
array(),
array( 'Hooks' => array( 'FooBaz' => 'FooBazCallback' ) ) + self::$default,
- array( 'FooBaz' => array( 'FooBazCallback' ) ),
+ array( 'FooBaz' => array( 'FooBazCallback' ) ) + $merge,
),
// Hook for "FooBaz", adding another one
array(
array( 'FooBaz' => array( 'PriorCallback' ) ),
array( 'Hooks' => array( 'FooBaz' => 'FooBazCallback' ) ) + self::$default,
- array( 'FooBaz' => array( 'PriorCallback', 'FooBazCallback' ) ),
+ array( 'FooBaz' => array( 'PriorCallback', 'FooBazCallback' ) ) + $merge,
),
// Hook for "BarBaz", adding one for "FooBaz"
array(
array(
'BarBaz' => array( 'BarBazCallback' ),
'FooBaz' => array( 'FooBazCallback' ),
- ),
+ ) + $merge,
),
// Callbacks for FooBaz wrapped in an array
array(
array( 'Hooks' => array( 'FooBaz' => array( 'Callback1' ) ) ) + self::$default,
array(
'FooBaz' => array( 'Callback1' ),
- ),
+ ) + $merge,
),
// Multiple callbacks for FooBaz hook
array(
array( 'Hooks' => array( 'FooBaz' => array( 'Callback1', 'Callback2' ) ) ) + self::$default,
array(
'FooBaz' => array( 'Callback1', 'Callback2' ),
- ),
+ ) + $merge,
),
);
}