I managed to get the one i installed into OSC MS2 working with my 6.2 pro (patch 10).
I haven't had a chance to test sub-products with this yet though.
Insert includes/functions/gneral.php
[php]/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
// BOF AAP V1.0
// actual attribute price adjustment (used with no price prefix only)
function tep_adjust_price($attribute, $price) {
global $currencies;
$adjustment = ($attribute-$price);
return $adjustment;
}
//EOF AAP V1.0
/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
[/php]
Replace admin/attributes.php line 29 from:
[php]
$price_prefix = (tep_not_null($HTTP_POST_VARS['values_price_prefix'][$option_id][$value_id]) && (tep_db_prepare_input($HTTP_POST_VARS['values_price_prefix'][$option_id][$value_id]) == '-')) ? '-' : '+';
[/php]
to:
[php]
$price_prefix = $HTTP_POST_VARS['values_price_prefix'][$option_id][$value_id];
[/php]
Replace includes/classes/shopping_cart.php line 326-330, 334-338, 343-347 from:
[php]
if ($attribute_price['price_prefix'] == '+') {
$this->total += $qty * tep_add_tax($attribute_price['price'], $products_tax);
} else {
$this->total -= $qty * tep_add_tax($attribute_price['price'], $products_tax);
}
[/php]
to:
[php]
if ($attribute_price['price_prefix'] == '+') {
$this->total += $qty * tep_add_tax($attribute_price['price'], $products_tax);
} elseif ($attribute_price['price_prefix'] == '-') {
$this->total -= $qty * tep_add_tax($attribute_price['price'], $products_tax);
} else {
if ($attribute_price['price'] > '0') {
$this->total += $qty * tep_add_tax(tep_adjust_price($attribute_price['price'], $products_price), $products_tax);
}
}
[/php]
Insert the following just before [php]if ( !is_array($value) ) {[/php] on line 372:
[php]
$products_query = tep_db_query("select products_price from " . TABLE_PRODUCTS . " where products_id = '" . (int)$products_id . "'");
$products_stuff = tep_db_fetch_array($products_query);
$products_price = $products_stuff['products_price'];
[/php]
Replace lines 375-379, 383-387, 392-396 from:
[php]
if ($attribute_price['price_prefix'] == '+') {
$attributes_price += $attribute_price['price'];
} else {
$attributes_price -= $attribute_price['price'];
}
[/php]
to:
[php]
if ($attribute_price['price_prefix'] == '+') {
$attributes_price += $attribute_price['price'];
} elseif ($attribute_price['price_prefix'] == '-') {
$attributes_price -= $attribute_price['price'];
} else {
$attributes_price += tep_adjust_price($attribute_price['price'], $products_price);
}
[/php]
I used this contribution for OSc as the basis for these changes:
Actual Attribute Price V1.0 - Released 12/9/2003
------------------------------------------------
Copyright (c) 2003 Jason West
http://www.moto-works.com
Released under the GNU General Public License