/** * @see SMWDataValue::loadDataItem() * @param $dataitem SMWDataItem * @return boolean */ protected function loadDataItem(SMWDataItem $dataItem) { if ($dataItem->getDIType() !== SMWDataItem::TYPE_URI) { return false; } $this->m_dataitem = $dataItem; if ($this->m_mode == SMW_URI_MODE_EMAIL) { $this->m_wikitext = substr($dataItem->getURI(), 7); } elseif ($this->m_mode == SMW_URI_MODE_TEL) { $this->m_wikitext = substr($dataItem->getURI(), 4); } else { $this->m_wikitext = $dataItem->getURI(); } $this->m_caption = $this->m_wikitext; $this->showUrlContextInRawFormat = false; return true; }
public function equals(SMWDataItem $di) { if ($di->getDIType() !== SMWDataItem::TYPE_URI) { return false; } return $di->getURI() === $this->getURI(); }
/** * Create an SWMExpElement that encodes the data of the given * dataitem object. This method is meant to be used when exporting a * dataitem as a subject or object. To get the URI of a property, use * SMWExporter::getResourceElementForProperty() or * SMWExporter::getSpecialPropertyResource(). * * @param $dataItem SMWDataItem * @return SMWExpElement */ public static function getDataItemExpElement(SMWDataItem $dataItem) { switch ($dataItem->getDIType()) { case SMWDataItem::TYPE_NUMBER: $lit = new SMWExpLiteral($dataItem->getNumber(), 'http://www.w3.org/2001/XMLSchema#double', $dataItem); return $lit; case SMWDataItem::TYPE_STRING: case SMWDataItem::TYPE_BLOB: $lit = new SMWExpLiteral(smwfHTMLtoUTF8($dataItem->getString()), 'http://www.w3.org/2001/XMLSchema#string', $dataItem); return $lit; case SMWDataItem::TYPE_BOOLEAN: $xsdvalue = $dataItem->getBoolean() ? 'true' : 'false'; $lit = new SMWExpLiteral($xsdvalue, 'http://www.w3.org/2001/XMLSchema#boolean', $dataItem); return $lit; case SMWDataItem::TYPE_URI: $res = new SMWExpResource($dataItem->getURI(), $dataItem); return $res; case SMWDataItem::TYPE_TIME: $gregorianTime = $dataItem->getForCalendarModel(SMWDITime::CM_GREGORIAN); if ($gregorianTime->getYear() > 0) { $xsdvalue = str_pad($gregorianTime->getYear(), 4, "0", STR_PAD_LEFT); } else { $xsdvalue = '-' . str_pad(1 - $gregorianTime->getYear(), 4, "0", STR_PAD_LEFT); } $xsdtype = 'http://www.w3.org/2001/XMLSchema#gYear'; if ($gregorianTime->getPrecision() >= SMWDITime::PREC_YM) { $xsdtype = 'http://www.w3.org/2001/XMLSchema#gYearMonth'; $xsdvalue .= '-' . str_pad($gregorianTime->getMonth(), 2, "0", STR_PAD_LEFT); if ($gregorianTime->getPrecision() >= SMWDITime::PREC_YMD) { $xsdtype = 'http://www.w3.org/2001/XMLSchema#date'; $xsdvalue .= '-' . str_pad($gregorianTime->getDay(), 2, "0", STR_PAD_LEFT); if ($gregorianTime->getPrecision() == SMWDITime::PREC_YMDT) { $xsdtype = 'http://www.w3.org/2001/XMLSchema#dateTime'; $xsdvalue .= 'T' . sprintf("%02d", $gregorianTime->getHour()) . ':' . sprintf("%02d", $gregorianTime->getMinute()) . ':' . sprintf("%02d", $gregorianTime->getSecond()); } } } $xsdvalue .= 'Z'; $lit = new SMWExpLiteral($xsdvalue, $xsdtype, $gregorianTime); return $lit; case SMWDataItem::TYPE_GEO: /// TODO return null; case SMWDataItem::TYPE_CONTAINER: return self::makeExportData($dataItem->getSemanticData()); case SMWDataItem::TYPE_WIKIPAGE: return self::getResourceElementForWikiPage($dataItem); case SMWDataItem::TYPE_CONCEPT: /// TODO return null; case SMWDataItem::TYPE_PROPERTY: return self::getResourceElementForProperty($dataItem); } }
/** * @see SMWDataValue::loadDataItem() * @param $dataitem SMWDataItem * @return boolean */ protected function loadDataItem(SMWDataItem $dataItem) { SWBSpecialBrowseWiki::debug("loadItem"); if ($dataItem->getDIType() == SMWDataItem::TYPE_URI) { $this->m_dataitem = $dataItem; if ($this->m_mode == SMW_URI_MODE_EMAIL) { $this->m_wikitext = substr($dataItem->getURI(), 7); } elseif ($this->m_mode == SMW_URI_MODE_TEL) { $this->m_wikitext = substr($dataItem->getURI(), 4); } else { $this->m_wikitext = $dataItem->getURI(); } $this->m_caption = $this->m_wikitext; return true; } else { return false; } }