** Several array keys have been renamed: hideMinor → hideminor,
hideBots → hidebots, hideAnons → hideanons, hideLiu → hideliu,
hidePatrolled → hidepatrolled, hideOwn → hidemyself.
+* Option to mark hooks as deprecated has been added.
==== Removed classes ====
* TitleDependency (unused)
*
* @param string $event event name
* @param array $args parameters passed to hook functions
+ * @param string|null $deprecatedVersion optionally mark hook as deprecated with version number
+ *
* @return Boolean True if no handler aborted the hook
*/
-function wfRunHooks( $event, array $args = array() ) {
- return Hooks::run( $event, $args );
+function wfRunHooks( $event, array $args = array(), $deprecatedVersion = null ) {
+ return Hooks::run( $event, $args, $deprecatedVersion );
}
/**
*
* @param string $event Event name
* @param array $args Array of parameters passed to hook functions
+ * @param string|null $deprecatedVersion Optionally, mark hook as deprecated with version number
* @return bool True if no handler aborted the hook
*
* @since 1.22 A hook function is not required to return a value for
* @throws MWException
* @throws FatalError
*/
- public static function run( $event, array $args = array() ) {
+ public static function run( $event, array $args = array(), $deprecatedVersion = null ) {
wfProfileIn( 'hook: ' . $event );
foreach ( self::getHandlers( $event ) as $hook ) {
// Turn non-array values into an array. (Can't use casting because of objects.)
// Profile first in case the Profiler causes errors.
wfProfileIn( $func );
set_error_handler( 'Hooks::hookErrorHandler' );
+
+ // mark hook as deprecated, if deprecation version is specified
+ if ( $deprecatedVersion !== null ) {
+ wfDeprecated( "$event hook (used in $func)", $deprecatedVersion );
+ }
+
try {
$retval = call_user_func_array( $callback, $hook_args );
} catch ( MWHookException $e ) {