/** * Return the array (list) of properties that the individual entries of * this datatype consist of. * * @since 1.6 * * @param $diProperty mixed null or SMWDIProperty object for which to retrieve the types * * @return array of SMWDIProperty */ public static function findPropertyDataItems($diProperty) { if (!is_null($diProperty)) { $propertyDiWikiPage = $diProperty->getDiWikiPage(); if (!is_null($propertyDiWikiPage)) { $listDiProperty = new SMWDIProperty('_LIST'); $dataItems = \SMW\StoreFactory::getStore()->getPropertyValues($propertyDiWikiPage, $listDiProperty); if (count($dataItems) == 1) { $propertyListValue = new SMWPropertyListValue('__pls'); $propertyListValue->setDataItem(reset($dataItems)); if ($propertyListValue->isValid()) { return $propertyListValue->getPropertyDataItems(); } } } } return array(); }
private function findPropertyDataItems(DIProperty $property = null) { if ($property === null) { return array(); } $propertyDiWikiPage = $property->getDiWikiPage(); if ($propertyDiWikiPage === null) { return array(); } $listDiProperty = new DIProperty('_LIST'); $dataItems = ApplicationFactory::getInstance()->getStore()->getPropertyValues($propertyDiWikiPage, $listDiProperty); if (count($dataItems) == 1) { $propertyListValue = new PropertyListValue('__pls'); $propertyListValue->setDataItem(reset($dataItems)); if ($propertyListValue->isValid()) { return $propertyListValue->getPropertyDataItems(); } } return array(); }