/** * @see SMWDescription::getQueryString * * @since 0.6 * * @param boolean $asValue * @return string */ public function getQueryString($asValue = false) { if ($this->getDataItem() !== null) { $queryString = DataValueFactory::newDataItemValue($this->getDataItem(), $this->getPropertyCompat())->getWikiValue(); return $asValue ? $queryString : "[[{$queryString}]]"; } else { return $asValue ? '+' : ''; } }
public function testConstruct() { $geoDI = new SMWDIGeoCoord(23, 42); /** * @var SMGeoCoordsValue $geoValue */ $geoValue = DataValueFactory::newDataItemValue($geoDI); $this->assertInstanceOf('SMGeoCoordsValue', $geoValue); $this->assertEquals($geoDI, $geoValue->getDataItem()); $this->assertEquals('23° 0\' 0", 42° 0\' 0"', $geoValue->getShortWikiText()); }
/** * Renders table content for a given SMWSemanticData object * * @since 1.9 * * @param SMWSemanticData $semanticData */ protected function getTableContent(SemanticData $semanticData) { Profiler::In(__METHOD__); // Do exclude some tags from processing otherwise the display // can become distorted due to unresolved/open tags (see Bug 23185) $excluded = array('table', 'tr', 'th', 'td', 'dl', 'dd', 'ul', 'li', 'ol', 'b', 'sup', 'sub'); $attributes = array(); foreach ($semanticData->getProperties() as $propertyDi) { $propertyDv = $this->dataValueFactory->newDataItemValue($propertyDi, null); if (!$propertyDi->isShown()) { // showing this is not desired, hide continue; } elseif ($propertyDi->isUserDefined()) { // User defined property (@note the preg_replace is a slight // hack to ensure that the left column does not get too narrow) $propertyDv->setCaption(preg_replace('/[ ]/u', ' ', $propertyDv->getWikiValue(), 2)); $attributes['property'] = array('class' => 'smwpropname'); $attributes['values'] = array('class' => 'smwprops'); } elseif ($propertyDv->isVisible()) { // Predefined property $attributes['property'] = array('class' => 'smwspecname'); $attributes['values'] = array('class' => 'smwspecs'); } else { // predefined, internal property // @codeCoverageIgnoreStart continue; // @codeCoverageIgnoreEnd } $valuesHtml = array(); foreach ($semanticData->getPropertyValues($propertyDi) as $dataItem) { $dataValue = $this->dataValueFactory->newDataItemValue($dataItem, $propertyDi); $dataValue->setServiceLinksRenderState(false); if ($dataValue->isValid()) { $valuesHtml[] = Sanitizer::removeHTMLtags($dataValue->getLongWikiText(true), null, array(), array(), $excluded) . $dataValue->getInfolinkText(SMW_OUTPUT_WIKI); } } // Invoke table content $this->tableBuilder->addCell($propertyDv->getShortWikiText(true), $attributes['property']); $this->tableBuilder->addCell($this->messageBuilder->listToCommaSeparatedText($valuesHtml), $attributes['values']); $this->tableBuilder->addRow(); } Profiler::Out(__METHOD__); }
/** * @since 2.1 * * @return DataValue */ public function getLocatedInValue() { $locatedInProperty = new LocatedInProperty(); return $this->dataValueFactory->newDataItemValue(new DIWikiPage('France', NS_MAIN), $locatedInProperty->getProperty()); }
/** * @since 2.1 * * @return DataValue */ public function getLocatedInValue() { $locatedInProperty = new LocatedInProperty(); return $this->dataValueFactory->newDataItemValue(DIWikiPage::newFromText('European Union', NS_MAIN), $locatedInProperty->getProperty(), 'EU'); }
private function defineElementsForImportDataItem(DataItem $dataItem) { $importValue = $this->dataValueFactory->newDataItemValue($dataItem, new DIProperty('_IMPO')); return array($importValue->getLocalName(), $importValue->getNS(), $importValue->getNSID()); }