private function buildRequest(array $entityIds) { $params = array('ids' => implode('|', $this->serializeEntityIds($entityIds))); if ($this->options->getOption(EntityStore::OPTION_LANGUAGE_FALLBACK)) { $params['languagefallback'] = true; } $languagesOption = $this->options->getOption(EntityStore::OPTION_LANGUAGES); if ($languagesOption !== null) { $params['languages'] = implode('|', $languagesOption); } return new SimpleRequest('wbgetentities', $params); }
private function filterLanguages(array $serialization) { $languagesOption = $this->options->getOption(EntityStore::OPTION_LANGUAGES); if ($languagesOption === null) { return $serialization; } $languages = array_flip($languagesOption); if (array_key_exists('labels', $serialization)) { $serialization['labels'] = array_intersect_key($serialization['labels'], $languages); } if (array_key_exists('descriptions', $serialization)) { $serialization['descriptions'] = array_intersect_key($serialization['descriptions'], $languages); } if (array_key_exists('aliases', $serialization)) { $serialization['aliases'] = array_intersect_key($serialization['aliases'], $languages); } return $serialization; }
/** * @see EntityStoreOptions::defaultOption */ protected function defaultOption($option, $default) { $this->options->defaultOption($option, $default); }