/** Insert/update the selected attribute option. This function is called while updatating the order. * * */ public function insertOptionToOrderItems($optionDetail) { if (!empty($optionDetail)) { $db = JFactory::getDbo(); $items_opt = new stdClass(); $dbAction = 'insertObject'; if (isset($optionDetail['orderitemattribute_id'])) { $dbAction = 'updateObject'; $items_opt->orderitemattribute_id = $optionDetail['orderitemattribute_id']; } if (isset($optionDetail['order_item_id'])) { $items_opt->order_item_id = $optionDetail['order_item_id']; } if (isset($optionDetail['itemattributeoption_id'])) { $items_opt->itemattributeoption_id = $optionDetail['itemattributeoption_id']; } if (isset($optionDetail['orderitemattribute_name'])) { $items_opt->orderitemattribute_name = $optionDetail['orderitemattribute_name']; } if (isset($optionDetail['orderitemattribute_prefix'])) { $items_opt->orderitemattribute_prefix = $optionDetail['orderitemattribute_prefix']; } // Load model file $path = JPATH_SITE . "/components/com_quick2cart/models/cartcheckout.php"; if (!class_exists("Quick2cartModelcartcheckout")) { JLoader::register("Quick2cartModelcartcheckout", $path); JLoader::load("Quick2cartModelcartcheckout"); } $Quick2cartModelcartcheckout = new Quick2cartModelcartcheckout(); // Get option price [currency is referred in this function] $items_opt->orderitemattribute_price = $Quick2cartModelcartcheckout->getAttrOptionPrice($optionDetail['itemattributeoption_id']); try { if (!$db->{$dbAction}('#__kart_order_itemattributes', $items_opt, 'orderitemattribute_id')) { echo $this->_db->stderr(); return 0; } return (array) $items_opt; //return $items_opt->orderitemattribute_id; } catch (Exception $e) { $this->setError($e->getMessage()); } } }