parent::execute( $subpage );
}
+ /**
+ * Return an array of subpages beginning with $search that this special page will accept.
+ *
+ * @param string $search Prefix to search for
+ * @param integer $limit Maximum number of results to return
+ * @return string[] Matching subpages
+ */
+ 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 );
+ }
+
/**
* Get a FormOptions object containing the default options
*
$output->showLagWarning( $lag );
}
+ # If no rows to display, show message before try to render the list
+ if ( $rows->numRows() == 0 ) {
+ $output->wrapWikiMsg(
+ "<div class='mw-changeslist-empty'>\n$1\n</div>", 'recentchanges-noresult'
+ );
+ return;
+ }
+
$dbr->dataSeek( $rows, 0 );
$list = ChangesList::newFromContext( $this->getContext() );
}
$s .= $list->endRecentChangesList();
- if ( $rows->numRows() == 0 ) {
- $output->wrapWikiMsg(
- "<div class='mw-changeslist-empty'>\n$1\n</div>", 'recentchanges-noresult'
- );
- } else {
- $output->addHTML( $s );
- }
+ $output->addHTML( $s );
}
/**