コード例 #1
0
 /**
  * @param string[] $termArray
  *
  * @return TermList
  */
 private function newTermListFromArray(array $termArray)
 {
     $termList = new TermList();
     foreach ($termArray as $language => $labelText) {
         $termList->setTextForLanguage($language, $labelText);
     }
     return $termList;
 }
コード例 #2
0
 /**
  * @param array $serialization
  *
  * @return TermList
  */
 private function getDeserialized($serialization)
 {
     $termList = new TermList();
     foreach ($serialization as $termSerialization) {
         $termList->setTerm($this->termDeserializer->deserialize($termSerialization));
     }
     return $termList;
 }
コード例 #3
0
 /**
  * Adds the descriptions of the given entity to the RDF graph.
  *
  * @param string $entityLName
  * @param TermList $descriptions
  */
 public function addDescriptions($entityLName, TermList $descriptions)
 {
     foreach ($descriptions->toTextArray() as $languageCode => $description) {
         if ($this->languages !== null && !isset($this->languages[$languageCode])) {
             continue;
         }
         $this->writer->about(RdfVocabulary::NS_ENTITY, $entityLName)->say(RdfVocabulary::NS_SCHEMA_ORG, 'description')->text($description, $languageCode);
     }
 }
コード例 #4
0
 /**
  * @param TermList $termList
  *
  * @return array
  */
 private function getSerialized(TermList $termList)
 {
     $serialization = array();
     foreach ($termList->getIterator() as $term) {
         $serialization[$term->getLanguageCode()] = $this->termSerializer->serialize($term);
     }
     if ($this->useObjectsForMaps) {
         $serialization = (object) $serialization;
     }
     return $serialization;
 }
コード例 #5
0
ファイル: MediaInfo.php プロジェクト: Benestar/WikibaseMedia
 /**
  * @see EntityDocument::equals
  *
  * @param mixed $target
  *
  * @return bool
  */
 public function equals($target)
 {
     if ($this === $target) {
         return true;
     }
     return $target instanceof self && $this->labels->equals($target->labels) && $this->descriptions->equals($target->descriptions) && $this->statements->equals($target->statements);
 }
コード例 #6
0
 /**
  * @param TermList $descriptions the list of descriptions to render
  *
  * @return string HTML
  */
 private function getDescriptionText(TermList $descriptions)
 {
     if ($descriptions->hasTermForLanguage($this->languageCode)) {
         $text = $descriptions->getByLanguage($this->languageCode)->getText();
         return htmlspecialchars($text);
     } else {
         return wfMessage('wikibase-description-empty')->escaped();
     }
 }
 private function injectDescriptions(array &$entityRecord, TermList $descriptions)
 {
     if (!isset($entityRecord['descriptions'])) {
         $entityRecord['descriptions'] = array();
     }
     foreach ($descriptions->toTextArray() as $lang => $text) {
         $entityRecord['descriptions'][$lang] = array('language' => $lang, 'value' => $text);
     }
 }
コード例 #8
0
ファイル: TermListTest.php プロジェクト: SRMSE/cron-wikidata
 public function testGivenSomeLanguages_getWithLanguagesReturnsPartialList()
 {
     $list = new TermList();
     $list->setTextForLanguage('en', 'foo');
     $list->setTextForLanguage('de', 'bar');
     $list->setTextForLanguage('nl', 'baz');
     $list->setTextForLanguage('fr', 'hax');
     $expectedList = new TermList();
     $expectedList->setTextForLanguage('en', 'foo');
     $expectedList->setTextForLanguage('nl', 'baz');
     $this->assertEquals($expectedList, $list->getWithLanguages(array('en', 'nl')));
 }
コード例 #9
0
ファイル: Fingerprint.php プロジェクト: SRMSE/cron-wikidata
 /**
  * @since 0.7.4
  *
  * @return bool
  */
 public function isEmpty()
 {
     return $this->labels->isEmpty() && $this->descriptions->isEmpty() && $this->aliasGroups->isEmpty();
 }