http://www.mediawiki.org/wiki/Special:Code/MediaWiki/90552
Revision: 90552 Author: jeroendedauw Date: 2011-06-21 21:46:52 +0000 (Tue, 21 Jun 2011) Log Message: ----------- follow up to r90544 Modified Paths: -------------- trunk/extensions/SemanticMediaWiki/includes/dataitems/SMW_DI_Container.php trunk/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_Record.php Modified: trunk/extensions/SemanticMediaWiki/includes/dataitems/SMW_DI_Container.php =================================================================== --- trunk/extensions/SemanticMediaWiki/includes/dataitems/SMW_DI_Container.php 2011-06-21 21:38:29 UTC (rev 90551) +++ trunk/extensions/SemanticMediaWiki/includes/dataitems/SMW_DI_Container.php 2011-06-21 21:46:52 UTC (rev 90552) @@ -158,5 +158,25 @@ } return new SMWDIContainer( $data ); } + + /** + * Create a list (array with numeric keys) containing the dataitem + * objects that this dataitem container object holds. Values that are not + * present are set to null. Note that the first index in the array is + * 0, not 1. + * + * @since 1.6 + * + * @return array of SMWDataItem + */ + public function getDataItems() { + $dataItems = array(); + + foreach ( $this->m_semanticData->getProperties() as /* SMWDIProperty */ $prop ) { + $dataItems = array_merge( $dataItems, $this->m_semanticData->getPropertyValues( $prop ) ); + } + + return $dataItems; + } } Modified: trunk/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_Record.php =================================================================== --- trunk/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_Record.php 2011-06-21 21:38:29 UTC (rev 90551) +++ trunk/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_Record.php 2011-06-21 21:46:52 UTC (rev 90552) @@ -206,24 +206,7 @@ * @return array of SMWDataItem */ public function getDataItems() { - $dataItems = array(); - - if ( $this->isValid() ) { - $semanticData = $this->m_dataitem->getSemanticData(); - - foreach ( $semanticData->getProperties() as $prop ) { - $propname = $prop->getPropertyID(); - $propnum = substr( $propname, 1 ); - - if ( ( $propname != false ) && ( is_numeric( $propnum ) ) ) { - // Combining this with next line violates PHP strict standards. - $propertyvalues = $semanticData->getPropertyValues( $prop ); - $result[( $propnum - 1 )] = reset( $propertyvalues ); - } - } - } - - return $dataItems; + return $this->isValid() ? $this->m_dataitem->getDataItems() : array(); } /** _______________________________________________ MediaWiki-CVS mailing list MediaWiki-CVS@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs