$redirects = array();
$lb = new LinkBatch( $titles );
if ( !$lb->isEmpty() ) {
- $db = $this->getDb();
+ $db = $this->getDB();
$res = $db->select(
array( 'page', 'redirect' ),
array( 'page_namespace', 'page_title', 'rd_namespace', 'rd_title' ),
}
if ( !isset( $seen[$ns][$dbkey] ) ) {
$seen[$ns][$dbkey] = true;
- $resultId = $title->getArticleId();
+ $resultId = $title->getArticleID();
if ( $resultId === 0 ) {
$resultId = $nextSpecialPageId;
$nextSpecialPageId -= 1;
'extract' => false,
'extract trimmed' => false,
'image' => false,
- 'url' => wfExpandUrl( $title->getFullUrl(), PROTO_CURRENT ),
+ 'url' => wfExpandUrl( $title->getFullURL(), PROTO_CURRENT ),
);
}
}
* Extension:ActiveAbstract.
*
* @param string $text
- * @param int $len Target length; actual result will continue to the end of a sentence.
+ * @param int $length Target length; actual result will continue to the end of a sentence.
* @return string
*/
public static function trimExtract( $text, $length ) {
public function execute() {
if ( !$this->getResult()->getResultData( 'error' ) ) {
- $warnings = $this->getResult()->removeValue( 'warnings', null );
+ $result = $this->getResult();
+
+ // Ignore warnings or treat as errors, as requested
+ $warnings = $result->removeValue( 'warnings', null );
if ( $this->warningsAsError && $warnings ) {
$this->dieUsage(
'Warnings cannot be represented in OpenSearch JSON format', 'warnings', 0,
array( 'warnings' => $warnings )
);
}
+
+ // Ignore any other unexpected keys (e.g. from $wgDebugToolbar)
+ $remove = array_keys( array_diff_key(
+ $result->getResultData(),
+ array( 0 => 'search', 1 => 'terms', 2 => 'descriptions', 3 => 'urls' )
+ ) );
+ foreach ( $remove as $key ) {
+ $result->removeValue( $key, null );
+ }
}
parent::execute();