$classOrCallable = self::getClass( $action, $page->getActionOverrides() );
if ( is_string( $classOrCallable ) ) {
+ if ( !class_exists( $classOrCallable ) ) {
+ return false;
+ }
$obj = new $classOrCallable( $page, $context );
return $obj;
}
if ( is_callable( $classOrCallable ) ) {
- return call_user_func_array( $classOrCallable, array( $page, $context ) );
+ return call_user_func_array( $classOrCallable, [ $page, $context ] );
}
return $classOrCallable;
// Trying to get a WikiPage for NS_SPECIAL etc. will result
// in WikiPage::factory throwing "Invalid or virtual namespace -1 given."
// For SpecialPages et al, default to action=view.
- if ( !$context->canUseWikiPage() ) {
+ if ( $actionName === '' || !$context->canUseWikiPage() ) {
return 'view';
}
* @return bool
*/
final public static function exists( $name ) {
- return self::getClass( $name, array() ) !== null;
+ return self::getClass( $name, [] ) !== null;
}
/**
*/
final public function msg() {
$params = func_get_args();
- return call_user_func_array( array( $this->getContext(), 'msg' ), $params );
+ return call_user_func_array( [ $this->getContext(), 'msg' ], $params );
}
/**