return array();
}
+ /**
+ * Helper function for implementations of prefixSearchSubpages() that
+ * filter the values in memory (as oppposed to making a query).
+ *
+ * @since 1.24
+ * @param string $search
+ * @param int $limit
+ * @param array $subpages
+ * @return string[]
+ */
+ protected static function prefixSearchArray( $search, $limit, Array $subpages ) {
+ $escaped = preg_quote( $search );
+ return array_slice( preg_grep( "/^$escaped/i", $subpages ), 0, $limit );
+ }
+
/**
* Sets headers - this should be called from the execute() method of all derived classes!
*/
* @return string[] Matching subpages
*/
public function prefixSearchSubpages( $search, $limit = 10 ) {
- // SpecialWatchlist uses SpecialEditWatchlist::getMode, so new types should be added
- // here and there - no 'edit' here, because that the default for this page
- $subpages = array( 'clear', 'raw' );
- $escaped = preg_quote( $search );
- return array_slice( preg_grep( "/^$escaped/i", $subpages ), 0, $limit );
+ return self::prefixSearchArray(
+ $search,
+ $limit,
+ // SpecialWatchlist uses SpecialEditWatchlist::getMode, so new types should be added
+ // here and there - no 'edit' here, because that the default for this page
+ array(
+ 'clear',
+ 'raw',
+ )
+ );
}
/**
$subpages = $wgLogTypes;
$subpages[] = 'all';
sort( $subpages );
- $escaped = preg_quote( $search );
- return array_slice( preg_grep( "/^$escaped/i", $subpages ), 0, $limit );
+ return self::prefixSearchArray( $search, $limit, $subpages );
}
private function parseParams( FormOptions $opts, $par ) {
*/
public function prefixSearchSubpages( $search, $limit = 10 ) {
// See also SpecialEditWatchlist::prefixSearchSubpages
- $subpages = array( 'clear', 'edit', 'raw' );
- $escaped = preg_quote( $search );
- return array_slice( preg_grep( "/^$escaped/i", $subpages ), 0, $limit );
+ return self::prefixSearchArray(
+ $search,
+ $limit,
+ array(
+ 'clear',
+ 'edit',
+ 'raw',
+ )
+ );
}
/**