/**
  * @see SiteLinkStore::saveLinksOfItem
  *
  * @param Item $item
  *
  * @return bool
  */
 public function saveLinksOfItem(Item $item)
 {
     $itemId = $item->getId();
     $this->deleteLinksOfItem($itemId);
     foreach ($item->getSiteLinks() as $siteLink) {
         $this->indexByLink($itemId, $siteLink);
         $this->indexByItemId($itemId, $siteLink);
     }
     return true;
 }
 /**
  * Builds and returns the HTML representing a WikibaseEntity's site-links.
  *
  * @since 0.1
  *
  * @param Item $item the entity to render
  *
  * @return string HTML
  */
 protected function getHtmlForSiteLinks(Item $item)
 {
     return $this->siteLinksView->getHtml($item->getSiteLinks(), $item->getId(), $this->siteLinkGroups);
 }
 /**
  * @see SiteLinkLookup::getConflictsForItem
  *
  * The items in the return array are arrays with the following elements:
  * - integer itemId
  * - string siteId
  * - string sitePage
  *
  * @param Item $item
  *
  * @return array
  */
 public function getSiteLinkConflictsForItem(Item $item)
 {
     $conflicts = array();
     foreach ($item->getSiteLinks() as $link) {
         $page = $link->getPageName();
         $site = $link->getSiteId();
         if ($page === 'DUPE') {
             //NOTE: some tests may rely on these exact values!
             $conflicts[] = array('itemId' => 666, 'siteId' => $site, 'sitePage' => $page);
         }
     }
     return $conflicts;
 }
Example #4
0
 /**
  * @dataProvider simpleSiteLinksProvider
  */
 public function testGetSiteLinks()
 {
     $siteLinks = func_get_args();
     $item = new Item();
     foreach ($siteLinks as $siteLink) {
         $item->getSiteLinkList()->addSiteLink($siteLink);
     }
     $this->assertInternalType('array', $item->getSiteLinks());
     $this->assertEquals($siteLinks, $item->getSiteLinks());
 }