return false;
}
$outputPage = $this->getOutput();
- $title = Title::newFromURL( $target );
+ $title = Title::newFromText( $target );
if ( !$title || $title->isExternal() ) {
$outputPage->addHtml( '<div class="errorbox">' . $this->msg( 'allpagesbadtitle' )
->parse() . '</div>' );
return $this->rclTargetTitle;
}
+
+ /**
+ * Return an array of subpages beginning with $search that this special page will accept.
+ *
+ * @param string $search Prefix to search for
+ * @param int $limit Maximum number of results to return (usually 10)
+ * @param int $offset Number of results to skip (usually 0)
+ * @return string[] Matching subpages
+ */
+ public function prefixSearchSubpages( $search, $limit, $offset ) {
+ $title = Title::newFromText( $search );
+ if ( !$title || !$title->canExist() ) {
+ // No prefix suggestion in special and media namespace
+ return array();
+ }
+ // Autocomplete subpage the same as a normal search
+ $prefixSearcher = new StringPrefixSearch;
+ $result = $prefixSearcher->search( $search, $limit, array(), $offset );
+ return $result;
+ }
}