return;
}
- $queryValues = $this->getRequest()->getQueryValues();
+ $queryValues = $this->getRequest()->getQueryValuesOnly();
$badParams = [];
foreach ( $params as $param ) {
if ( $prefix !== 'noprefix' ) {
}
break;
case 'limit':
+ // Must be a number or 'max'
+ if ( $value !== 'max' ) {
+ $value = (int)$value;
+ }
+ if ( $multi ) {
+ self::dieDebug( __METHOD__, "Multi-values not supported for $encParamName" );
+ }
if ( !$parseLimit ) {
- // Don't do any validation whatsoever
+ // Don't do min/max validation and don't parse 'max'
break;
}
if ( !isset( $paramSettings[self::PARAM_MAX] )
"MAX1 or MAX2 are not defined for the limit $encParamName"
);
}
- if ( $multi ) {
- self::dieDebug( __METHOD__, "Multi-values not supported for $encParamName" );
- }
- $min = $paramSettings[self::PARAM_MIN] ?? 0;
- if ( $value == 'max' ) {
+ if ( $value === 'max' ) {
$value = $this->getMain()->canApiHighLimits()
? $paramSettings[self::PARAM_MAX2]
: $paramSettings[self::PARAM_MAX];
$this->getResult()->addParsedLimit( $this->getModuleName(), $value );
} else {
- $value = (int)$value;
$this->validateLimit(
$paramName,
$value,
- $min,
+ $paramSettings[self::PARAM_MIN] ?? 0,
$paramSettings[self::PARAM_MAX],
$paramSettings[self::PARAM_MAX2]
);
'integeroutofrange',
[ 'min' => $min, 'max' => $max, 'botMax' => $botMax ?: $max ]
);
+ // @phan-suppress-next-line PhanTypeMismatchArgument
$this->warnOrDie( $msg, $enforceLimits );
$value = $min;
}
'integeroutofrange',
[ 'min' => $min, 'max' => $max, 'botMax' => $botMax ?: $max ]
);
+ // @phan-suppress-next-line PhanTypeMismatchArgument
$this->warnOrDie( $msg, $enforceLimits );
$value = $botMax;
}
'integeroutofrange',
[ 'min' => $min, 'max' => $max, 'botMax' => $botMax ?: $max ]
);
+ // @phan-suppress-next-line PhanTypeMismatchArgument
$this->warnOrDie( $msg, $enforceLimits );
$value = $max;
}
*/
public function dieWithException( $exception, array $options = [] ) {
$this->dieWithError(
+ // @phan-suppress-next-line PhanTypeMismatchArgument
$this->getErrorFormatter()->getMessageFromException( $exception, $options )
);
}
if ( $m ) {
$m = new ApiHelpParamValueMessage(
$value,
+ // @phan-suppress-next-line PhanTypeMismatchArgument
[ $m->getKey(), 'api-help-param-no-description' ],
$m->getParams(),
isset( $deprecatedValues[$value] )