* Return true if we're to watch the page, false if not, null if no change.
* @param string $watchlist Valid values: 'watch', 'unwatch', 'preferences', 'nochange'
* @param Title $titleObj The page under consideration
- * @param string $userOption The user option to consider when $watchlist=preferences.
+ * @param string|null $userOption The user option to consider when $watchlist=preferences.
* If not set will use watchdefault always and watchcreations if $titleObj doesn't exist.
* @return bool
*/
// Preserve U+001F for self::parseMultiValue(), or error out if that won't be called
if ( isset( $value ) && substr( $rawValue, 0, 1 ) === "\x1f" ) {
if ( $multi ) {
- // This loses the potential $wgContLang->checkTitleEncoding() transformation
- // done by WebRequest for $_GET. Let's call that a feature.
+ // This loses the potential checkTitleEncoding() transformation done by
+ // WebRequest for $_GET. Let's call that a feature.
$value = implode( "\x1f", $request->normalizeUnicode( explode( "\x1f", $rawValue ) ) );
} else {
$this->dieWithError( 'apierror-badvalue-notmultivalue', 'badvalue_notmultivalue' );
case 'text':
case 'password':
if ( $required && $value === '' ) {
- $this->dieWithError( [ 'apierror-missingparam', $paramName ] );
+ $this->dieWithError( [ 'apierror-missingparam', $encParamName ] );
}
break;
case 'integer': // Force everything using intval() and optionally validate limits
}
}
} elseif ( $required ) {
- $this->dieWithError( [ 'apierror-missingparam', $paramName ] );
+ $this->dieWithError( [ 'apierror-missingparam', $encParamName ] );
}
return $value;
* @param int &$value Parameter value
* @param int|null $min Minimum value
* @param int|null $max Maximum value for users
- * @param int $botMax Maximum value for sysops/bots
+ * @param int|null $botMax Maximum value for sysops/bots
* @param bool $enforceLimits Whether to enforce (die) if value is outside limits
*/
protected function validateLimit( $paramName, &$value, $min, $max, $botMax = null,
* Set a watch (or unwatch) based the based on a watchlist parameter.
* @param string $watch Valid values: 'watch', 'unwatch', 'preferences', 'nochange'
* @param Title $titleObj The article's title to change
- * @param string $userOption The user option to consider when $watch=preferences
+ * @param string|null $userOption The user option to consider when $watch=preferences
*/
protected function setWatch( $watch, $titleObj, $userOption = null ) {
$value = $this->getWatchlistValue( $watch, $titleObj, $userOption );
* @since 1.25
* @param string|array|Message $msg
* @param IContextSource $context
- * @param array $params
+ * @param array|null $params
* @return Message|null
*/
public static function makeMessage( $msg, IContextSource $context, array $params = null ) {
if ( is_string( $msg ) ) {
$msg = wfMessage( $msg );
} elseif ( is_array( $msg ) ) {
- $msg = call_user_func_array( 'wfMessage', $msg );
+ $msg = wfMessage( ...$msg );
}
if ( !$msg instanceof Message ) {
return null;
[ 'blockinfo' => ApiQueryUserInfo::getBlockInfo( $user->getBlock() ) ]
) );
} else {
- call_user_func_array( [ $status, 'fatal' ], (array)$error );
+ $status->fatal( ...(array)$error );
}
}
return $status;
if ( !$status->getErrorsByType( 'error' ) ) {
$newStatus = Status::newGood();
foreach ( $status->getErrorsByType( 'warning' ) as $err ) {
- call_user_func_array(
- [ $newStatus, 'fatal' ],
- array_merge( [ $err['message'] ], $err['params'] )
- );
+ $newStatus->fatal( $err['message'], ...$err['params'] );
}
if ( !$newStatus->getErrorsByType( 'error' ) ) {
$newStatus->fatal( 'unknownerror-nocode' );
$user = $this->getUser();
}
$rights = (array)$rights;
- if ( !call_user_func_array( [ $user, 'isAllowedAny' ], $rights ) ) {
+ if ( !$user->isAllowedAny( ...$rights ) ) {
$this->dieWithError( [ 'apierror-permissiondenied', $this->msg( "action-{$rights[0]}" ) ] );
}
}
* @deprecated since 1.25
*/
public function profileIn() {
- // No wfDeprecated() yet because extensions call this and might need to
- // keep doing so for BC.
+ wfDeprecated( __METHOD__, '1.25' );
}
/**
* @deprecated since 1.25
*/
public function profileOut() {
- // No wfDeprecated() yet because extensions call this and might need to
- // keep doing so for BC.
+ wfDeprecated( __METHOD__, '1.25' );
}
/**