--- signup_pay.module 2008-05-21 06:22:49.000000000 +0930
+++ /projects/trellon/pcc/sites/all/modules/signup_pay/signup_pay.module 2008-06-01 17:16:48.000000000 +0930
@@ -625,8 +625,17 @@
if ($node->signup_pay_enabled) {
$default_rid = signup_pay_find_user_role($user);
$pay_roles = signup_pay_get_node_pay_roles($form['nid']['#value']);
+ $amount = $pay_roles[$default_rid]['amount'];
+
+ // Invoke all adjustment modules, allows for multiple adjustments
+ $hook = 'signup_pay_adjust';
+ foreach (module_implements($hook) as $module) {
+ $function = $module .'_'. $hook;
+ $amount = call_user_func_array($function, array($node, $user, $amount));
+ }
+
$form['collapse']['signup_user_form']['payment'] = array(
- '#value' => t('
The price you pay: %amount
', array('%amount' => _signup_pay_format_amount($pay_roles[$default_rid]['amount'],$pay_roles[$default_rid]['currency']))),
+ '#value' => t('The price you pay: %amount
', array('%amount' => _signup_pay_format_amount($amount,$pay_roles[$default_rid]['currency']))),
);
$form['collapse']['signup_user_form']['method'] = array(
'#type' => 'radios',
@@ -811,6 +820,13 @@
$amount = $pay_roles[$signup_rid]['amount'] ? $pay_roles[$signup_rid]['amount'] : variable_get(SIGNUP_PAY_AMOUNT, SIGNUP_PAY_DEFAULT_AMOUNT);
$currency = $pay_roles[$signup_rid]['currency'] ? $pay_roles[$signup_rid]['currency'] : variable_get(SIGNUP_PAY_CURRENCY, SIGNUP_PAY_DEFAULT_CURRENCY);
+ // Invoke all adjustment modules, allows for multiple adjustments
+ $hook = 'signup_pay_adjust';
+ foreach (module_implements($hook) as $module) {
+ $function = $module .'_'. $hook;
+ $amount = call_user_func_array($function, array($node, $user, $amount));
+ }
+
$url = simple_paypal_get_url();
$form['#action'] = $url;