/** * Create a repo link directly to the item. * We can't use Special:ItemByTitle here as the item might have already been updated. * * @param Title $title * * @return string|null */ private function getItemUrl(Title $title) { $entityId = $this->siteLinkLookup->getItemIdForSiteLink(new SiteLink($this->siteId, $title->getPrefixedText())); if (!$entityId) { return null; } return $this->repoLinker->getEntityUrl($entityId); }
/** * Get the EntityId that we want to update * * @return EntityId|null */ public function getEntityId() { if ($this->entityId === false) { $this->entityId = $this->siteLinkLookup->getItemIdForSiteLink(new SiteLink($this->siteId, $this->title->getPrefixedText())); if ($this->entityId === null) { wfDebugLog('UpdateRepo', "Couldn't find an item for {$this->title->getPrefixedText()}"); } } return $this->entityId; }
/** * @param Parser $parser * @param PPFrame $frame * @param array $args * * @return EntityId|null */ private function getEntityIdForStatementListProvider(Parser $parser, PPFrame $frame, array $args) { $from = $frame->getArgument('from'); if ($from && $this->allowArbitraryDataAccess) { $entityId = $this->getEntityIdFromString($parser, $from); } else { $title = $parser->getTitle(); $siteLink = new SiteLink($this->siteId, $title->getPrefixedText()); $entityId = $this->siteLinkLookup->getItemIdForSiteLink($siteLink); } return $entityId; }
/** * @param IContextSource $context * @param Title $title * * @return array */ private function getPageInfoRow(IContextSource $context, Title $title) { $entityId = $this->siteLinkLookup->getItemIdForSiteLink(new SiteLink($this->siteId, $title->getPrefixedText())); $row = $entityId ? $this->getItemPageInfo($context, $entityId) : $this->getUnconnectedItemPageInfo($context); return $row; }
/** * @param Title $title * * @return Item|null */ private function getItemId(Title $title) { $siteLink = new SiteLink($this->localSiteId, $title->getPrefixedText()); return $this->siteLinkLookup->getItemIdForSiteLink($siteLink); }