Example #1
0
 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;
 }