public static function duplicateCustomizationFields($old_product_id, $product_id) { // If customization is not activated, return success if (!Customization::isFeatureActive()) { return true; } if (($customizations = Product::_getCustomizationFieldsNLabels($old_product_id)) === false) { return false; } if (empty($customizations)) { return true; } foreach ($customizations['fields'] as $customization_field) { /* The new datas concern the new product */ $customization_field['id_product'] = (int) $product_id; $old_customization_field_id = (int) $customization_field['id_customization_field']; unset($customization_field['id_customization_field']); if (!Db::getInstance()->insert('customization_field', $customization_field) || !($customization_field_id = Db::getInstance()->Insert_ID())) { return false; } if (isset($customizations['labels'])) { $query = 'INSERT INTO `' . _DB_PREFIX_ . '` (`id_customization_field`, `id_lang`, `name`) VALUES '; $data = array(); foreach ($customizations['labels'][$old_customization_field_id] as $customization_label) { $data = array('id_customization_field' => (int) $customization_field_id, 'id_lang' => (int) $customization_label['id_lang'], 'name' => pSQL($customization_label['name'])); } if (!Db::getInstance()->insert('customization_field_lang', $data)) { return false; } } } return true; }