Make the filter field on ViewHistory of "int" type

Following up I636b4e56f39282593c737ace1d6ff2d90900d997, enforce a basic
clientside validation and don't fill the field with the URL parameter if
it's not valid.

Change-Id: If4fd015dff64237375a0c4d3b9fbcefbd54dba3e
This commit is contained in:
Daimona Eaytoy 2019-02-03 16:01:58 +01:00
parent 775368a6fb
commit 27f8b9ab34
4 changed files with 6 additions and 6 deletions

View file

@ -351,7 +351,7 @@ class AbuseFilter {
}
/**
* @param string $filter
* @param string|int $filter
* @return bool
*/
public static function filterHidden( $filter ) {
@ -808,7 +808,7 @@ class AbuseFilter {
/**
* Utility function to decode global-$index to $index. Returns false if not global
*
* @param string $filter
* @param string|int $filter
*
* @return string|bool
*/

View file

@ -18,7 +18,7 @@ class AbuseFilterViewHistory extends AbuseFilterView {
$out->enableOOUI();
$filter = $this->getRequest()->getText( 'filter' ) ?: $this->mFilter;
// Ensure the parameter is a valid filter ID
$filter = preg_match( '/^[1-9][0-9]*$/', (string)$filter ) === 0 ? null : (int)$filter;
$filter = (int)$filter;
if ( $filter ) {
$out->setPageTitle( $this->msg( 'abusefilter-history' )->numParams( $filter ) );
@ -77,7 +77,7 @@ class AbuseFilterViewHistory extends AbuseFilterView {
'label-message' => 'abusefilter-history-select-user'
],
'filter' => [
'type' => 'text',
'type' => 'int',
'name' => 'filter',
'default' => $filter,
'size' => '45',

View file

@ -7,7 +7,7 @@ class AbuseFilterHistoryPager extends TablePager {
protected $linkRenderer;
/**
* @param string $filter
* @param int $filter
* @param AbuseFilterViewHistory $page
* @param string $user User name
* @param LinkRenderer $linkRenderer

View file

@ -857,7 +857,7 @@ class SpecialAbuseLog extends SpecialPage {
}
/**
* @param string|null $filter_id
* @param string|int|null $filter_id
* @param bool|int|null $filter_hidden
* @return bool
*/