/** * @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; }
/** * @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; }
/** * @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); }
public function testGivenSimilarFallbackObject_equalsReturnsFalse() { $aliasGroup = new AliasGroup('de'); $aliasGroupFallback = new AliasGroupFallback('de', array(), 'en', null); $this->assertFalse($aliasGroup->equals($aliasGroupFallback)); }