'HTMLRadioField' => 'includes/htmlform/HTMLRadioField.php',
'HTMLSelectAndOtherField' => 'includes/htmlform/HTMLSelectAndOtherField.php',
'HTMLSelectField' => 'includes/htmlform/HTMLSelectField.php',
+ 'HTMLSelectLimitField' => 'includes/htmlform/HTMLSelectLimitField.php',
'HTMLSelectOrOtherField' => 'includes/htmlform/HTMLSelectOrOtherField.php',
'HTMLSubmitField' => 'includes/htmlform/HTMLSubmitField.php',
'HTMLTextAreaField' => 'includes/htmlform/HTMLTextAreaField.php',
'EmailInvalidation' => 'includes/specials/SpecialConfirmemail.php',
'FewestrevisionsPage' => 'includes/specials/SpecialFewestrevisions.php',
'FileDuplicateSearchPage' => 'includes/specials/SpecialFileDuplicateSearch.php',
- 'HTMLBlockedUsersItemSelect' => 'includes/specials/SpecialBlockList.php',
'ImageListPager' => 'includes/specials/SpecialListfiles.php',
'ImportReporter' => 'includes/specials/SpecialImport.php',
'LinkSearchPage' => 'includes/specials/SpecialLinkSearch.php',
'select' => 'HTMLSelectField',
'radio' => 'HTMLRadioField',
'multiselect' => 'HTMLMultiSelectField',
+ 'limitselect' => 'HTMLSelectLimitField',
'check' => 'HTMLCheckField',
'toggle' => 'HTMLCheckField',
'int' => 'HTMLIntField',
--- /dev/null
+<?php
+
+/**
+ * A limit dropdown, which accepts any valid number
+ */
+class HTMLSelectLimitField extends HTMLSelectField {
+ /**
+ * Basically don't do any validation. If it's a number that's fine. Also,
+ * add it to the list if it's not there already
+ *
+ * @param string $value
+ * @param array $alldata
+ * @return bool
+ */
+ function validate( $value, $alldata ) {
+ if ( $value == '' ) {
+ return true;
+ }
+
+ // Let folks pick an explicit limit not from our list, as long as it's a real numbr.
+ if ( !in_array( $value, $this->mParams['options'] )
+ && $value == intval( $value )
+ && $value > 0
+ ) {
+ // This adds the explicitly requested limit value to the drop-down,
+ // then makes sure it's sorted correctly so when we output the list
+ // later, the custom option doesn't just show up last.
+ $this->mParams['options'][$this->mParent->getLanguage()->formatNum( $value )] =
+ intval( $value );
+ asort( $this->mParams['options'] );
+ }
+
+ return true;
+ }
+}
'flatlist' => true,
),
'Limit' => array(
- 'class' => 'HTMLBlockedUsersItemSelect',
+ 'type' => 'limitselect',
'label-message' => 'table_pager_limit_label',
'options' => array(
$lang->formatNum( 20 ) => 20,
wfProfileOut( __METHOD__ );
}
}
-
-/**
- * Items per page dropdown. Essentially a crap workaround for bug 32603.
- */
-class HTMLBlockedUsersItemSelect extends HTMLSelectField {
- /**
- * Basically don't do any validation. If it's a number that's fine. Also,
- * add it to the list if it's not there already
- *
- * @param string $value
- * @param array $alldata
- * @return bool
- */
- function validate( $value, $alldata ) {
- if ( $value == '' ) {
- return true;
- }
-
- // Let folks pick an explicit limit not from our list, as long as it's a real numbr.
- if ( !in_array( $value, $this->mParams['options'] )
- && $value == intval( $value )
- && $value > 0
- ) {
- // This adds the explicitly requested limit value to the drop-down,
- // then makes sure it's sorted correctly so when we output the list
- // later, the custom option doesn't just show up last.
- $this->mParams['options'][$this->mParent->getLanguage()->formatNum( $value )] =
- intval( $value );
- asort( $this->mParams['options'] );
- }
-
- return true;
- }
-}