function expandOptionsInRecordSet( RecordSet $recordSet, ViewInformation $viewInformation ) { global $dataSet; $o = OmegaWikiAttributes::getInstance(); $recordSet->getStructure()->addAttribute( $o->optionAttributeOption ); $recordSet->getStructure()->addAttribute( $o->optionAttribute ); for ( $i = 0; $i < $recordSet->getRecordCount(); $i++ ) { $record = $recordSet->getRecord( $i ); $optionRecordSet = queryRecordSet( null, $viewInformation->queryTransactionInformation, $o->optionAttributeOptionId, new TableColumnsToAttributesMapping( new TableColumnsToAttribute( array( 'attribute_id' ), $o->optionAttributeId ), new TableColumnsToAttribute( array( 'option_mid' ), $o->optionAttributeOption ) ), $dataSet->optionAttributeOptions, array( 'option_id = ' . $record->optionAttributeOptionId ) ); $optionRecord = $optionRecordSet->getRecord( 0 ); $record->optionAttributeOption = $optionRecord->optionAttributeOption; $optionRecordSet = queryRecordSet( null, $viewInformation->queryTransactionInformation, $o->optionAttributeId, new TableColumnsToAttributesMapping( new TableColumnsToAttribute( array( 'attribute_mid' ), $o->optionAttribute ) ), $dataSet->classAttributes, array( 'object_id = ' . $optionRecord->optionAttributeId ) ); $optionRecord = $optionRecordSet->getRecord( 0 ); $record->optionAttribute = $optionRecord->optionAttribute; } }