$param1 = $row['name']; break; case 1: $request_attr_2 = $row['id_attribute']; break; case 2: $request_attr_3 = $row['id_attribute']; break; } $counter++; } } // Get price changes $more_attributes_price = 0; if (count($more_attributes)) { $more_attributes_price = get_moreAttributesPrice($more_attributes, $request_product); } // Get the group reduction $group_reduction = 1; $group_id = 0; if (isset($cookie->id_customer)) { $group_id = Customer::getDefaultGroupId($cookie->id_customer); $groupReduction = GroupReduction::getValueForProduct($request_product, $group_id); if (!$groupReduction) { $group_reduction -= floatval(Group::getReduction($cookie->id_customer)) / 100; } else { $group_reduction -= floatval($groupReduction); } } $more_attributes_price *= $group_reduction; // If other return only the attributes price
$productGroupReduction = GroupReduction::getValueForProduct($idProduct, $groupId); if (!$productGroupReduction) { $groupReduction -= floatval(Group::getReduction((int) $cookie->id_customer)) / 100; } else { $groupReduction -= floatval($productGroupReduction); } } // Get the product price with attributes but the multidimensionnals attributes (including taxes) $more_tmp = array(); $more_attributes_price = 0; $more_attributes = DB::getInstance()->ExecuteS('SELECT pac.id_attribute FROM ' . _DB_PREFIX_ . 'attribute_lang AS lang LEFT JOIN ' . _DB_PREFIX_ . 'product_attribute_combination AS pac ON lang.id_attribute = pac.id_attribute' . ' LEFT JOIN ' . _DB_PREFIX_ . 'attribute AS attribute ON lang.id_attribute = attribute.id_attribute LEFT JOIN ' . _DB_PREFIX_ . 'product_attribute AS pa ON pac.id_product_attribute = pa.id_product_attribute' . ' WHERE pa.id_product = ' . $idProduct . ' AND pa.id_product_attribute = ' . $idProductAttribute . ' AND lang.id_lang = ' . (int) $cookie->id_lang . ' AND attribute.id_attribute_group NOT IN (' . implode(', ', $dimensions) . ')'); if (count($more_attributes)) { foreach ($more_attributes as $more_attribute) { $more_tmp[] = $more_attribute['id_attribute']; } $more_attributes_price = get_moreAttributesPrice($more_tmp, $idProduct); } $product_price = $base_price + $more_attributes_price * $groupReduction * $taxes; // Get the dimensions $dimensions_result = DB::getInstance()->ExecuteS('SELECT attribute.id_attribute_group, lang.name FROM ' . _DB_PREFIX_ . 'attribute_lang AS lang LEFT JOIN ' . _DB_PREFIX_ . 'product_attribute_combination ' . 'AS pac ON lang.id_attribute = pac.id_attribute LEFT JOIN ' . _DB_PREFIX_ . 'attribute AS attribute ON lang.id_attribute = attribute.id_attribute LEFT JOIN ' . _DB_PREFIX_ . 'product_attribute ' . 'AS pa ON pac.id_product_attribute = pa.id_product_attribute WHERE pa.id_product = ' . $idProduct . ' AND pa.id_product_attribute = ' . $idProductAttribute . ' AND lang.id_lang = ' . (int) $cookie->id_lang . ' AND attribute.id_attribute_group IN (' . implode(', ', $dimensions) . ')'); // Set the surface $real_dimensions = array(); $counter = 2; $surface = 1; foreach ($dimensions_result as $dimension) { $scale_value = get_scale($scales[$dimension['id_attribute_group']]); // Update width or height depending on steps $step_size = floatval($dimension['name']); if ($dimension['id_attribute_group'] == Configuration::get('AIMD_FIRST_DIMENSION_ID')) { $counter = 0; $height_steps = explode(',', Configuration::get('AIMD_HEIGHT_STEPS'));