/** * Instantiate an Item from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @return Shipment */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null) { // If blank row, return null if (!$objDbRow) { return null; } // Create a new instance of the Shipment object $objToReturn = new Item(); $objToReturn->strShortDescription = $objDbRow->GetColumn($strAliasPrefix . 'short_description', 'VarChar'); $objToReturn->strCode = $objDbRow->GetColumn($strAliasPrefix . 'code', 'VarChar'); $objToReturn->strQuantity = $objDbRow->GetColumn($strAliasPrefix . 'quantity', 'VarChar'); $objToReturn->strReceiptNumber = $objDbRow->GetColumn($strAliasPrefix . 'receipt_number', 'VarChar'); return $objToReturn; }
/** * Instantiate a WpPostmeta from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this WpPostmeta::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @param string $strExpandAsArrayNodes * @param QBaseClass $arrPreviousItem * @param string[] $strColumnAliasArray * @return WpPostmeta */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $arrPreviousItems = null, $strColumnAliasArray = array()) { // If blank row, return null if (!$objDbRow) { return null; } // Create a new instance of the WpPostmeta object $objToReturn = new WpPostmeta(); $objToReturn->__blnRestored = true; $strAlias = $strAliasPrefix . 'meta_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intMetaId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'post_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intPostId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'meta_key'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strMetaKey = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'meta_value'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strMetaValue = $objDbRow->GetColumn($strAliasName, 'Blob'); if (isset($arrPreviousItems) && is_array($arrPreviousItems)) { foreach ($arrPreviousItems as $objPreviousItem) { if ($objToReturn->MetaId != $objPreviousItem->MetaId) { continue; } // complete match - all primary key columns are the same return null; } } // Instantiate Virtual Attributes $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { if (strncmp($strColumnName, $strVirtualPrefix, $strVirtualPrefixLength) == 0) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'wp_postmeta__'; } // Check for Post Early Binding $strAlias = $strAliasPrefix . 'post_id__ID'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (!is_null($objDbRow->GetColumn($strAliasName))) { $objToReturn->objPost = WpPosts::InstantiateDbRow($objDbRow, $strAliasPrefix . 'post_id__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } return $objToReturn; }
/** * Instantiate a InventoryModel from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this InventoryModel::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @return InventoryModel */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $objPreviousItem = null) { // If blank row, return null if (!$objDbRow) { return null; } // See if we're doing an array expansion on the previous item if ($strExpandAsArrayNodes && $objPreviousItem && $objPreviousItem->intInventoryModelId == $objDbRow->GetColumn($strAliasPrefix . 'inventory_model_id', 'Integer')) { // We are. Now, prepare to check for ExpandAsArray clauses $blnExpandedViaArray = false; if (!$strAliasPrefix) { $strAliasPrefix = 'inventory_model__'; } if (array_key_exists($strAliasPrefix . 'inventorylocation__inventory_location_id', $strExpandAsArrayNodes) && !is_null($objDbRow->GetColumn($strAliasPrefix . 'inventorylocation__inventory_location_id'))) { if ($intPreviousChildItemCount = count($objPreviousItem->_objInventoryLocationArray)) { $objPreviousChildItem = $objPreviousItem->_objInventoryLocationArray[$intPreviousChildItemCount - 1]; $objChildItem = InventoryLocation::InstantiateDbRow($objDbRow, $strAliasPrefix . 'inventorylocation__', $strExpandAsArrayNodes, $objPreviousChildItem); if ($objChildItem) { array_push($objPreviousItem->_objInventoryLocationArray, $objChildItem); } } else { array_push($objPreviousItem->_objInventoryLocationArray, InventoryLocation::InstantiateDbRow($objDbRow, $strAliasPrefix . 'inventorylocation__', $strExpandAsArrayNodes)); } $blnExpandedViaArray = true; } // Either return false to signal array expansion, or check-to-reset the Alias prefix and move on if ($blnExpandedViaArray) { return false; } else { if ($strAliasPrefix == 'inventory_model__') { $strAliasPrefix = null; } } } // Create a new instance of the InventoryModel object $objToReturn = new InventoryModel(); $objToReturn->__blnRestored = true; $objToReturn->intInventoryModelId = $objDbRow->GetColumn($strAliasPrefix . 'inventory_model_id', 'Integer'); $objToReturn->intCategoryId = $objDbRow->GetColumn($strAliasPrefix . 'category_id', 'Integer'); $objToReturn->intManufacturerId = $objDbRow->GetColumn($strAliasPrefix . 'manufacturer_id', 'Integer'); $objToReturn->strInventoryModelCode = $objDbRow->GetColumn($strAliasPrefix . 'inventory_model_code', 'VarChar'); $objToReturn->strShortDescription = $objDbRow->GetColumn($strAliasPrefix . 'short_description', 'VarChar'); $objToReturn->strLongDescription = $objDbRow->GetColumn($strAliasPrefix . 'long_description', 'Blob'); $objToReturn->strImagePath = $objDbRow->GetColumn($strAliasPrefix . 'image_path', 'VarChar'); $objToReturn->fltPrice = $objDbRow->GetColumn($strAliasPrefix . 'price', 'Float'); $objToReturn->intCreatedBy = $objDbRow->GetColumn($strAliasPrefix . 'created_by', 'Integer'); $objToReturn->dttCreationDate = $objDbRow->GetColumn($strAliasPrefix . 'creation_date', 'DateTime'); $objToReturn->intModifiedBy = $objDbRow->GetColumn($strAliasPrefix . 'modified_by', 'Integer'); $objToReturn->strModifiedDate = $objDbRow->GetColumn($strAliasPrefix . 'modified_date', 'VarChar'); // Instantiate Virtual Attributes foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); if (substr($strColumnName, 0, $strVirtualPrefixLength) == $strVirtualPrefix) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'inventory_model__'; } // Check for Category Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'category_id__category_id'))) { $objToReturn->objCategory = Category::InstantiateDbRow($objDbRow, $strAliasPrefix . 'category_id__', $strExpandAsArrayNodes); } // Check for Manufacturer Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'manufacturer_id__manufacturer_id'))) { $objToReturn->objManufacturer = Manufacturer::InstantiateDbRow($objDbRow, $strAliasPrefix . 'manufacturer_id__', $strExpandAsArrayNodes); } // Check for CreatedByObject Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'created_by__user_account_id'))) { $objToReturn->objCreatedByObject = UserAccount::InstantiateDbRow($objDbRow, $strAliasPrefix . 'created_by__', $strExpandAsArrayNodes); } // Check for ModifiedByObject Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'modified_by__user_account_id'))) { $objToReturn->objModifiedByObject = UserAccount::InstantiateDbRow($objDbRow, $strAliasPrefix . 'modified_by__', $strExpandAsArrayNodes); } // Check for InventoryLocation Virtual Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'inventorylocation__inventory_location_id'))) { if ($strExpandAsArrayNodes && array_key_exists($strAliasPrefix . 'inventorylocation__inventory_location_id', $strExpandAsArrayNodes)) { array_push($objToReturn->_objInventoryLocationArray, InventoryLocation::InstantiateDbRow($objDbRow, $strAliasPrefix . 'inventorylocation__', $strExpandAsArrayNodes)); } else { $objToReturn->_objInventoryLocation = InventoryLocation::InstantiateDbRow($objDbRow, $strAliasPrefix . 'inventorylocation__', $strExpandAsArrayNodes); } } return $objToReturn; }
/** * Instantiate a Parameter from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this Parameter::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @return Parameter */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $objPreviousItem = null) { // If blank row, return null if (!$objDbRow) { return null; } // Create a new instance of the Parameter object $objToReturn = new Parameter(); $objToReturn->__blnRestored = true; $objToReturn->intId = $objDbRow->GetColumn($strAliasPrefix . 'id', 'Integer'); $objToReturn->intOperationId = $objDbRow->GetColumn($strAliasPrefix . 'operation_id', 'Integer'); $objToReturn->intOrderNumber = $objDbRow->GetColumn($strAliasPrefix . 'order_number', 'Integer'); $objToReturn->intVariableId = $objDbRow->GetColumn($strAliasPrefix . 'variable_id', 'Integer'); $objToReturn->blnReferenceFlag = $objDbRow->GetColumn($strAliasPrefix . 'reference_flag', 'Bit'); // Instantiate Virtual Attributes foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); if (substr($strColumnName, 0, $strVirtualPrefixLength) == $strVirtualPrefix) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'parameter__'; } // Check for Operation Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'operation_id__id'))) { $objToReturn->objOperation = Operation::InstantiateDbRow($objDbRow, $strAliasPrefix . 'operation_id__', $strExpandAsArrayNodes); } // Check for Variable Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'variable_id__id'))) { $objToReturn->objVariable = Variable::InstantiateDbRow($objDbRow, $strAliasPrefix . 'variable_id__', $strExpandAsArrayNodes); } return $objToReturn; }
/** * Instantiate a Articlemusictracks from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this Articlemusictracks::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @param string $strExpandAsArrayNodes * @param QBaseClass $objPreviousItem * @param string[] $strColumnAliasArray * @return Articlemusictracks */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $objPreviousItem = null, $strColumnAliasArray = array()) { // If blank row, return null if (!$objDbRow) { return null; } // Create a new instance of the Articlemusictracks object $objToReturn = new Articlemusictracks(); $objToReturn->__blnRestored = true; $strAliasName = array_key_exists($strAliasPrefix . 'id', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'id'] : $strAliasPrefix . 'id'; $objToReturn->intId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAliasName = array_key_exists($strAliasPrefix . 'ReferenceId', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'ReferenceId'] : $strAliasPrefix . 'ReferenceId'; $objToReturn->intReferenceId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAliasName = array_key_exists($strAliasPrefix . 'DiscNumber', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'DiscNumber'] : $strAliasPrefix . 'DiscNumber'; $objToReturn->strDiscNumber = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAliasName = array_key_exists($strAliasPrefix . 'TrackNumber', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'TrackNumber'] : $strAliasPrefix . 'TrackNumber'; $objToReturn->strTrackNumber = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAliasName = array_key_exists($strAliasPrefix . 'TrackTitle', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'TrackTitle'] : $strAliasPrefix . 'TrackTitle'; $objToReturn->strTrackTitle = $objDbRow->GetColumn($strAliasName, 'Blob'); // Instantiate Virtual Attributes foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); if (substr($strColumnName, 0, $strVirtualPrefixLength) == $strVirtualPrefix) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'articlemusictracks__'; } // Check for ReferenceIdObject Early Binding $strAlias = $strAliasPrefix . 'ReferenceId__id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (!is_null($objDbRow->GetColumn($strAliasName))) { $objToReturn->objReferenceIdObject = Articlemusic::InstantiateDbRow($objDbRow, $strAliasPrefix . 'ReferenceId__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } return $objToReturn; }
/** * Instantiate a Timezone from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this Timezone::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @param string $strExpandAsArrayNodes * @param QBaseClass $objPreviousItem * @param string[] $strColumnAliasArray * @return Timezone */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $objPreviousItem = null, $strColumnAliasArray = array()) { // If blank row, return null if (!$objDbRow) { return null; } // See if we're doing an array expansion on the previous item $strAlias = $strAliasPrefix . 'id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if ($strExpandAsArrayNodes && $objPreviousItem && $objPreviousItem->intId == $objDbRow->GetColumn($strAliasName, 'Integer')) { // We are. Now, prepare to check for ExpandAsArray clauses $blnExpandedViaArray = false; if (!$strAliasPrefix) { $strAliasPrefix = 'timezone__'; } $strAlias = $strAliasPrefix . 'person__id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (array_key_exists($strAlias, $strExpandAsArrayNodes) && !is_null($objDbRow->GetColumn($strAliasName))) { if ($intPreviousChildItemCount = count($objPreviousItem->_objPersonArray)) { $objPreviousChildItem = $objPreviousItem->_objPersonArray[$intPreviousChildItemCount - 1]; $objChildItem = Person::InstantiateDbRow($objDbRow, $strAliasPrefix . 'person__', $strExpandAsArrayNodes, $objPreviousChildItem, $strColumnAliasArray); if ($objChildItem) { $objPreviousItem->_objPersonArray[] = $objChildItem; } } else { $objPreviousItem->_objPersonArray[] = Person::InstantiateDbRow($objDbRow, $strAliasPrefix . 'person__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } $blnExpandedViaArray = true; } // Either return false to signal array expansion, or check-to-reset the Alias prefix and move on if ($blnExpandedViaArray) { return false; } else { if ($strAliasPrefix == 'timezone__') { $strAliasPrefix = null; } } } // Create a new instance of the Timezone object $objToReturn = new Timezone(); $objToReturn->__blnRestored = true; $strAliasName = array_key_exists($strAliasPrefix . 'id', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'id'] : $strAliasPrefix . 'id'; $objToReturn->intId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAliasName = array_key_exists($strAliasPrefix . 'name', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'name'] : $strAliasPrefix . 'name'; $objToReturn->strName = $objDbRow->GetColumn($strAliasName, 'VarChar'); // Instantiate Virtual Attributes foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); if (substr($strColumnName, 0, $strVirtualPrefixLength) == $strVirtualPrefix) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'timezone__'; } // Check for Person Virtual Binding $strAlias = $strAliasPrefix . 'person__id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (!is_null($objDbRow->GetColumn($strAliasName))) { if ($strExpandAsArrayNodes && array_key_exists($strAlias, $strExpandAsArrayNodes)) { $objToReturn->_objPersonArray[] = Person::InstantiateDbRow($objDbRow, $strAliasPrefix . 'person__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } else { $objToReturn->_objPerson = Person::InstantiateDbRow($objDbRow, $strAliasPrefix . 'person__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } } return $objToReturn; }
/** * Instantiate a NarroSuggestionVote from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this NarroSuggestionVote::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @param string $strExpandAsArrayNodes * @param QBaseClass $arrPreviousItem * @param string[] $strColumnAliasArray * @return NarroSuggestionVote */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $arrPreviousItems = null, $strColumnAliasArray = array()) { // If blank row, return null if (!$objDbRow) { return null; } // Create a new instance of the NarroSuggestionVote object $objToReturn = new NarroSuggestionVote(); $objToReturn->__blnRestored = true; $strAlias = $strAliasPrefix . 'suggestion_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intSuggestionId = $objDbRow->GetColumn($strAliasName, 'Integer'); $objToReturn->__intSuggestionId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'context_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intContextId = $objDbRow->GetColumn($strAliasName, 'Integer'); $objToReturn->__intContextId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'user_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intUserId = $objDbRow->GetColumn($strAliasName, 'Integer'); $objToReturn->__intUserId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'vote_value'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intVoteValue = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'created'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->dttCreated = $objDbRow->GetColumn($strAliasName, 'DateTime'); $strAlias = $strAliasPrefix . 'modified'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->dttModified = $objDbRow->GetColumn($strAliasName, 'DateTime'); if (isset($arrPreviousItems) && is_array($arrPreviousItems)) { foreach ($arrPreviousItems as $objPreviousItem) { if ($objToReturn->SuggestionId != $objPreviousItem->SuggestionId) { continue; } if ($objToReturn->ContextId != $objPreviousItem->ContextId) { continue; } if ($objToReturn->UserId != $objPreviousItem->UserId) { continue; } // complete match - all primary key columns are the same return null; } } // Instantiate Virtual Attributes $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { if (strncmp($strColumnName, $strVirtualPrefix, $strVirtualPrefixLength) == 0) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'narro_suggestion_vote__'; } // Check for Suggestion Early Binding $strAlias = $strAliasPrefix . 'suggestion_id__suggestion_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (!is_null($objDbRow->GetColumn($strAliasName))) { $objToReturn->objSuggestion = NarroSuggestion::InstantiateDbRow($objDbRow, $strAliasPrefix . 'suggestion_id__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } // Check for Context Early Binding $strAlias = $strAliasPrefix . 'context_id__context_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (!is_null($objDbRow->GetColumn($strAliasName))) { $objToReturn->objContext = NarroContext::InstantiateDbRow($objDbRow, $strAliasPrefix . 'context_id__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } // Check for User Early Binding $strAlias = $strAliasPrefix . 'user_id__user_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (!is_null($objDbRow->GetColumn($strAliasName))) { $objToReturn->objUser = NarroUser::InstantiateDbRow($objDbRow, $strAliasPrefix . 'user_id__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } return $objToReturn; }
/** * Instantiate a TransactionType from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this TransactionType::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @return TransactionType */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $objPreviousItem = null) { // If blank row, return null if (!$objDbRow) { return null; } // See if we're doing an array expansion on the previous item if ($strExpandAsArrayNodes && $objPreviousItem && $objPreviousItem->intTransactionTypeId == $objDbRow->GetColumn($strAliasPrefix . 'transaction_type_id', 'Integer')) { // We are. Now, prepare to check for ExpandAsArray clauses $blnExpandedViaArray = false; if (!$strAliasPrefix) { $strAliasPrefix = 'transaction_type__'; } if (array_key_exists($strAliasPrefix . 'transaction__transaction_id', $strExpandAsArrayNodes) && !is_null($objDbRow->GetColumn($strAliasPrefix . 'transaction__transaction_id'))) { if ($intPreviousChildItemCount = count($objPreviousItem->_objTransactionArray)) { $objPreviousChildItem = $objPreviousItem->_objTransactionArray[$intPreviousChildItemCount - 1]; $objChildItem = Transaction::InstantiateDbRow($objDbRow, $strAliasPrefix . 'transaction__', $strExpandAsArrayNodes, $objPreviousChildItem); if ($objChildItem) { array_push($objPreviousItem->_objTransactionArray, $objChildItem); } } else { array_push($objPreviousItem->_objTransactionArray, Transaction::InstantiateDbRow($objDbRow, $strAliasPrefix . 'transaction__', $strExpandAsArrayNodes)); } $blnExpandedViaArray = true; } // Either return false to signal array expansion, or check-to-reset the Alias prefix and move on if ($blnExpandedViaArray) { return false; } else { if ($strAliasPrefix == 'transaction_type__') { $strAliasPrefix = null; } } } // Create a new instance of the TransactionType object $objToReturn = new TransactionType(); $objToReturn->__blnRestored = true; $objToReturn->intTransactionTypeId = $objDbRow->GetColumn($strAliasPrefix . 'transaction_type_id', 'Integer'); $objToReturn->strShortDescription = $objDbRow->GetColumn($strAliasPrefix . 'short_description', 'VarChar'); $objToReturn->blnAssetFlag = $objDbRow->GetColumn($strAliasPrefix . 'asset_flag', 'Bit'); $objToReturn->blnInventoryFlag = $objDbRow->GetColumn($strAliasPrefix . 'inventory_flag', 'Bit'); // Instantiate Virtual Attributes foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); if (substr($strColumnName, 0, $strVirtualPrefixLength) == $strVirtualPrefix) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'transaction_type__'; } // Check for Transaction Virtual Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'transaction__transaction_id'))) { if ($strExpandAsArrayNodes && array_key_exists($strAliasPrefix . 'transaction__transaction_id', $strExpandAsArrayNodes)) { array_push($objToReturn->_objTransactionArray, Transaction::InstantiateDbRow($objDbRow, $strAliasPrefix . 'transaction__', $strExpandAsArrayNodes)); } else { $objToReturn->_objTransaction = Transaction::InstantiateDbRow($objDbRow, $strAliasPrefix . 'transaction__', $strExpandAsArrayNodes); } } return $objToReturn; }
/** * Instantiate a DleRssinform from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this DleRssinform::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @param string $strExpandAsArrayNodes * @param QBaseClass $arrPreviousItem * @param string[] $strColumnAliasArray * @return DleRssinform */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $arrPreviousItems = null, $strColumnAliasArray = array()) { // If blank row, return null if (!$objDbRow) { return null; } // Create a new instance of the DleRssinform object $objToReturn = new DleRssinform(); $objToReturn->__blnRestored = true; $strAlias = $strAliasPrefix . 'id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'tag'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strTag = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'descr'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strDescr = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'category'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strCategory = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'url'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strUrl = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'template'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strTemplate = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'news_max'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intNewsMax = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'tmax'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intTmax = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'dmax'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intDmax = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'approve'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->blnApprove = $objDbRow->GetColumn($strAliasName, 'Bit'); $strAlias = $strAliasPrefix . 'rss_date_format'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strRssDateFormat = $objDbRow->GetColumn($strAliasName, 'VarChar'); if (isset($arrPreviousItems) && is_array($arrPreviousItems)) { foreach ($arrPreviousItems as $objPreviousItem) { if ($objToReturn->Id != $objPreviousItem->Id) { continue; } // complete match - all primary key columns are the same return null; } } // Instantiate Virtual Attributes $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { if (strncmp($strColumnName, $strVirtualPrefix, $strVirtualPrefixLength) == 0) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'dle_rssinform__'; } return $objToReturn; }
/** * Instantiate a VariableGroup from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this VariableGroup::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @return VariableGroup */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $objPreviousItem = null) { // If blank row, return null if (!$objDbRow) { return null; } // See if we're doing an array expansion on the previous item if ($strExpandAsArrayNodes && $objPreviousItem && $objPreviousItem->intId == $objDbRow->GetColumn($strAliasPrefix . 'id', 'Integer')) { // We are. Now, prepare to check for ExpandAsArray clauses $blnExpandedViaArray = false; if (!$strAliasPrefix) { $strAliasPrefix = 'variable_group__'; } if (array_key_exists($strAliasPrefix . 'classproperty__id', $strExpandAsArrayNodes) && !is_null($objDbRow->GetColumn($strAliasPrefix . 'classproperty__id'))) { if ($intPreviousChildItemCount = count($objPreviousItem->_objClassPropertyArray)) { $objPreviousChildItem = $objPreviousItem->_objClassPropertyArray[$intPreviousChildItemCount - 1]; $objChildItem = ClassProperty::InstantiateDbRow($objDbRow, $strAliasPrefix . 'classproperty__', $strExpandAsArrayNodes, $objPreviousChildItem); if ($objChildItem) { array_push($objPreviousItem->_objClassPropertyArray, $objChildItem); } } else { array_push($objPreviousItem->_objClassPropertyArray, ClassProperty::InstantiateDbRow($objDbRow, $strAliasPrefix . 'classproperty__', $strExpandAsArrayNodes)); } $blnExpandedViaArray = true; } if (array_key_exists($strAliasPrefix . 'classvariable__id', $strExpandAsArrayNodes) && !is_null($objDbRow->GetColumn($strAliasPrefix . 'classvariable__id'))) { if ($intPreviousChildItemCount = count($objPreviousItem->_objClassVariableArray)) { $objPreviousChildItem = $objPreviousItem->_objClassVariableArray[$intPreviousChildItemCount - 1]; $objChildItem = ClassVariable::InstantiateDbRow($objDbRow, $strAliasPrefix . 'classvariable__', $strExpandAsArrayNodes, $objPreviousChildItem); if ($objChildItem) { array_push($objPreviousItem->_objClassVariableArray, $objChildItem); } } else { array_push($objPreviousItem->_objClassVariableArray, ClassVariable::InstantiateDbRow($objDbRow, $strAliasPrefix . 'classvariable__', $strExpandAsArrayNodes)); } $blnExpandedViaArray = true; } // Either return false to signal array expansion, or check-to-reset the Alias prefix and move on if ($blnExpandedViaArray) { return false; } else { if ($strAliasPrefix == 'variable_group__') { $strAliasPrefix = null; } } } // Create a new instance of the VariableGroup object $objToReturn = new VariableGroup(); $objToReturn->__blnRestored = true; $objToReturn->intId = $objDbRow->GetColumn($strAliasPrefix . 'id', 'Integer'); $objToReturn->strName = $objDbRow->GetColumn($strAliasPrefix . 'name', 'VarChar'); $objToReturn->intOrderNumber = $objDbRow->GetColumn($strAliasPrefix . 'order_number', 'Integer'); // Instantiate Virtual Attributes foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); if (substr($strColumnName, 0, $strVirtualPrefixLength) == $strVirtualPrefix) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'variable_group__'; } // Check for ClassProperty Virtual Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'classproperty__id'))) { if ($strExpandAsArrayNodes && array_key_exists($strAliasPrefix . 'classproperty__id', $strExpandAsArrayNodes)) { array_push($objToReturn->_objClassPropertyArray, ClassProperty::InstantiateDbRow($objDbRow, $strAliasPrefix . 'classproperty__', $strExpandAsArrayNodes)); } else { $objToReturn->_objClassProperty = ClassProperty::InstantiateDbRow($objDbRow, $strAliasPrefix . 'classproperty__', $strExpandAsArrayNodes); } } // Check for ClassVariable Virtual Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'classvariable__id'))) { if ($strExpandAsArrayNodes && array_key_exists($strAliasPrefix . 'classvariable__id', $strExpandAsArrayNodes)) { array_push($objToReturn->_objClassVariableArray, ClassVariable::InstantiateDbRow($objDbRow, $strAliasPrefix . 'classvariable__', $strExpandAsArrayNodes)); } else { $objToReturn->_objClassVariable = ClassVariable::InstantiateDbRow($objDbRow, $strAliasPrefix . 'classvariable__', $strExpandAsArrayNodes); } } return $objToReturn; }
/** * Instantiate a NarroLog from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this NarroLog::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @param string $strExpandAsArrayNodes * @param QBaseClass $arrPreviousItem * @param string[] $strColumnAliasArray * @return NarroLog */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $arrPreviousItems = null, $strColumnAliasArray = array()) { // If blank row, return null if (!$objDbRow) { return null; } // Create a new instance of the NarroLog object $objToReturn = new NarroLog(); $objToReturn->__blnRestored = true; $strAlias = $strAliasPrefix . 'log_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intLogId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'language_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intLanguageId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'project_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intProjectId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'user_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intUserId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'message'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strMessage = $objDbRow->GetColumn($strAliasName, 'Blob'); $strAlias = $strAliasPrefix . 'priority'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intPriority = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'date'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->dttDate = $objDbRow->GetColumn($strAliasName, 'DateTime'); if (isset($arrPreviousItems) && is_array($arrPreviousItems)) { foreach ($arrPreviousItems as $objPreviousItem) { if ($objToReturn->LogId != $objPreviousItem->LogId) { continue; } // complete match - all primary key columns are the same return null; } } // Instantiate Virtual Attributes $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { if (strncmp($strColumnName, $strVirtualPrefix, $strVirtualPrefixLength) == 0) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'narro_log__'; } // Check for Language Early Binding $strAlias = $strAliasPrefix . 'language_id__language_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (!is_null($objDbRow->GetColumn($strAliasName))) { $objToReturn->objLanguage = NarroLanguage::InstantiateDbRow($objDbRow, $strAliasPrefix . 'language_id__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } // Check for Project Early Binding $strAlias = $strAliasPrefix . 'project_id__project_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (!is_null($objDbRow->GetColumn($strAliasName))) { $objToReturn->objProject = NarroProject::InstantiateDbRow($objDbRow, $strAliasPrefix . 'project_id__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } // Check for User Early Binding $strAlias = $strAliasPrefix . 'user_id__user_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (!is_null($objDbRow->GetColumn($strAliasName))) { $objToReturn->objUser = NarroUser::InstantiateDbRow($objDbRow, $strAliasPrefix . 'user_id__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } return $objToReturn; }
/** * Instantiate a RoleModule from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this RoleModule::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @return RoleModule */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $objPreviousItem = null) { // If blank row, return null if (!$objDbRow) { return null; } // See if we're doing an array expansion on the previous item if ($strExpandAsArrayNodes && $objPreviousItem && $objPreviousItem->intRoleModuleId == $objDbRow->GetColumn($strAliasPrefix . 'role_module_id', 'Integer')) { // We are. Now, prepare to check for ExpandAsArray clauses $blnExpandedViaArray = false; if (!$strAliasPrefix) { $strAliasPrefix = 'role_module__'; } if (array_key_exists($strAliasPrefix . 'rolemoduleauthorization__role_module_authorization_id', $strExpandAsArrayNodes) && !is_null($objDbRow->GetColumn($strAliasPrefix . 'rolemoduleauthorization__role_module_authorization_id'))) { if ($intPreviousChildItemCount = count($objPreviousItem->_objRoleModuleAuthorizationArray)) { $objPreviousChildItem = $objPreviousItem->_objRoleModuleAuthorizationArray[$intPreviousChildItemCount - 1]; $objChildItem = RoleModuleAuthorization::InstantiateDbRow($objDbRow, $strAliasPrefix . 'rolemoduleauthorization__', $strExpandAsArrayNodes, $objPreviousChildItem); if ($objChildItem) { array_push($objPreviousItem->_objRoleModuleAuthorizationArray, $objChildItem); } } else { array_push($objPreviousItem->_objRoleModuleAuthorizationArray, RoleModuleAuthorization::InstantiateDbRow($objDbRow, $strAliasPrefix . 'rolemoduleauthorization__', $strExpandAsArrayNodes)); } $blnExpandedViaArray = true; } // Either return false to signal array expansion, or check-to-reset the Alias prefix and move on if ($blnExpandedViaArray) { return false; } else { if ($strAliasPrefix == 'role_module__') { $strAliasPrefix = null; } } } // Create a new instance of the RoleModule object $objToReturn = new RoleModule(); $objToReturn->__blnRestored = true; $objToReturn->intRoleModuleId = $objDbRow->GetColumn($strAliasPrefix . 'role_module_id', 'Integer'); $objToReturn->intRoleId = $objDbRow->GetColumn($strAliasPrefix . 'role_id', 'Integer'); $objToReturn->intModuleId = $objDbRow->GetColumn($strAliasPrefix . 'module_id', 'Integer'); $objToReturn->blnAccessFlag = $objDbRow->GetColumn($strAliasPrefix . 'access_flag', 'Bit'); $objToReturn->intCreatedBy = $objDbRow->GetColumn($strAliasPrefix . 'created_by', 'Integer'); $objToReturn->dttCreationDate = $objDbRow->GetColumn($strAliasPrefix . 'creation_date', 'DateTime'); $objToReturn->intModifiedBy = $objDbRow->GetColumn($strAliasPrefix . 'modified_by', 'Integer'); $objToReturn->strModifiedDate = $objDbRow->GetColumn($strAliasPrefix . 'modified_date', 'VarChar'); // Instantiate Virtual Attributes foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); if (substr($strColumnName, 0, $strVirtualPrefixLength) == $strVirtualPrefix) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'role_module__'; } // Check for Role Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'role_id__role_id'))) { $objToReturn->objRole = Role::InstantiateDbRow($objDbRow, $strAliasPrefix . 'role_id__', $strExpandAsArrayNodes); } // Check for Module Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'module_id__module_id'))) { $objToReturn->objModule = Module::InstantiateDbRow($objDbRow, $strAliasPrefix . 'module_id__', $strExpandAsArrayNodes); } // Check for CreatedByObject Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'created_by__user_account_id'))) { $objToReturn->objCreatedByObject = UserAccount::InstantiateDbRow($objDbRow, $strAliasPrefix . 'created_by__', $strExpandAsArrayNodes); } // Check for ModifiedByObject Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'modified_by__user_account_id'))) { $objToReturn->objModifiedByObject = UserAccount::InstantiateDbRow($objDbRow, $strAliasPrefix . 'modified_by__', $strExpandAsArrayNodes); } // Check for RoleModuleAuthorization Virtual Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'rolemoduleauthorization__role_module_authorization_id'))) { if ($strExpandAsArrayNodes && array_key_exists($strAliasPrefix . 'rolemoduleauthorization__role_module_authorization_id', $strExpandAsArrayNodes)) { array_push($objToReturn->_objRoleModuleAuthorizationArray, RoleModuleAuthorization::InstantiateDbRow($objDbRow, $strAliasPrefix . 'rolemoduleauthorization__', $strExpandAsArrayNodes)); } else { $objToReturn->_objRoleModuleAuthorization = RoleModuleAuthorization::InstantiateDbRow($objDbRow, $strAliasPrefix . 'rolemoduleauthorization__', $strExpandAsArrayNodes); } } return $objToReturn; }
/** * Instantiate a WpLinks from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this WpLinks::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @param string $strExpandAsArrayNodes * @param QBaseClass $arrPreviousItem * @param string[] $strColumnAliasArray * @return WpLinks */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $arrPreviousItems = null, $strColumnAliasArray = array()) { // If blank row, return null if (!$objDbRow) { return null; } // Create a new instance of the WpLinks object $objToReturn = new WpLinks(); $objToReturn->__blnRestored = true; $strAlias = $strAliasPrefix . 'link_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intLinkId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'link_url'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strLinkUrl = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'link_name'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strLinkName = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'link_image'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strLinkImage = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'link_target'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strLinkTarget = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'link_description'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strLinkDescription = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'link_visible'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strLinkVisible = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'link_owner'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intLinkOwner = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'link_rating'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intLinkRating = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'link_updated'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->dttLinkUpdated = $objDbRow->GetColumn($strAliasName, 'DateTime'); $strAlias = $strAliasPrefix . 'link_rel'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strLinkRel = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'link_notes'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strLinkNotes = $objDbRow->GetColumn($strAliasName, 'Blob'); $strAlias = $strAliasPrefix . 'link_rss'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strLinkRss = $objDbRow->GetColumn($strAliasName, 'VarChar'); if (isset($arrPreviousItems) && is_array($arrPreviousItems)) { foreach ($arrPreviousItems as $objPreviousItem) { if ($objToReturn->LinkId != $objPreviousItem->LinkId) { continue; } // complete match - all primary key columns are the same return null; } } // Instantiate Virtual Attributes $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { if (strncmp($strColumnName, $strVirtualPrefix, $strVirtualPrefixLength) == 0) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'wp_links__'; } return $objToReturn; }
/** * Instantiate a DleStatic from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this DleStatic::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @param string $strExpandAsArrayNodes * @param QBaseClass $arrPreviousItem * @param string[] $strColumnAliasArray * @return DleStatic */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $arrPreviousItems = null, $strColumnAliasArray = array()) { // If blank row, return null if (!$objDbRow) { return null; } // Create a new instance of the DleStatic object $objToReturn = new DleStatic(); $objToReturn->__blnRestored = true; $strAlias = $strAliasPrefix . 'id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'name'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strName = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'descr'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strDescr = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'template'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strTemplate = $objDbRow->GetColumn($strAliasName, 'Blob'); $strAlias = $strAliasPrefix . 'allow_br'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->blnAllowBr = $objDbRow->GetColumn($strAliasName, 'Bit'); $strAlias = $strAliasPrefix . 'allow_template'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->blnAllowTemplate = $objDbRow->GetColumn($strAliasName, 'Bit'); $strAlias = $strAliasPrefix . 'grouplevel'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strGrouplevel = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'tpl'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strTpl = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'metadescr'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strMetadescr = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'metakeys'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strMetakeys = $objDbRow->GetColumn($strAliasName, 'Blob'); $strAlias = $strAliasPrefix . 'views'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intViews = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'template_folder'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strTemplateFolder = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'date'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strDate = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'metatitle'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strMetatitle = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'allow_count'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->blnAllowCount = $objDbRow->GetColumn($strAliasName, 'Bit'); $strAlias = $strAliasPrefix . 'sitemap'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->blnSitemap = $objDbRow->GetColumn($strAliasName, 'Bit'); if (isset($arrPreviousItems) && is_array($arrPreviousItems)) { foreach ($arrPreviousItems as $objPreviousItem) { if ($objToReturn->Id != $objPreviousItem->Id) { continue; } // complete match - all primary key columns are the same return null; } } // Instantiate Virtual Attributes $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { if (strncmp($strColumnName, $strVirtualPrefix, $strVirtualPrefixLength) == 0) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'dle_static__'; } return $objToReturn; }
/** * Instantiate a Asset from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this Asset::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @return Asset */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $objPreviousItem = null) { // If blank row, return null if (!$objDbRow) { return null; } // See if we're doing an array expansion on the previous item if ($strExpandAsArrayNodes && $objPreviousItem && $objPreviousItem->intAssetId == $objDbRow->GetColumn($strAliasPrefix . 'asset_id', 'Integer')) { // We are. Now, prepare to check for ExpandAsArray clauses $blnExpandedViaArray = false; if (!$strAliasPrefix) { $strAliasPrefix = 'asset__'; } if (array_key_exists($strAliasPrefix . 'assettransaction__asset_transaction_id', $strExpandAsArrayNodes) && !is_null($objDbRow->GetColumn($strAliasPrefix . 'assettransaction__asset_transaction_id'))) { if ($intPreviousChildItemCount = count($objPreviousItem->_objAssetTransactionArray)) { $objPreviousChildItem = $objPreviousItem->_objAssetTransactionArray[$intPreviousChildItemCount - 1]; $objChildItem = AssetTransaction::InstantiateDbRow($objDbRow, $strAliasPrefix . 'assettransaction__', $strExpandAsArrayNodes, $objPreviousChildItem); if ($objChildItem) { array_push($objPreviousItem->_objAssetTransactionArray, $objChildItem); } } else { array_push($objPreviousItem->_objAssetTransactionArray, AssetTransaction::InstantiateDbRow($objDbRow, $strAliasPrefix . 'assettransaction__', $strExpandAsArrayNodes)); } $blnExpandedViaArray = true; } if (array_key_exists($strAliasPrefix . 'assettransactionasnew__asset_transaction_id', $strExpandAsArrayNodes) && !is_null($objDbRow->GetColumn($strAliasPrefix . 'assettransactionasnew__asset_transaction_id'))) { if ($intPreviousChildItemCount = count($objPreviousItem->_objAssetTransactionAsNewArray)) { $objPreviousChildItem = $objPreviousItem->_objAssetTransactionAsNewArray[$intPreviousChildItemCount - 1]; $objChildItem = AssetTransaction::InstantiateDbRow($objDbRow, $strAliasPrefix . 'assettransactionasnew__', $strExpandAsArrayNodes, $objPreviousChildItem); if ($objChildItem) { array_push($objPreviousItem->_objAssetTransactionAsNewArray, $objChildItem); } } else { array_push($objPreviousItem->_objAssetTransactionAsNewArray, AssetTransaction::InstantiateDbRow($objDbRow, $strAliasPrefix . 'assettransactionasnew__', $strExpandAsArrayNodes)); } $blnExpandedViaArray = true; } // Either return false to signal array expansion, or check-to-reset the Alias prefix and move on if ($blnExpandedViaArray) { return false; } else { if ($strAliasPrefix == 'asset__') { $strAliasPrefix = null; } } } // Create a new instance of the Asset object $objToReturn = new Asset(); $objToReturn->__blnRestored = true; $objToReturn->intAssetId = $objDbRow->GetColumn($strAliasPrefix . 'asset_id', 'Integer'); $objToReturn->intAssetModelId = $objDbRow->GetColumn($strAliasPrefix . 'asset_model_id', 'Integer'); $objToReturn->intLocationId = $objDbRow->GetColumn($strAliasPrefix . 'location_id', 'Integer'); $objToReturn->strAssetCode = $objDbRow->GetColumn($strAliasPrefix . 'asset_code', 'VarChar'); $objToReturn->strImagePath = $objDbRow->GetColumn($strAliasPrefix . 'image_path', 'VarChar'); $objToReturn->blnCheckedOutFlag = $objDbRow->GetColumn($strAliasPrefix . 'checked_out_flag', 'Bit'); $objToReturn->blnReservedFlag = $objDbRow->GetColumn($strAliasPrefix . 'reserved_flag', 'Bit'); $objToReturn->intCreatedBy = $objDbRow->GetColumn($strAliasPrefix . 'created_by', 'Integer'); $objToReturn->dttCreationDate = $objDbRow->GetColumn($strAliasPrefix . 'creation_date', 'DateTime'); $objToReturn->intModifiedBy = $objDbRow->GetColumn($strAliasPrefix . 'modified_by', 'Integer'); $objToReturn->strModifiedDate = $objDbRow->GetColumn($strAliasPrefix . 'modified_date', 'VarChar'); // Instantiate Virtual Attributes foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); if (substr($strColumnName, 0, $strVirtualPrefixLength) == $strVirtualPrefix) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'asset__'; } // Check for AssetModel Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'asset_model_id__asset_model_id'))) { $objToReturn->objAssetModel = AssetModel::InstantiateDbRow($objDbRow, $strAliasPrefix . 'asset_model_id__', $strExpandAsArrayNodes); } // Check for Location Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'location_id__location_id'))) { $objToReturn->objLocation = Location::InstantiateDbRow($objDbRow, $strAliasPrefix . 'location_id__', $strExpandAsArrayNodes); } // Check for CreatedByObject Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'created_by__user_account_id'))) { $objToReturn->objCreatedByObject = UserAccount::InstantiateDbRow($objDbRow, $strAliasPrefix . 'created_by__', $strExpandAsArrayNodes); } // Check for ModifiedByObject Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'modified_by__user_account_id'))) { $objToReturn->objModifiedByObject = UserAccount::InstantiateDbRow($objDbRow, $strAliasPrefix . 'modified_by__', $strExpandAsArrayNodes); } // Check for AssetTransaction Virtual Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'assettransaction__asset_transaction_id'))) { if ($strExpandAsArrayNodes && array_key_exists($strAliasPrefix . 'assettransaction__asset_transaction_id', $strExpandAsArrayNodes)) { array_push($objToReturn->_objAssetTransactionArray, AssetTransaction::InstantiateDbRow($objDbRow, $strAliasPrefix . 'assettransaction__', $strExpandAsArrayNodes)); } else { $objToReturn->_objAssetTransaction = AssetTransaction::InstantiateDbRow($objDbRow, $strAliasPrefix . 'assettransaction__', $strExpandAsArrayNodes); } } // Check for AssetTransactionAsNew Virtual Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'assettransactionasnew__asset_transaction_id'))) { if ($strExpandAsArrayNodes && array_key_exists($strAliasPrefix . 'assettransactionasnew__asset_transaction_id', $strExpandAsArrayNodes)) { array_push($objToReturn->_objAssetTransactionAsNewArray, AssetTransaction::InstantiateDbRow($objDbRow, $strAliasPrefix . 'assettransactionasnew__', $strExpandAsArrayNodes)); } else { $objToReturn->_objAssetTransactionAsNew = AssetTransaction::InstantiateDbRow($objDbRow, $strAliasPrefix . 'assettransactionasnew__', $strExpandAsArrayNodes); } } return $objToReturn; }
/** * Instantiate a DlePoll from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this DlePoll::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @param string $strExpandAsArrayNodes * @param QBaseClass $arrPreviousItem * @param string[] $strColumnAliasArray * @return DlePoll */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $arrPreviousItems = null, $strColumnAliasArray = array()) { // If blank row, return null if (!$objDbRow) { return null; } // Create a new instance of the DlePoll object $objToReturn = new DlePoll(); $objToReturn->__blnRestored = true; $strAlias = $strAliasPrefix . 'id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'news_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intNewsId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'title'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strTitle = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'frage'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strFrage = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'body'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strBody = $objDbRow->GetColumn($strAliasName, 'Blob'); $strAlias = $strAliasPrefix . 'votes'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intVotes = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'multiple'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->blnMultiple = $objDbRow->GetColumn($strAliasName, 'Bit'); $strAlias = $strAliasPrefix . 'answer'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strAnswer = $objDbRow->GetColumn($strAliasName, 'Blob'); if (isset($arrPreviousItems) && is_array($arrPreviousItems)) { foreach ($arrPreviousItems as $objPreviousItem) { if ($objToReturn->Id != $objPreviousItem->Id) { continue; } // complete match - all primary key columns are the same return null; } } // Instantiate Virtual Attributes $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { if (strncmp($strColumnName, $strVirtualPrefix, $strVirtualPrefixLength) == 0) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'dle_poll__'; } // Check for News Early Binding $strAlias = $strAliasPrefix . 'news_id__id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (!is_null($objDbRow->GetColumn($strAliasName))) { $objToReturn->objNews = DlePost::InstantiateDbRow($objDbRow, $strAliasPrefix . 'news_id__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } return $objToReturn; }
/** * Instantiate a Receipt from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this Receipt::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @return Receipt */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $objPreviousItem = null) { // If blank row, return null if (!$objDbRow) { return null; } // Create a new instance of the Receipt object $objToReturn = new Receipt(); $objToReturn->__blnRestored = true; $objToReturn->intReceiptId = $objDbRow->GetColumn($strAliasPrefix . 'receipt_id', 'Integer'); $objToReturn->intTransactionId = $objDbRow->GetColumn($strAliasPrefix . 'transaction_id', 'Integer'); $objToReturn->intFromCompanyId = $objDbRow->GetColumn($strAliasPrefix . 'from_company_id', 'Integer'); $objToReturn->intFromContactId = $objDbRow->GetColumn($strAliasPrefix . 'from_contact_id', 'Integer'); $objToReturn->intToContactId = $objDbRow->GetColumn($strAliasPrefix . 'to_contact_id', 'Integer'); $objToReturn->intToAddressId = $objDbRow->GetColumn($strAliasPrefix . 'to_address_id', 'Integer'); $objToReturn->strReceiptNumber = $objDbRow->GetColumn($strAliasPrefix . 'receipt_number', 'VarChar'); $objToReturn->dttDueDate = $objDbRow->GetColumn($strAliasPrefix . 'due_date', 'Date'); $objToReturn->dttReceiptDate = $objDbRow->GetColumn($strAliasPrefix . 'receipt_date', 'Date'); $objToReturn->blnReceivedFlag = $objDbRow->GetColumn($strAliasPrefix . 'received_flag', 'Bit'); $objToReturn->intCreatedBy = $objDbRow->GetColumn($strAliasPrefix . 'created_by', 'Integer'); $objToReturn->dttCreationDate = $objDbRow->GetColumn($strAliasPrefix . 'creation_date', 'DateTime'); $objToReturn->intModifiedBy = $objDbRow->GetColumn($strAliasPrefix . 'modified_by', 'Integer'); $objToReturn->strModifiedDate = $objDbRow->GetColumn($strAliasPrefix . 'modified_date', 'VarChar'); // Instantiate Virtual Attributes foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); if (substr($strColumnName, 0, $strVirtualPrefixLength) == $strVirtualPrefix) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'receipt__'; } // Check for Transaction Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'transaction_id__transaction_id'))) { $objToReturn->objTransaction = Transaction::InstantiateDbRow($objDbRow, $strAliasPrefix . 'transaction_id__', $strExpandAsArrayNodes); } // Check for FromCompany Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'from_company_id__company_id'))) { $objToReturn->objFromCompany = Company::InstantiateDbRow($objDbRow, $strAliasPrefix . 'from_company_id__', $strExpandAsArrayNodes); } // Check for FromContact Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'from_contact_id__contact_id'))) { $objToReturn->objFromContact = Contact::InstantiateDbRow($objDbRow, $strAliasPrefix . 'from_contact_id__', $strExpandAsArrayNodes); } // Check for ToContact Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'to_contact_id__contact_id'))) { $objToReturn->objToContact = Contact::InstantiateDbRow($objDbRow, $strAliasPrefix . 'to_contact_id__', $strExpandAsArrayNodes); } // Check for ToAddress Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'to_address_id__address_id'))) { $objToReturn->objToAddress = Address::InstantiateDbRow($objDbRow, $strAliasPrefix . 'to_address_id__', $strExpandAsArrayNodes); } // Check for CreatedByObject Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'created_by__user_account_id'))) { $objToReturn->objCreatedByObject = UserAccount::InstantiateDbRow($objDbRow, $strAliasPrefix . 'created_by__', $strExpandAsArrayNodes); } // Check for ModifiedByObject Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'modified_by__user_account_id'))) { $objToReturn->objModifiedByObject = UserAccount::InstantiateDbRow($objDbRow, $strAliasPrefix . 'modified_by__', $strExpandAsArrayNodes); } return $objToReturn; }
/** * Instantiate a NarroContext from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this NarroContext::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @param string $strExpandAsArrayNodes * @param QBaseClass $arrPreviousItem * @param string[] $strColumnAliasArray * @return NarroContext */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $arrPreviousItems = null, $strColumnAliasArray = array()) { // If blank row, return null if (!$objDbRow) { return null; } // See if we're doing an array expansion on the previous item $strAlias = $strAliasPrefix . 'context_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if ($strExpandAsArrayNodes && is_array($arrPreviousItems) && count($arrPreviousItems)) { foreach ($arrPreviousItems as $objPreviousItem) { if ($objPreviousItem->intContextId == $objDbRow->GetColumn($strAliasName, 'Integer')) { // We are. Now, prepare to check for ExpandAsArray clauses $blnExpandedViaArray = false; if (!$strAliasPrefix) { $strAliasPrefix = 'narro_context__'; } // Expanding reverse references: NarroContextInfoAsContext $strAlias = $strAliasPrefix . 'narrocontextinfoascontext__context_info_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (array_key_exists($strAlias, $strExpandAsArrayNodes) && !is_null($objDbRow->GetColumn($strAliasName))) { if (null === $objPreviousItem->_objNarroContextInfoAsContextArray) { $objPreviousItem->_objNarroContextInfoAsContextArray = array(); } if ($intPreviousChildItemCount = count($objPreviousItem->_objNarroContextInfoAsContextArray)) { $objPreviousChildItems = $objPreviousItem->_objNarroContextInfoAsContextArray; $objChildItem = NarroContextInfo::InstantiateDbRow($objDbRow, $strAliasPrefix . 'narrocontextinfoascontext__', $strExpandAsArrayNodes, $objPreviousChildItems, $strColumnAliasArray); if ($objChildItem) { $objPreviousItem->_objNarroContextInfoAsContextArray[] = $objChildItem; } } else { $objPreviousItem->_objNarroContextInfoAsContextArray[] = NarroContextInfo::InstantiateDbRow($objDbRow, $strAliasPrefix . 'narrocontextinfoascontext__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } $blnExpandedViaArray = true; } // Expanding reverse references: NarroSuggestionVoteAsContext $strAlias = $strAliasPrefix . 'narrosuggestionvoteascontext__suggestion_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (array_key_exists($strAlias, $strExpandAsArrayNodes) && !is_null($objDbRow->GetColumn($strAliasName))) { if (null === $objPreviousItem->_objNarroSuggestionVoteAsContextArray) { $objPreviousItem->_objNarroSuggestionVoteAsContextArray = array(); } if ($intPreviousChildItemCount = count($objPreviousItem->_objNarroSuggestionVoteAsContextArray)) { $objPreviousChildItems = $objPreviousItem->_objNarroSuggestionVoteAsContextArray; $objChildItem = NarroSuggestionVote::InstantiateDbRow($objDbRow, $strAliasPrefix . 'narrosuggestionvoteascontext__', $strExpandAsArrayNodes, $objPreviousChildItems, $strColumnAliasArray); if ($objChildItem) { $objPreviousItem->_objNarroSuggestionVoteAsContextArray[] = $objChildItem; } } else { $objPreviousItem->_objNarroSuggestionVoteAsContextArray[] = NarroSuggestionVote::InstantiateDbRow($objDbRow, $strAliasPrefix . 'narrosuggestionvoteascontext__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } $blnExpandedViaArray = true; } // Either return false to signal array expansion, or check-to-reset the Alias prefix and move on if ($blnExpandedViaArray) { return false; } else { if ($strAliasPrefix == 'narro_context__') { $strAliasPrefix = null; } } } } } // Create a new instance of the NarroContext object $objToReturn = new NarroContext(); $objToReturn->__blnRestored = true; $strAlias = $strAliasPrefix . 'context_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intContextId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'text_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intTextId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'text_access_key'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strTextAccessKey = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'text_command_key'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strTextCommandKey = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'project_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intProjectId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'context'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strContext = $objDbRow->GetColumn($strAliasName, 'Blob'); $strAlias = $strAliasPrefix . 'context_md5'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strContextMd5 = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'comment'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strComment = $objDbRow->GetColumn($strAliasName, 'Blob'); $strAlias = $strAliasPrefix . 'comment_md5'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strCommentMd5 = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'file_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intFileId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'created'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->dttCreated = $objDbRow->GetColumn($strAliasName, 'DateTime'); $strAlias = $strAliasPrefix . 'modified'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->dttModified = $objDbRow->GetColumn($strAliasName, 'DateTime'); $strAlias = $strAliasPrefix . 'active'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->blnActive = $objDbRow->GetColumn($strAliasName, 'Bit'); if (isset($arrPreviousItems) && is_array($arrPreviousItems)) { foreach ($arrPreviousItems as $objPreviousItem) { if ($objToReturn->ContextId != $objPreviousItem->ContextId) { continue; } $prevCnt = count($objPreviousItem->_objNarroContextInfoAsContextArray); $cnt = count($objToReturn->_objNarroContextInfoAsContextArray); if ($prevCnt != $cnt) { continue; } if ($prevCnt == 0 || $cnt == 0 || !array_diff($objPreviousItem->_objNarroContextInfoAsContextArray, $objToReturn->_objNarroContextInfoAsContextArray)) { continue; } $prevCnt = count($objPreviousItem->_objNarroSuggestionVoteAsContextArray); $cnt = count($objToReturn->_objNarroSuggestionVoteAsContextArray); if ($prevCnt != $cnt) { continue; } if ($prevCnt == 0 || $cnt == 0 || !array_diff($objPreviousItem->_objNarroSuggestionVoteAsContextArray, $objToReturn->_objNarroSuggestionVoteAsContextArray)) { continue; } // complete match - all primary key columns are the same return null; } } // Instantiate Virtual Attributes $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { if (strncmp($strColumnName, $strVirtualPrefix, $strVirtualPrefixLength) == 0) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'narro_context__'; } // Check for Text Early Binding $strAlias = $strAliasPrefix . 'text_id__text_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (!is_null($objDbRow->GetColumn($strAliasName))) { $objToReturn->objText = NarroText::InstantiateDbRow($objDbRow, $strAliasPrefix . 'text_id__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } // Check for Project Early Binding $strAlias = $strAliasPrefix . 'project_id__project_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (!is_null($objDbRow->GetColumn($strAliasName))) { $objToReturn->objProject = NarroProject::InstantiateDbRow($objDbRow, $strAliasPrefix . 'project_id__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } // Check for File Early Binding $strAlias = $strAliasPrefix . 'file_id__file_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (!is_null($objDbRow->GetColumn($strAliasName))) { $objToReturn->objFile = NarroFile::InstantiateDbRow($objDbRow, $strAliasPrefix . 'file_id__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } // Check for NarroContextInfoAsContext Virtual Binding $strAlias = $strAliasPrefix . 'narrocontextinfoascontext__context_info_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $blnExpanded = $strExpandAsArrayNodes && array_key_exists($strAlias, $strExpandAsArrayNodes); if ($blnExpanded && null === $objToReturn->_objNarroContextInfoAsContextArray) { $objToReturn->_objNarroContextInfoAsContextArray = array(); } if (!is_null($objDbRow->GetColumn($strAliasName))) { if ($blnExpanded) { $objToReturn->_objNarroContextInfoAsContextArray[] = NarroContextInfo::InstantiateDbRow($objDbRow, $strAliasPrefix . 'narrocontextinfoascontext__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } else { $objToReturn->_objNarroContextInfoAsContext = NarroContextInfo::InstantiateDbRow($objDbRow, $strAliasPrefix . 'narrocontextinfoascontext__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } } // Check for NarroSuggestionVoteAsContext Virtual Binding $strAlias = $strAliasPrefix . 'narrosuggestionvoteascontext__suggestion_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $blnExpanded = $strExpandAsArrayNodes && array_key_exists($strAlias, $strExpandAsArrayNodes); if ($blnExpanded && null === $objToReturn->_objNarroSuggestionVoteAsContextArray) { $objToReturn->_objNarroSuggestionVoteAsContextArray = array(); } if (!is_null($objDbRow->GetColumn($strAliasName))) { if ($blnExpanded) { $objToReturn->_objNarroSuggestionVoteAsContextArray[] = NarroSuggestionVote::InstantiateDbRow($objDbRow, $strAliasPrefix . 'narrosuggestionvoteascontext__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } else { $objToReturn->_objNarroSuggestionVoteAsContext = NarroSuggestionVote::InstantiateDbRow($objDbRow, $strAliasPrefix . 'narrosuggestionvoteascontext__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } } return $objToReturn; }
/** * Instantiate a ClassVariable from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this ClassVariable::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @return ClassVariable */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $objPreviousItem = null) { // If blank row, return null if (!$objDbRow) { return null; } // See if we're doing an array expansion on the previous item if ($strExpandAsArrayNodes && $objPreviousItem && $objPreviousItem->intId == $objDbRow->GetColumn($strAliasPrefix . 'id', 'Integer')) { // We are. Now, prepare to check for ExpandAsArray clauses $blnExpandedViaArray = false; if (!$strAliasPrefix) { $strAliasPrefix = 'class_variable__'; } if (array_key_exists($strAliasPrefix . 'classproperty__id', $strExpandAsArrayNodes) && !is_null($objDbRow->GetColumn($strAliasPrefix . 'classproperty__id'))) { if ($intPreviousChildItemCount = count($objPreviousItem->_objClassPropertyArray)) { $objPreviousChildItem = $objPreviousItem->_objClassPropertyArray[$intPreviousChildItemCount - 1]; $objChildItem = ClassProperty::InstantiateDbRow($objDbRow, $strAliasPrefix . 'classproperty__', $strExpandAsArrayNodes, $objPreviousChildItem); if ($objChildItem) { array_push($objPreviousItem->_objClassPropertyArray, $objChildItem); } } else { array_push($objPreviousItem->_objClassPropertyArray, ClassProperty::InstantiateDbRow($objDbRow, $strAliasPrefix . 'classproperty__', $strExpandAsArrayNodes)); } $blnExpandedViaArray = true; } // Either return false to signal array expansion, or check-to-reset the Alias prefix and move on if ($blnExpandedViaArray) { return false; } else { if ($strAliasPrefix == 'class_variable__') { $strAliasPrefix = null; } } } // Create a new instance of the ClassVariable object $objToReturn = new ClassVariable(); $objToReturn->__blnRestored = true; $objToReturn->intId = $objDbRow->GetColumn($strAliasPrefix . 'id', 'Integer'); $objToReturn->intQcodoClassId = $objDbRow->GetColumn($strAliasPrefix . 'qcodo_class_id', 'Integer'); $objToReturn->intVariableGroupId = $objDbRow->GetColumn($strAliasPrefix . 'variable_group_id', 'Integer'); $objToReturn->intProtectionTypeId = $objDbRow->GetColumn($strAliasPrefix . 'protection_type_id', 'Integer'); $objToReturn->intVariableId = $objDbRow->GetColumn($strAliasPrefix . 'variable_id', 'Integer'); $objToReturn->blnReadOnlyFlag = $objDbRow->GetColumn($strAliasPrefix . 'read_only_flag', 'Bit'); $objToReturn->blnStaticFlag = $objDbRow->GetColumn($strAliasPrefix . 'static_flag', 'Bit'); // Instantiate Virtual Attributes foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); if (substr($strColumnName, 0, $strVirtualPrefixLength) == $strVirtualPrefix) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'class_variable__'; } // Check for QcodoClass Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'qcodo_class_id__id'))) { $objToReturn->objQcodoClass = QcodoClass::InstantiateDbRow($objDbRow, $strAliasPrefix . 'qcodo_class_id__', $strExpandAsArrayNodes); } // Check for VariableGroup Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'variable_group_id__id'))) { $objToReturn->objVariableGroup = VariableGroup::InstantiateDbRow($objDbRow, $strAliasPrefix . 'variable_group_id__', $strExpandAsArrayNodes); } // Check for Variable Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'variable_id__id'))) { $objToReturn->objVariable = Variable::InstantiateDbRow($objDbRow, $strAliasPrefix . 'variable_id__', $strExpandAsArrayNodes); } // Check for ClassProperty Virtual Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'classproperty__id'))) { if ($strExpandAsArrayNodes && array_key_exists($strAliasPrefix . 'classproperty__id', $strExpandAsArrayNodes)) { array_push($objToReturn->_objClassPropertyArray, ClassProperty::InstantiateDbRow($objDbRow, $strAliasPrefix . 'classproperty__', $strExpandAsArrayNodes)); } else { $objToReturn->_objClassProperty = ClassProperty::InstantiateDbRow($objDbRow, $strAliasPrefix . 'classproperty__', $strExpandAsArrayNodes); } } return $objToReturn; }
/** * Instantiate a ShowcaseItem from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this ShowcaseItem::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @param string $strExpandAsArrayNodes * @param QBaseClass $objPreviousItem * @param string[] $strColumnAliasArray * @return ShowcaseItem */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $objPreviousItem = null, $strColumnAliasArray = array()) { // If blank row, return null if (!$objDbRow) { return null; } // Create a new instance of the ShowcaseItem object $objToReturn = new ShowcaseItem(); $objToReturn->__blnRestored = true; $strAliasName = array_key_exists($strAliasPrefix . 'id', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'id'] : $strAliasPrefix . 'id'; $objToReturn->intId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAliasName = array_key_exists($strAliasPrefix . 'image_file_type_id', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'image_file_type_id'] : $strAliasPrefix . 'image_file_type_id'; $objToReturn->intImageFileTypeId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAliasName = array_key_exists($strAliasPrefix . 'person_id', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'person_id'] : $strAliasPrefix . 'person_id'; $objToReturn->intPersonId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAliasName = array_key_exists($strAliasPrefix . 'name', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'name'] : $strAliasPrefix . 'name'; $objToReturn->strName = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAliasName = array_key_exists($strAliasPrefix . 'description', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'description'] : $strAliasPrefix . 'description'; $objToReturn->strDescription = $objDbRow->GetColumn($strAliasName, 'Blob'); $strAliasName = array_key_exists($strAliasPrefix . 'url', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'url'] : $strAliasPrefix . 'url'; $objToReturn->strUrl = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAliasName = array_key_exists($strAliasPrefix . 'live_flag', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'live_flag'] : $strAliasPrefix . 'live_flag'; $objToReturn->blnLiveFlag = $objDbRow->GetColumn($strAliasName, 'Bit'); // Instantiate Virtual Attributes foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); if (substr($strColumnName, 0, $strVirtualPrefixLength) == $strVirtualPrefix) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'showcase_item__'; } // Check for Person Early Binding $strAlias = $strAliasPrefix . 'person_id__id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (!is_null($objDbRow->GetColumn($strAliasName))) { $objToReturn->objPerson = Person::InstantiateDbRow($objDbRow, $strAliasPrefix . 'person_id__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } return $objToReturn; }
/** * Instantiate a DatagridColumnPreference from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this DatagridColumnPreference::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @return DatagridColumnPreference */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $objPreviousItem = null) { // If blank row, return null if (!$objDbRow) { return null; } // Create a new instance of the DatagridColumnPreference object $objToReturn = new DatagridColumnPreference(); $objToReturn->__blnRestored = true; $objToReturn->intDatagridColumnPreferenceId = $objDbRow->GetColumn($strAliasPrefix . 'datagrid_column_preference_id', 'Integer'); $objToReturn->intDatagridId = $objDbRow->GetColumn($strAliasPrefix . 'datagrid_id', 'Integer'); $objToReturn->strColumnName = $objDbRow->GetColumn($strAliasPrefix . 'column_name', 'VarChar'); $objToReturn->intUserAccountId = $objDbRow->GetColumn($strAliasPrefix . 'user_account_id', 'Integer'); $objToReturn->blnDisplayFlag = $objDbRow->GetColumn($strAliasPrefix . 'display_flag', 'Bit'); // Instantiate Virtual Attributes foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); if (substr($strColumnName, 0, $strVirtualPrefixLength) == $strVirtualPrefix) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'datagrid_column_preference__'; } // Check for Datagrid Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'datagrid_id__datagrid_id'))) { $objToReturn->objDatagrid = Datagrid::InstantiateDbRow($objDbRow, $strAliasPrefix . 'datagrid_id__', $strExpandAsArrayNodes); } // Check for UserAccount Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'user_account_id__user_account_id'))) { $objToReturn->objUserAccount = UserAccount::InstantiateDbRow($objDbRow, $strAliasPrefix . 'user_account_id__', $strExpandAsArrayNodes); } return $objToReturn; }
/** * Instantiate a DleCategory from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this DleCategory::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @param string $strExpandAsArrayNodes * @param QBaseClass $arrPreviousItem * @param string[] $strColumnAliasArray * @return DleCategory */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $arrPreviousItems = null, $strColumnAliasArray = array()) { // If blank row, return null if (!$objDbRow) { return null; } // See if we're doing an array expansion on the previous item $strAlias = $strAliasPrefix . 'id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if ($strExpandAsArrayNodes && is_array($arrPreviousItems) && count($arrPreviousItems)) { foreach ($arrPreviousItems as $objPreviousItem) { if ($objPreviousItem->intId == $objDbRow->GetColumn($strAliasName, 'Integer')) { // We are. Now, prepare to check for ExpandAsArray clauses $blnExpandedViaArray = false; if (!$strAliasPrefix) { $strAliasPrefix = 'dle_category__'; } // Expanding reverse references: DleCategoryAsParentid $strAlias = $strAliasPrefix . 'dlecategoryasparentid__id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (array_key_exists($strAlias, $strExpandAsArrayNodes) && !is_null($objDbRow->GetColumn($strAliasName))) { if (null === $objPreviousItem->_objDleCategoryAsParentidArray) { $objPreviousItem->_objDleCategoryAsParentidArray = array(); } if ($intPreviousChildItemCount = count($objPreviousItem->_objDleCategoryAsParentidArray)) { $objPreviousChildItems = $objPreviousItem->_objDleCategoryAsParentidArray; $objChildItem = DleCategory::InstantiateDbRow($objDbRow, $strAliasPrefix . 'dlecategoryasparentid__', $strExpandAsArrayNodes, $objPreviousChildItems, $strColumnAliasArray); if ($objChildItem) { $objPreviousItem->_objDleCategoryAsParentidArray[] = $objChildItem; } } else { $objPreviousItem->_objDleCategoryAsParentidArray[] = DleCategory::InstantiateDbRow($objDbRow, $strAliasPrefix . 'dlecategoryasparentid__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } $blnExpandedViaArray = true; } // Either return false to signal array expansion, or check-to-reset the Alias prefix and move on if ($blnExpandedViaArray) { return false; } else { if ($strAliasPrefix == 'dle_category__') { $strAliasPrefix = null; } } } } } // Create a new instance of the DleCategory object $objToReturn = new DleCategory(); $objToReturn->__blnRestored = true; $strAlias = $strAliasPrefix . 'id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'parentid'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intParentid = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'posi'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intPosi = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'name'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strName = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'alt_name'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strAltName = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'icon'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strIcon = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'skin'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strSkin = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'descr'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strDescr = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'keywords'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strKeywords = $objDbRow->GetColumn($strAliasName, 'Blob'); $strAlias = $strAliasPrefix . 'news_sort'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strNewsSort = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'news_msort'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strNewsMsort = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'news_number'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intNewsNumber = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'short_tpl'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strShortTpl = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'full_tpl'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strFullTpl = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'metatitle'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strMetatitle = $objDbRow->GetColumn($strAliasName, 'VarChar'); if (isset($arrPreviousItems) && is_array($arrPreviousItems)) { foreach ($arrPreviousItems as $objPreviousItem) { if ($objToReturn->Id != $objPreviousItem->Id) { continue; } $prevCnt = count($objPreviousItem->_objDleCategoryAsParentidArray); $cnt = count($objToReturn->_objDleCategoryAsParentidArray); if ($prevCnt != $cnt) { continue; } if ($prevCnt == 0 || $cnt == 0 || !array_diff($objPreviousItem->_objDleCategoryAsParentidArray, $objToReturn->_objDleCategoryAsParentidArray)) { continue; } // complete match - all primary key columns are the same return null; } } // Instantiate Virtual Attributes $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { if (strncmp($strColumnName, $strVirtualPrefix, $strVirtualPrefixLength) == 0) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'dle_category__'; } // Check for ParentidObject Early Binding $strAlias = $strAliasPrefix . 'parentid__id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (!is_null($objDbRow->GetColumn($strAliasName))) { $objToReturn->objParentidObject = DleCategory::InstantiateDbRow($objDbRow, $strAliasPrefix . 'parentid__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } // Check for DleCategoryAsParentid Virtual Binding $strAlias = $strAliasPrefix . 'dlecategoryasparentid__id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $blnExpanded = $strExpandAsArrayNodes && array_key_exists($strAlias, $strExpandAsArrayNodes); if ($blnExpanded && null === $objToReturn->_objDleCategoryAsParentidArray) { $objToReturn->_objDleCategoryAsParentidArray = array(); } if (!is_null($objDbRow->GetColumn($strAliasName))) { if ($blnExpanded) { $objToReturn->_objDleCategoryAsParentidArray[] = DleCategory::InstantiateDbRow($objDbRow, $strAliasPrefix . 'dlecategoryasparentid__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } else { $objToReturn->_objDleCategoryAsParentid = DleCategory::InstantiateDbRow($objDbRow, $strAliasPrefix . 'dlecategoryasparentid__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } } return $objToReturn; }
/** * Instantiate a ShippingAccount from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this ShippingAccount::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @return ShippingAccount */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $objPreviousItem = null) { // If blank row, return null if (!$objDbRow) { return null; } // See if we're doing an array expansion on the previous item if ($strExpandAsArrayNodes && $objPreviousItem && $objPreviousItem->intShippingAccountId == $objDbRow->GetColumn($strAliasPrefix . 'shipping_account_id', 'Integer')) { // We are. Now, prepare to check for ExpandAsArray clauses $blnExpandedViaArray = false; if (!$strAliasPrefix) { $strAliasPrefix = 'shipping_account__'; } if (array_key_exists($strAliasPrefix . 'fedexshipment__fedex_shipment_id', $strExpandAsArrayNodes) && !is_null($objDbRow->GetColumn($strAliasPrefix . 'fedexshipment__fedex_shipment_id'))) { if ($intPreviousChildItemCount = count($objPreviousItem->_objFedexShipmentArray)) { $objPreviousChildItem = $objPreviousItem->_objFedexShipmentArray[$intPreviousChildItemCount - 1]; $objChildItem = FedexShipment::InstantiateDbRow($objDbRow, $strAliasPrefix . 'fedexshipment__', $strExpandAsArrayNodes, $objPreviousChildItem); if ($objChildItem) { array_push($objPreviousItem->_objFedexShipmentArray, $objChildItem); } } else { array_push($objPreviousItem->_objFedexShipmentArray, FedexShipment::InstantiateDbRow($objDbRow, $strAliasPrefix . 'fedexshipment__', $strExpandAsArrayNodes)); } $blnExpandedViaArray = true; } // Either return false to signal array expansion, or check-to-reset the Alias prefix and move on if ($blnExpandedViaArray) { return false; } else { if ($strAliasPrefix == 'shipping_account__') { $strAliasPrefix = null; } } } // Create a new instance of the ShippingAccount object $objToReturn = new ShippingAccount(); $objToReturn->__blnRestored = true; $objToReturn->intShippingAccountId = $objDbRow->GetColumn($strAliasPrefix . 'shipping_account_id', 'Integer'); $objToReturn->intCourierId = $objDbRow->GetColumn($strAliasPrefix . 'courier_id', 'Integer'); $objToReturn->strShortDescription = $objDbRow->GetColumn($strAliasPrefix . 'short_description', 'VarChar'); $objToReturn->strAccessId = $objDbRow->GetColumn($strAliasPrefix . 'access_id', 'VarChar'); $objToReturn->strAccessCode = $objDbRow->GetColumn($strAliasPrefix . 'access_code', 'VarChar'); $objToReturn->intCreatedBy = $objDbRow->GetColumn($strAliasPrefix . 'created_by', 'Integer'); $objToReturn->dttCreationDate = $objDbRow->GetColumn($strAliasPrefix . 'creation_date', 'DateTime'); $objToReturn->intModifiedBy = $objDbRow->GetColumn($strAliasPrefix . 'modified_by', 'Integer'); $objToReturn->strModifiedDate = $objDbRow->GetColumn($strAliasPrefix . 'modified_date', 'VarChar'); // Instantiate Virtual Attributes foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); if (substr($strColumnName, 0, $strVirtualPrefixLength) == $strVirtualPrefix) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'shipping_account__'; } // Check for Courier Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'courier_id__courier_id'))) { $objToReturn->objCourier = Courier::InstantiateDbRow($objDbRow, $strAliasPrefix . 'courier_id__', $strExpandAsArrayNodes); } // Check for CreatedByObject Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'created_by__user_account_id'))) { $objToReturn->objCreatedByObject = UserAccount::InstantiateDbRow($objDbRow, $strAliasPrefix . 'created_by__', $strExpandAsArrayNodes); } // Check for ModifiedByObject Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'modified_by__user_account_id'))) { $objToReturn->objModifiedByObject = UserAccount::InstantiateDbRow($objDbRow, $strAliasPrefix . 'modified_by__', $strExpandAsArrayNodes); } // Check for FedexShipment Virtual Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'fedexshipment__fedex_shipment_id'))) { if ($strExpandAsArrayNodes && array_key_exists($strAliasPrefix . 'fedexshipment__fedex_shipment_id', $strExpandAsArrayNodes)) { array_push($objToReturn->_objFedexShipmentArray, FedexShipment::InstantiateDbRow($objDbRow, $strAliasPrefix . 'fedexshipment__', $strExpandAsArrayNodes)); } else { $objToReturn->_objFedexShipment = FedexShipment::InstantiateDbRow($objDbRow, $strAliasPrefix . 'fedexshipment__', $strExpandAsArrayNodes); } } return $objToReturn; }
/** * Instantiate a NarroPermission from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this NarroPermission::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @param string $strExpandAsArrayNodes * @param QBaseClass $arrPreviousItem * @param string[] $strColumnAliasArray * @return NarroPermission */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $arrPreviousItems = null, $strColumnAliasArray = array()) { // If blank row, return null if (!$objDbRow) { return null; } // See if we're doing an array expansion on the previous item $strAlias = $strAliasPrefix . 'permission_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if ($strExpandAsArrayNodes && is_array($arrPreviousItems) && count($arrPreviousItems)) { foreach ($arrPreviousItems as $objPreviousItem) { if ($objPreviousItem->intPermissionId == $objDbRow->GetColumn($strAliasName, 'Integer')) { // We are. Now, prepare to check for ExpandAsArray clauses $blnExpandedViaArray = false; if (!$strAliasPrefix) { $strAliasPrefix = 'narro_permission__'; } // Expanding reverse references: NarroRolePermissionAsPermission $strAlias = $strAliasPrefix . 'narrorolepermissionaspermission__role_permission_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (array_key_exists($strAlias, $strExpandAsArrayNodes) && !is_null($objDbRow->GetColumn($strAliasName))) { if (null === $objPreviousItem->_objNarroRolePermissionAsPermissionArray) { $objPreviousItem->_objNarroRolePermissionAsPermissionArray = array(); } if ($intPreviousChildItemCount = count($objPreviousItem->_objNarroRolePermissionAsPermissionArray)) { $objPreviousChildItems = $objPreviousItem->_objNarroRolePermissionAsPermissionArray; $objChildItem = NarroRolePermission::InstantiateDbRow($objDbRow, $strAliasPrefix . 'narrorolepermissionaspermission__', $strExpandAsArrayNodes, $objPreviousChildItems, $strColumnAliasArray); if ($objChildItem) { $objPreviousItem->_objNarroRolePermissionAsPermissionArray[] = $objChildItem; } } else { $objPreviousItem->_objNarroRolePermissionAsPermissionArray[] = NarroRolePermission::InstantiateDbRow($objDbRow, $strAliasPrefix . 'narrorolepermissionaspermission__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } $blnExpandedViaArray = true; } // Either return false to signal array expansion, or check-to-reset the Alias prefix and move on if ($blnExpandedViaArray) { return false; } else { if ($strAliasPrefix == 'narro_permission__') { $strAliasPrefix = null; } } } } } // Create a new instance of the NarroPermission object $objToReturn = new NarroPermission(); $objToReturn->__blnRestored = true; $strAlias = $strAliasPrefix . 'permission_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intPermissionId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'permission_name'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strPermissionName = $objDbRow->GetColumn($strAliasName, 'VarChar'); if (isset($arrPreviousItems) && is_array($arrPreviousItems)) { foreach ($arrPreviousItems as $objPreviousItem) { if ($objToReturn->PermissionId != $objPreviousItem->PermissionId) { continue; } $prevCnt = count($objPreviousItem->_objNarroRolePermissionAsPermissionArray); $cnt = count($objToReturn->_objNarroRolePermissionAsPermissionArray); if ($prevCnt != $cnt) { continue; } if ($prevCnt == 0 || $cnt == 0 || !array_diff($objPreviousItem->_objNarroRolePermissionAsPermissionArray, $objToReturn->_objNarroRolePermissionAsPermissionArray)) { continue; } // complete match - all primary key columns are the same return null; } } // Instantiate Virtual Attributes $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { if (strncmp($strColumnName, $strVirtualPrefix, $strVirtualPrefixLength) == 0) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'narro_permission__'; } // Check for NarroRolePermissionAsPermission Virtual Binding $strAlias = $strAliasPrefix . 'narrorolepermissionaspermission__role_permission_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $blnExpanded = $strExpandAsArrayNodes && array_key_exists($strAlias, $strExpandAsArrayNodes); if ($blnExpanded && null === $objToReturn->_objNarroRolePermissionAsPermissionArray) { $objToReturn->_objNarroRolePermissionAsPermissionArray = array(); } if (!is_null($objDbRow->GetColumn($strAliasName))) { if ($blnExpanded) { $objToReturn->_objNarroRolePermissionAsPermissionArray[] = NarroRolePermission::InstantiateDbRow($objDbRow, $strAliasPrefix . 'narrorolepermissionaspermission__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } else { $objToReturn->_objNarroRolePermissionAsPermission = NarroRolePermission::InstantiateDbRow($objDbRow, $strAliasPrefix . 'narrorolepermissionaspermission__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } } return $objToReturn; }
/** * Instantiate a DleMailLog from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this DleMailLog::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @param string $strExpandAsArrayNodes * @param QBaseClass $arrPreviousItem * @param string[] $strColumnAliasArray * @return DleMailLog */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $arrPreviousItems = null, $strColumnAliasArray = array()) { // If blank row, return null if (!$objDbRow) { return null; } // Create a new instance of the DleMailLog object $objToReturn = new DleMailLog(); $objToReturn->__blnRestored = true; $strAlias = $strAliasPrefix . 'id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'user_id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->intUserId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAlias = $strAliasPrefix . 'mail'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strMail = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAlias = $strAliasPrefix . 'hash'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; $objToReturn->strHash = $objDbRow->GetColumn($strAliasName, 'VarChar'); if (isset($arrPreviousItems) && is_array($arrPreviousItems)) { foreach ($arrPreviousItems as $objPreviousItem) { if ($objToReturn->Id != $objPreviousItem->Id) { continue; } // complete match - all primary key columns are the same return null; } } // Instantiate Virtual Attributes $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { if (strncmp($strColumnName, $strVirtualPrefix, $strVirtualPrefixLength) == 0) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'dle_mail_log__'; } return $objToReturn; }
/** * Instantiate a EntityQtypeCustomField from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this EntityQtypeCustomField::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @return EntityQtypeCustomField */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $objPreviousItem = null) { // If blank row, return null if (!$objDbRow) { return null; } // See if we're doing an array expansion on the previous item if ($strExpandAsArrayNodes && $objPreviousItem && $objPreviousItem->intEntityQtypeCustomFieldId == $objDbRow->GetColumn($strAliasPrefix . 'entity_qtype_custom_field_id', 'Integer')) { // We are. Now, prepare to check for ExpandAsArray clauses $blnExpandedViaArray = false; if (!$strAliasPrefix) { $strAliasPrefix = 'entity_qtype_custom_field__'; } if (array_key_exists($strAliasPrefix . 'roleentityqtypecustomfieldauthorization__role_entity_qtype_custom_field_authorization_id', $strExpandAsArrayNodes) && !is_null($objDbRow->GetColumn($strAliasPrefix . 'roleentityqtypecustomfieldauthorization__role_entity_qtype_custom_field_authorization_id'))) { if ($intPreviousChildItemCount = count($objPreviousItem->_objRoleEntityQtypeCustomFieldAuthorizationArray)) { $objPreviousChildItem = $objPreviousItem->_objRoleEntityQtypeCustomFieldAuthorizationArray[$intPreviousChildItemCount - 1]; $objChildItem = RoleEntityQtypeCustomFieldAuthorization::InstantiateDbRow($objDbRow, $strAliasPrefix . 'roleentityqtypecustomfieldauthorization__', $strExpandAsArrayNodes, $objPreviousChildItem); if ($objChildItem) { array_push($objPreviousItem->_objRoleEntityQtypeCustomFieldAuthorizationArray, $objChildItem); } } else { array_push($objPreviousItem->_objRoleEntityQtypeCustomFieldAuthorizationArray, RoleEntityQtypeCustomFieldAuthorization::InstantiateDbRow($objDbRow, $strAliasPrefix . 'roleentityqtypecustomfieldauthorization__', $strExpandAsArrayNodes)); } $blnExpandedViaArray = true; } // Either return false to signal array expansion, or check-to-reset the Alias prefix and move on if ($blnExpandedViaArray) { return false; } else { if ($strAliasPrefix == 'entity_qtype_custom_field__') { $strAliasPrefix = null; } } } // Create a new instance of the EntityQtypeCustomField object $objToReturn = new EntityQtypeCustomField(); $objToReturn->__blnRestored = true; $objToReturn->intEntityQtypeCustomFieldId = $objDbRow->GetColumn($strAliasPrefix . 'entity_qtype_custom_field_id', 'Integer'); $objToReturn->intEntityQtypeId = $objDbRow->GetColumn($strAliasPrefix . 'entity_qtype_id', 'Integer'); $objToReturn->intCustomFieldId = $objDbRow->GetColumn($strAliasPrefix . 'custom_field_id', 'Integer'); // Instantiate Virtual Attributes foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); if (substr($strColumnName, 0, $strVirtualPrefixLength) == $strVirtualPrefix) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'entity_qtype_custom_field__'; } // Check for CustomField Early Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'custom_field_id__custom_field_id'))) { $objToReturn->objCustomField = CustomField::InstantiateDbRow($objDbRow, $strAliasPrefix . 'custom_field_id__', $strExpandAsArrayNodes); } // Check for RoleEntityQtypeCustomFieldAuthorization Virtual Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'roleentityqtypecustomfieldauthorization__role_entity_qtype_custom_field_authorization_id'))) { if ($strExpandAsArrayNodes && array_key_exists($strAliasPrefix . 'roleentityqtypecustomfieldauthorization__role_entity_qtype_custom_field_authorization_id', $strExpandAsArrayNodes)) { array_push($objToReturn->_objRoleEntityQtypeCustomFieldAuthorizationArray, RoleEntityQtypeCustomFieldAuthorization::InstantiateDbRow($objDbRow, $strAliasPrefix . 'roleentityqtypecustomfieldauthorization__', $strExpandAsArrayNodes)); } else { $objToReturn->_objRoleEntityQtypeCustomFieldAuthorization = RoleEntityQtypeCustomFieldAuthorization::InstantiateDbRow($objDbRow, $strAliasPrefix . 'roleentityqtypecustomfieldauthorization__', $strExpandAsArrayNodes); } } return $objToReturn; }
/** * Instantiate a DirectoryToken from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this DirectoryToken::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @return DirectoryToken */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $objPreviousItem = null) { // If blank row, return null if (!$objDbRow) { return null; } // See if we're doing an array expansion on the previous item if ($strExpandAsArrayNodes && $objPreviousItem && $objPreviousItem->intId == $objDbRow->GetColumn($strAliasPrefix . 'id', 'Integer')) { // We are. Now, prepare to check for ExpandAsArray clauses $blnExpandedViaArray = false; if (!$strAliasPrefix) { $strAliasPrefix = 'directory_token__'; } if (array_key_exists($strAliasPrefix . 'fileasdirectory__id', $strExpandAsArrayNodes) && !is_null($objDbRow->GetColumn($strAliasPrefix . 'fileasdirectory__id'))) { if ($intPreviousChildItemCount = count($objPreviousItem->_objFileAsDirectoryArray)) { $objPreviousChildItem = $objPreviousItem->_objFileAsDirectoryArray[$intPreviousChildItemCount - 1]; $objChildItem = File::InstantiateDbRow($objDbRow, $strAliasPrefix . 'fileasdirectory__', $strExpandAsArrayNodes, $objPreviousChildItem); if ($objChildItem) { array_push($objPreviousItem->_objFileAsDirectoryArray, $objChildItem); } } else { array_push($objPreviousItem->_objFileAsDirectoryArray, File::InstantiateDbRow($objDbRow, $strAliasPrefix . 'fileasdirectory__', $strExpandAsArrayNodes)); } $blnExpandedViaArray = true; } // Either return false to signal array expansion, or check-to-reset the Alias prefix and move on if ($blnExpandedViaArray) { return false; } else { if ($strAliasPrefix == 'directory_token__') { $strAliasPrefix = null; } } } // Create a new instance of the DirectoryToken object $objToReturn = new DirectoryToken(); $objToReturn->__blnRestored = true; $objToReturn->intId = $objDbRow->GetColumn($strAliasPrefix . 'id', 'Integer'); $objToReturn->strToken = $objDbRow->GetColumn($strAliasPrefix . 'token', 'VarChar'); $objToReturn->strPath = $objDbRow->GetColumn($strAliasPrefix . 'path', 'VarChar'); $objToReturn->blnCoreFlag = $objDbRow->GetColumn($strAliasPrefix . 'core_flag', 'Bit'); $objToReturn->blnRelativeFlag = $objDbRow->GetColumn($strAliasPrefix . 'relative_flag', 'Bit'); // Instantiate Virtual Attributes foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); if (substr($strColumnName, 0, $strVirtualPrefixLength) == $strVirtualPrefix) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'directory_token__'; } // Check for FileAsDirectory Virtual Binding if (!is_null($objDbRow->GetColumn($strAliasPrefix . 'fileasdirectory__id'))) { if ($strExpandAsArrayNodes && array_key_exists($strAliasPrefix . 'fileasdirectory__id', $strExpandAsArrayNodes)) { array_push($objToReturn->_objFileAsDirectoryArray, File::InstantiateDbRow($objDbRow, $strAliasPrefix . 'fileasdirectory__', $strExpandAsArrayNodes)); } else { $objToReturn->_objFileAsDirectory = File::InstantiateDbRow($objDbRow, $strAliasPrefix . 'fileasdirectory__', $strExpandAsArrayNodes); } } return $objToReturn; }
/** * Instantiate a Myassets from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this Myassets::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @param string $strExpandAsArrayNodes * @param QBaseClass $arrPreviousItem * @param string[] $strColumnAliasArray * @return Myassets */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $arrPreviousItems = null, $strColumnAliasArray = array()) { // If blank row, return null if (!$objDbRow) { return null; } // Create a new instance of the Myassets object $objToReturn = new Myassets(); $objToReturn->__blnRestored = true; $strAliasName = array_key_exists($strAliasPrefix . 'id', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'id'] : $strAliasPrefix . 'id'; $objToReturn->intId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAliasName = array_key_exists($strAliasPrefix . 'ASIN', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'ASIN'] : $strAliasPrefix . 'ASIN'; $objToReturn->strAsin = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAliasName = array_key_exists($strAliasPrefix . 'DetailPageURL', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'DetailPageURL'] : $strAliasPrefix . 'DetailPageURL'; $objToReturn->strDetailPageURL = $objDbRow->GetColumn($strAliasName, 'Blob'); $strAliasName = array_key_exists($strAliasPrefix . 'Title', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'Title'] : $strAliasPrefix . 'Title'; $objToReturn->strTitle = $objDbRow->GetColumn($strAliasName, 'Blob'); $strAliasName = array_key_exists($strAliasPrefix . 'ProductGroup', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'ProductGroup'] : $strAliasPrefix . 'ProductGroup'; $objToReturn->strProductGroup = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAliasName = array_key_exists($strAliasPrefix . 'ImageURL', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'ImageURL'] : $strAliasPrefix . 'ImageURL'; $objToReturn->strImageURL = $objDbRow->GetColumn($strAliasName, 'Blob'); $strAliasName = array_key_exists($strAliasPrefix . 'Author', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'Author'] : $strAliasPrefix . 'Author'; $objToReturn->strAuthor = $objDbRow->GetColumn($strAliasName, 'Blob'); $strAliasName = array_key_exists($strAliasPrefix . 'NumberOfPages', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'NumberOfPages'] : $strAliasPrefix . 'NumberOfPages'; $objToReturn->strNumberOfPages = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAliasName = array_key_exists($strAliasPrefix . 'Publisher', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'Publisher'] : $strAliasPrefix . 'Publisher'; $objToReturn->strPublisher = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAliasName = array_key_exists($strAliasPrefix . 'ISBN', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'ISBN'] : $strAliasPrefix . 'ISBN'; $objToReturn->strIsbn = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAliasName = array_key_exists($strAliasPrefix . 'Actor', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'Actor'] : $strAliasPrefix . 'Actor'; $objToReturn->strActor = $objDbRow->GetColumn($strAliasName, 'Blob'); $strAliasName = array_key_exists($strAliasPrefix . 'Director', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'Director'] : $strAliasPrefix . 'Director'; $objToReturn->strDirector = $objDbRow->GetColumn($strAliasName, 'Blob'); $strAliasName = array_key_exists($strAliasPrefix . 'RunningTime', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'RunningTime'] : $strAliasPrefix . 'RunningTime'; $objToReturn->strRunningTime = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAliasName = array_key_exists($strAliasPrefix . 'Artist', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'Artist'] : $strAliasPrefix . 'Artist'; $objToReturn->strArtist = $objDbRow->GetColumn($strAliasName, 'Blob'); $strAliasName = array_key_exists($strAliasPrefix . 'Label', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'Label'] : $strAliasPrefix . 'Label'; $objToReturn->strLabel = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAliasName = array_key_exists($strAliasPrefix . 'NumberOfDiscs', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'NumberOfDiscs'] : $strAliasPrefix . 'NumberOfDiscs'; $objToReturn->strNumberOfDiscs = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAliasName = array_key_exists($strAliasPrefix . 'Tracks', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'Tracks'] : $strAliasPrefix . 'Tracks'; $objToReturn->strTracks = $objDbRow->GetColumn($strAliasName, 'Blob'); $strAliasName = array_key_exists($strAliasPrefix . 'Language', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'Language'] : $strAliasPrefix . 'Language'; $objToReturn->strLanguage = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAliasName = array_key_exists($strAliasPrefix . 'Genre', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'Genre'] : $strAliasPrefix . 'Genre'; $objToReturn->strGenre = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAliasName = array_key_exists($strAliasPrefix . 'Owner', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'Owner'] : $strAliasPrefix . 'Owner'; $objToReturn->strOwner = $objDbRow->GetColumn($strAliasName, 'VarChar'); if (isset($arrPreviousItems) && is_array($arrPreviousItems)) { foreach ($arrPreviousItems as $objPreviousItem) { if ($objToReturn->Id != $objPreviousItem->Id) { continue; } // complete match - all primary key columns are the same return null; } } // Instantiate Virtual Attributes foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); if (substr($strColumnName, 0, $strVirtualPrefixLength) == $strVirtualPrefix) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'myassets__'; } return $objToReturn; }
/** * Instantiate a Librarydetails from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this Librarydetails::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @param string $strExpandAsArrayNodes * @param QBaseClass $arrPreviousItem * @param string[] $strColumnAliasArray * @return Librarydetails */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $arrPreviousItems = null, $strColumnAliasArray = array()) { // If blank row, return null if (!$objDbRow) { return null; } // See if we're doing an array expansion on the previous item $strAlias = $strAliasPrefix . 'id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if ($strExpandAsArrayNodes && is_array($arrPreviousItems) && count($arrPreviousItems)) { foreach ($arrPreviousItems as $objPreviousItem) { if ($objPreviousItem->intId == $objDbRow->GetColumn($strAliasName, 'Integer')) { // We are. Now, prepare to check for ExpandAsArray clauses $blnExpandedViaArray = false; if (!$strAliasPrefix) { $strAliasPrefix = 'librarydetails__'; } // Expanding many-to-many references: MemberdetailsAsLibraryMember $strAlias = $strAliasPrefix . 'memberdetailsaslibrarymember__memberid__id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (array_key_exists($strAlias, $strExpandAsArrayNodes) && !is_null($objDbRow->GetColumn($strAliasName))) { if ($intPreviousChildItemCount = count($objPreviousItem->_objMemberdetailsAsLibraryMemberArray)) { $objPreviousChildItems = $objPreviousItem->_objMemberdetailsAsLibraryMemberArray; $objChildItem = Memberdetails::InstantiateDbRow($objDbRow, $strAliasPrefix . 'memberdetailsaslibrarymember__memberid__', $strExpandAsArrayNodes, $objPreviousChildItems, $strColumnAliasArray); if ($objChildItem) { $objPreviousItem->_objMemberdetailsAsLibraryMemberArray[] = $objChildItem; } } else { $objPreviousItem->_objMemberdetailsAsLibraryMemberArray[] = Memberdetails::InstantiateDbRow($objDbRow, $strAliasPrefix . 'memberdetailsaslibrarymember__memberid__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } $blnExpandedViaArray = true; } // Either return false to signal array expansion, or check-to-reset the Alias prefix and move on if ($blnExpandedViaArray) { return false; } else { if ($strAliasPrefix == 'librarydetails__') { $strAliasPrefix = null; } } } } } // Create a new instance of the Librarydetails object $objToReturn = new Librarydetails(); $objToReturn->__blnRestored = true; $strAliasName = array_key_exists($strAliasPrefix . 'id', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'id'] : $strAliasPrefix . 'id'; $objToReturn->intId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAliasName = array_key_exists($strAliasPrefix . 'LibraryName', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'LibraryName'] : $strAliasPrefix . 'LibraryName'; $objToReturn->strLibraryName = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAliasName = array_key_exists($strAliasPrefix . 'SummaryOfLibrary', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'SummaryOfLibrary'] : $strAliasPrefix . 'SummaryOfLibrary'; $objToReturn->strSummaryOfLibrary = $objDbRow->GetColumn($strAliasName, 'Blob'); $strAliasName = array_key_exists($strAliasPrefix . 'Creator', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'Creator'] : $strAliasPrefix . 'Creator'; $objToReturn->intCreator = $objDbRow->GetColumn($strAliasName, 'Integer'); if (isset($arrPreviousItems) && is_array($arrPreviousItems)) { foreach ($arrPreviousItems as $objPreviousItem) { if ($objToReturn->Id != $objPreviousItem->Id) { continue; } if (array_diff($objPreviousItem->_objMemberdetailsAsLibraryMemberArray, $objToReturn->_objMemberdetailsAsLibraryMemberArray) != null) { continue; } // complete match - all primary key columns are the same return null; } } // Instantiate Virtual Attributes foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); if (substr($strColumnName, 0, $strVirtualPrefixLength) == $strVirtualPrefix) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'librarydetails__'; } // Check for MemberdetailsAsLibraryMember Virtual Binding $strAlias = $strAliasPrefix . 'memberdetailsaslibrarymember__memberid__id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (!is_null($objDbRow->GetColumn($strAliasName))) { if ($strExpandAsArrayNodes && array_key_exists($strAlias, $strExpandAsArrayNodes)) { $objToReturn->_objMemberdetailsAsLibraryMemberArray[] = Memberdetails::InstantiateDbRow($objDbRow, $strAliasPrefix . 'memberdetailsaslibrarymember__memberid__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } else { $objToReturn->_objMemberdetailsAsLibraryMember = Memberdetails::InstantiateDbRow($objDbRow, $strAliasPrefix . 'memberdetailsaslibrarymember__memberid__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } } return $objToReturn; }
/** * Instantiate a Topic from a Database Row. * Takes in an optional strAliasPrefix, used in case another Object::InstantiateDbRow * is calling this Topic::InstantiateDbRow in order to perform * early binding on referenced objects. * @param DatabaseRowBase $objDbRow * @param string $strAliasPrefix * @param string $strExpandAsArrayNodes * @param QBaseClass $objPreviousItem * @param string[] $strColumnAliasArray * @return Topic */ public static function InstantiateDbRow($objDbRow, $strAliasPrefix = null, $strExpandAsArrayNodes = null, $objPreviousItem = null, $strColumnAliasArray = array()) { // If blank row, return null if (!$objDbRow) { return null; } // See if we're doing an array expansion on the previous item $strAlias = $strAliasPrefix . 'id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if ($strExpandAsArrayNodes && $objPreviousItem && $objPreviousItem->intId == $objDbRow->GetColumn($strAliasName, 'Integer')) { // We are. Now, prepare to check for ExpandAsArray clauses $blnExpandedViaArray = false; if (!$strAliasPrefix) { $strAliasPrefix = 'topic__'; } $strAlias = $strAliasPrefix . 'personasemail__person_id__id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (array_key_exists($strAlias, $strExpandAsArrayNodes) && !is_null($objDbRow->GetColumn($strAliasName))) { if ($intPreviousChildItemCount = count($objPreviousItem->_objPersonAsEmailArray)) { $objPreviousChildItem = $objPreviousItem->_objPersonAsEmailArray[$intPreviousChildItemCount - 1]; $objChildItem = Person::InstantiateDbRow($objDbRow, $strAliasPrefix . 'personasemail__person_id__', $strExpandAsArrayNodes, $objPreviousChildItem, $strColumnAliasArray); if ($objChildItem) { $objPreviousItem->_objPersonAsEmailArray[] = $objChildItem; } } else { $objPreviousItem->_objPersonAsEmailArray[] = Person::InstantiateDbRow($objDbRow, $strAliasPrefix . 'personasemail__person_id__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } $blnExpandedViaArray = true; } $strAlias = $strAliasPrefix . 'personasreadonce__person_id__id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (array_key_exists($strAlias, $strExpandAsArrayNodes) && !is_null($objDbRow->GetColumn($strAliasName))) { if ($intPreviousChildItemCount = count($objPreviousItem->_objPersonAsReadOnceArray)) { $objPreviousChildItem = $objPreviousItem->_objPersonAsReadOnceArray[$intPreviousChildItemCount - 1]; $objChildItem = Person::InstantiateDbRow($objDbRow, $strAliasPrefix . 'personasreadonce__person_id__', $strExpandAsArrayNodes, $objPreviousChildItem, $strColumnAliasArray); if ($objChildItem) { $objPreviousItem->_objPersonAsReadOnceArray[] = $objChildItem; } } else { $objPreviousItem->_objPersonAsReadOnceArray[] = Person::InstantiateDbRow($objDbRow, $strAliasPrefix . 'personasreadonce__person_id__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } $blnExpandedViaArray = true; } $strAlias = $strAliasPrefix . 'personasread__person_id__id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (array_key_exists($strAlias, $strExpandAsArrayNodes) && !is_null($objDbRow->GetColumn($strAliasName))) { if ($intPreviousChildItemCount = count($objPreviousItem->_objPersonAsReadArray)) { $objPreviousChildItem = $objPreviousItem->_objPersonAsReadArray[$intPreviousChildItemCount - 1]; $objChildItem = Person::InstantiateDbRow($objDbRow, $strAliasPrefix . 'personasread__person_id__', $strExpandAsArrayNodes, $objPreviousChildItem, $strColumnAliasArray); if ($objChildItem) { $objPreviousItem->_objPersonAsReadArray[] = $objChildItem; } } else { $objPreviousItem->_objPersonAsReadArray[] = Person::InstantiateDbRow($objDbRow, $strAliasPrefix . 'personasread__person_id__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } $blnExpandedViaArray = true; } $strAlias = $strAliasPrefix . 'message__id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (array_key_exists($strAlias, $strExpandAsArrayNodes) && !is_null($objDbRow->GetColumn($strAliasName))) { if ($intPreviousChildItemCount = count($objPreviousItem->_objMessageArray)) { $objPreviousChildItem = $objPreviousItem->_objMessageArray[$intPreviousChildItemCount - 1]; $objChildItem = Message::InstantiateDbRow($objDbRow, $strAliasPrefix . 'message__', $strExpandAsArrayNodes, $objPreviousChildItem, $strColumnAliasArray); if ($objChildItem) { $objPreviousItem->_objMessageArray[] = $objChildItem; } } else { $objPreviousItem->_objMessageArray[] = Message::InstantiateDbRow($objDbRow, $strAliasPrefix . 'message__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } $blnExpandedViaArray = true; } // Either return false to signal array expansion, or check-to-reset the Alias prefix and move on if ($blnExpandedViaArray) { return false; } else { if ($strAliasPrefix == 'topic__') { $strAliasPrefix = null; } } } // Create a new instance of the Topic object $objToReturn = new Topic(); $objToReturn->__blnRestored = true; $strAliasName = array_key_exists($strAliasPrefix . 'id', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'id'] : $strAliasPrefix . 'id'; $objToReturn->intId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAliasName = array_key_exists($strAliasPrefix . 'topic_link_id', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'topic_link_id'] : $strAliasPrefix . 'topic_link_id'; $objToReturn->intTopicLinkId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAliasName = array_key_exists($strAliasPrefix . 'name', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'name'] : $strAliasPrefix . 'name'; $objToReturn->strName = $objDbRow->GetColumn($strAliasName, 'VarChar'); $strAliasName = array_key_exists($strAliasPrefix . 'person_id', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'person_id'] : $strAliasPrefix . 'person_id'; $objToReturn->intPersonId = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAliasName = array_key_exists($strAliasPrefix . 'last_post_date', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'last_post_date'] : $strAliasPrefix . 'last_post_date'; $objToReturn->dttLastPostDate = $objDbRow->GetColumn($strAliasName, 'DateTime'); $strAliasName = array_key_exists($strAliasPrefix . 'message_count', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'message_count'] : $strAliasPrefix . 'message_count'; $objToReturn->intMessageCount = $objDbRow->GetColumn($strAliasName, 'Integer'); $strAliasName = array_key_exists($strAliasPrefix . 'view_count', $strColumnAliasArray) ? $strColumnAliasArray[$strAliasPrefix . 'view_count'] : $strAliasPrefix . 'view_count'; $objToReturn->intViewCount = $objDbRow->GetColumn($strAliasName, 'Integer'); // Instantiate Virtual Attributes foreach ($objDbRow->GetColumnNameArray() as $strColumnName => $mixValue) { $strVirtualPrefix = $strAliasPrefix . '__'; $strVirtualPrefixLength = strlen($strVirtualPrefix); if (substr($strColumnName, 0, $strVirtualPrefixLength) == $strVirtualPrefix) { $objToReturn->__strVirtualAttributeArray[substr($strColumnName, $strVirtualPrefixLength)] = $mixValue; } } // Prepare to Check for Early/Virtual Binding if (!$strAliasPrefix) { $strAliasPrefix = 'topic__'; } // Check for TopicLink Early Binding $strAlias = $strAliasPrefix . 'topic_link_id__id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (!is_null($objDbRow->GetColumn($strAliasName))) { $objToReturn->objTopicLink = TopicLink::InstantiateDbRow($objDbRow, $strAliasPrefix . 'topic_link_id__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } // Check for Person Early Binding $strAlias = $strAliasPrefix . 'person_id__id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (!is_null($objDbRow->GetColumn($strAliasName))) { $objToReturn->objPerson = Person::InstantiateDbRow($objDbRow, $strAliasPrefix . 'person_id__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } // Check for PersonAsEmail Virtual Binding $strAlias = $strAliasPrefix . 'personasemail__person_id__id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (!is_null($objDbRow->GetColumn($strAliasName))) { if ($strExpandAsArrayNodes && array_key_exists($strAlias, $strExpandAsArrayNodes)) { $objToReturn->_objPersonAsEmailArray[] = Person::InstantiateDbRow($objDbRow, $strAliasPrefix . 'personasemail__person_id__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } else { $objToReturn->_objPersonAsEmail = Person::InstantiateDbRow($objDbRow, $strAliasPrefix . 'personasemail__person_id__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } } // Check for PersonAsReadOnce Virtual Binding $strAlias = $strAliasPrefix . 'personasreadonce__person_id__id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (!is_null($objDbRow->GetColumn($strAliasName))) { if ($strExpandAsArrayNodes && array_key_exists($strAlias, $strExpandAsArrayNodes)) { $objToReturn->_objPersonAsReadOnceArray[] = Person::InstantiateDbRow($objDbRow, $strAliasPrefix . 'personasreadonce__person_id__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } else { $objToReturn->_objPersonAsReadOnce = Person::InstantiateDbRow($objDbRow, $strAliasPrefix . 'personasreadonce__person_id__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } } // Check for PersonAsRead Virtual Binding $strAlias = $strAliasPrefix . 'personasread__person_id__id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (!is_null($objDbRow->GetColumn($strAliasName))) { if ($strExpandAsArrayNodes && array_key_exists($strAlias, $strExpandAsArrayNodes)) { $objToReturn->_objPersonAsReadArray[] = Person::InstantiateDbRow($objDbRow, $strAliasPrefix . 'personasread__person_id__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } else { $objToReturn->_objPersonAsRead = Person::InstantiateDbRow($objDbRow, $strAliasPrefix . 'personasread__person_id__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } } // Check for Message Virtual Binding $strAlias = $strAliasPrefix . 'message__id'; $strAliasName = array_key_exists($strAlias, $strColumnAliasArray) ? $strColumnAliasArray[$strAlias] : $strAlias; if (!is_null($objDbRow->GetColumn($strAliasName))) { if ($strExpandAsArrayNodes && array_key_exists($strAlias, $strExpandAsArrayNodes)) { $objToReturn->_objMessageArray[] = Message::InstantiateDbRow($objDbRow, $strAliasPrefix . 'message__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } else { $objToReturn->_objMessage = Message::InstantiateDbRow($objDbRow, $strAliasPrefix . 'message__', $strExpandAsArrayNodes, null, $strColumnAliasArray); } } return $objToReturn; }