public function testGetInstance() { $instance = PropertyRegistry::getInstance(); $this->assertSame($instance, PropertyRegistry::getInstance()); PropertyRegistry::clear(); $this->assertNotSame($instance, PropertyRegistry::getInstance()); }
private function findBasePropertyToRedirectFor($label) { $property = new DIProperty(PropertyRegistry::getInstance()->findPropertyIdByLabel($label)); if ($property->getLabel() !== '' && $label !== $property->getLabel()) { $outputPage = $this->getContext()->getOutput(); $outputPage->redirect($property->getDiWikiPage()->getTitle()->getFullURL()); } }
private function findBasePropertyToRedirectFor($label) { $property = new DIProperty(PropertyRegistry::getInstance()->findPropertyIdByLabel($label)); // Ensure to redirect to `Property:Modification date` and not using // a possible user contextualized version such as `Property:Date de modification` $canonicalLabel = $property->getCanonicalLabel(); if ($canonicalLabel !== '' && $label !== $canonicalLabel) { $outputPage = $this->getContext()->getOutput(); $outputPage->redirect($property->getCanonicalDiWikiPage()->getTitle()->getFullURL()); } }
private function findPropertyIdByLabel($label) { $property = new DIProperty(PropertyRegistry::getInstance()->findPropertyIdByLabel($label)); $canonicalLabel = $property->getCanonicalLabel(); // #1966 and #1968 // In case something goes wrong, a recursive loop will kill PHP // and we know we messed up if ($canonicalLabel !== '' && $label !== $canonicalLabel) { $this->findPropertyIdByLabel($property->getCanonicalDiWikiPage()->getTitle()->getText()); } return array($label, $property); }
/** * Returns an introductory text for a predefined property * * @note In order to enable a more detailed description for a specific * predefined property a concatenated message key can be used (e.g * 'smw-pa-property-predefined' + <internal property key> => '_asksi' ) * * @since 1.9 * * @return string */ protected function getIntroductoryText() { $dv = DataValueFactory::getInstance()->newDataValueByItem($this->mProperty); $propertyName = $dv->getFormattedLabel(); $message = ''; if ($this->mProperty->isUserDefined()) { return $message; } $key = $this->mProperty->getKey(); if (($messageKey = PropertyRegistry::getInstance()->findPropertyDescriptionMsgKeyById($key)) !== '') { $messageKeyLong = $messageKey . '-long'; } else { $messageKey = 'smw-pa-property-predefined' . strtolower($key); $messageKeyLong = 'smw-pa-property-predefined-long' . strtolower($key); } $message .= wfMessage($messageKey)->exists() ? wfMessage($messageKey, $propertyName)->parse() : wfMessage('smw-pa-property-predefined-default', $propertyName)->parse(); $message .= wfMessage($messageKeyLong)->exists() ? ' ' . wfMessage($messageKeyLong)->parse() : ''; $message .= ' ' . wfMessage('smw-pa-property-predefined-common')->parse(); return Html::rawElement('div', array('class' => 'smw-property-predefined-intro plainlinks'), $message); }
/** * @deprecated since 2.1, use PropertyRegistry::registerPropertyAlias */ public static function registerPropertyAlias($id, $label) { PropertyRegistry::getInstance()->registerPropertyAlias($id, $label); }
private function getPredefinedPropertyDescription($property, $linker, $languageCode) { $description = ''; $key = $property->getKey(); if (($msgKey = PropertyRegistry::getInstance()->findPropertyDescriptionMsgKeyById($key)) === '') { $msgKey = 'smw-pa-property-predefined' . strtolower($key); } if (!Message::exists($msgKey)) { return $description; } $dataValue = DataValueFactory::getInstance()->newDataValueByItem($property); $label = $dataValue->getFormattedLabel(); $message = Message::get(array($msgKey, $label), $linker === null ? Message::ESCAPED : Message::PARSE, $languageCode); return $message; }