/**
  * @since 0.2
  *
  * @param AliasGroup $aliasGroup
  * @param EntityId|Item|Property|SiteLink $target
  * @param EditInfo|null $editInfo
  *
  * @return bool
  */
 public function set(AliasGroup $aliasGroup, $target, EditInfo $editInfo = null)
 {
     $this->throwExceptionsOnBadTarget($target);
     $params = $this->getTargetParamsFromTarget($this->getEntityIdentifierFromTarget($target));
     $params['language'] = $aliasGroup->getLanguageCode();
     $params['set'] = implode('|', $aliasGroup->getAliases());
     $this->api->postRequest('wbsetaliases', $params, $editInfo);
     return true;
 }
 /**
  * @param AliasGroup $aliasGroup
  *
  * @return array
  */
 private function getSerialized(AliasGroup $aliasGroup)
 {
     $serialization = array();
     $language = $aliasGroup->getLanguageCode();
     foreach ($aliasGroup->getAliases() as $value) {
         $result = array('language' => $language, 'value' => $value);
         if ($aliasGroup instanceof AliasGroupFallback) {
             $result['language'] = $aliasGroup->getActualLanguageCode();
             $result['source'] = $aliasGroup->getSourceLanguageCode();
         }
         $serialization[] = $result;
     }
     return $serialization;
 }
Esempio n. 3
0
 /**
  * @see Comparable::equals
  *
  * @param mixed $target
  *
  * @return bool
  */
 public function equals($target)
 {
     if ($this === $target) {
         return true;
     }
     return $target instanceof self && parent::equals($target) && $this->actualLanguageCode === $target->actualLanguageCode && $this->sourceLanguageCode === $target->sourceLanguageCode;
 }
Esempio n. 4
0
 /**
  * @since 0.7.4
  *
  * @param AliasGroup $group
  *
  * @return boolean
  */
 public function hasAliasGroup(AliasGroup $group)
 {
     return array_key_exists($group->getLanguageCode(), $this->groups) && $this->groups[$group->getLanguageCode()]->equals($group);
 }
Esempio n. 5
0
 public function testGivenSimilarFallbackObject_equalsReturnsFalse()
 {
     $aliasGroup = new AliasGroup('de');
     $aliasGroupFallback = new AliasGroupFallback('de', array(), 'en', null);
     $this->assertFalse($aliasGroup->equals($aliasGroupFallback));
 }