getEnumValues( $name, $settings, $options ); if ( in_array( $value, $values, true ) ) { // Set a warning if a deprecated parameter value has been passed if ( isset( $settings[self::PARAM_DEPRECATED_VALUES][$value] ) ) { $this->callbacks->recordCondition( new ValidationException( $name, $value, $settings, 'deprecated-value', [ 'flag' => $settings[self::PARAM_DEPRECATED_VALUES][$value], ] ), $options ); } return $value; } if ( !isset( $options['values-list'] ) && count( ParamValidator::explodeMultiValue( $value, 2 ) ) > 1 ) { throw new ValidationException( $name, $value, $settings, 'notmulti', [] ); } else { throw new ValidationException( $name, $value, $settings, 'badvalue', [] ); } } public function getEnumValues( $name, array $settings, array $options ) { return $settings[ParamValidator::PARAM_TYPE]; } public function stringifyValue( $name, $value, array $settings, array $options ) { if ( !is_array( $value ) ) { return parent::stringifyValue( $name, $value, $settings, $options ); } foreach ( $value as $v ) { if ( strpos( $v, '|' ) !== false ) { return "\x1f" . implode( "\x1f", $value ); } } return implode( '|', $value ); } }