EBernhardson has uploaded a new change for review.
https://gerrit.wikimedia.org/r/230585
Change subject: Include generated metadata for redirects
......................................................................
Include generated metadata for redirects
If a page is returned but is resolved as a redirect the generated
data, such as the position of the result in search, is lost. Retain
that data by including it in under the 'redirects' key.
Bug: T92796
Change-Id: I6c1871dee517dd9a9a8a70cbd6ece0bc42dd0667
---
M includes/api/ApiPageSet.php
1 file changed, 12 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/85/230585/1
diff --git a/includes/api/ApiPageSet.php b/includes/api/ApiPageSet.php
index d67b184..12431ab 100644
--- a/includes/api/ApiPageSet.php
+++ b/includes/api/ApiPageSet.php
@@ -66,6 +66,7 @@
private $mInterwikiTitles = array();
/** @var Title[] */
private $mPendingRedirectIDs = array();
+ private $mResolvedRedirectTitles = array();
private $mConvertedTitles = array();
private $mGoodRevIDs = array();
private $mLiveRevIDs = array();
@@ -452,6 +453,15 @@
if ( $titleTo->isExternal() ) {
$r['tointerwiki'] = $titleTo->getInterwiki();
}
+ if ( isset(
$this->mResolvedRedirectTitles[$titleStrFrom] ) ) {
+ $titleFrom =
$this->mResolvedRedirectTitles[$titleStrFrom];
+ $ns = $titleFrom->getNamespace();
+ $dbkey = $titleFrom->getDBkey();
+ if ( isset( $this->mGeneratorData[$ns][$dbkey]
) ) {
+ $r = array_merge(
$this->mGeneratorData[$ns][$dbkey], $r );
+ }
+ }
+
$values[] = $r;
}
if ( !empty( $values ) && $result ) {
@@ -1030,6 +1040,7 @@
$row->rd_fragment,
$row->rd_interwiki
);
+ $this->mResolvedRedirectTitles[$from] =
$this->mPendingRedirectIDs[$rdfrom];
unset( $this->mPendingRedirectIDs[$rdfrom] );
if ( $to->isExternal() ) {
$this->mInterwikiTitles[$to->getPrefixedText()]
= $to->getInterwiki();
@@ -1239,6 +1250,7 @@
continue;
}
$pageId = $pages[$dbkey];
+
if ( !isset( $data[$pageId] ) ) {
// $pageId didn't make it into the
result. Ignore it.
continue;
--
To view, visit https://gerrit.wikimedia.org/r/230585
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I6c1871dee517dd9a9a8a70cbd6ece0bc42dd0667
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: EBernhardson <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits