diff --git a/uc_invite_discount.module b/uc_invite_discount.module index ca6cb88..67f0470 100644 --- a/uc_invite_discount.module +++ b/uc_invite_discount.module @@ -12,19 +12,16 @@ /** * Implementation of hook_menu(). */ -function uc_invite_discount_menu($may_cache) { +function uc_invite_discount_menu() { $items = array(); - if ($may_cache) { - $items[] = array( -'path' => 'admin/store/settings/invite_discount', -'title' => t('Invite Discount'), -'access' => user_access('administer store'), -'description' => t('Invite Discount Settings'), -'type' => MENU_NORMAL_ITEM, -'callback' => 'drupal_get_form', -'callback arguments' => 'uc_invite_discount_admin_settings', + $items['admin/store/settings/invite_discount'] = array( + 'title' => 'Invite Discount', + 'description' => 'Grant discount coupons to invitor when invitee make purchase', + 'page callback' => 'drupal_get_form', + 'page arguments' => array('uc_invite_discount_admin_settings'), + 'access arguments' => array('administer store'), + 'type' => MENU_NORMAL_ITEM, ); - } return $items; } @@ -85,7 +82,7 @@ function uc_invite_discount_admin_settings() $form['settings']['name_help']['help'] = array( '#value' => theme('token_help', 'uc_invite_discount'), ); - + $form['settings']['code_pattern'] = array( '#type' => 'textfield', '#title' => t('Coupon Code Pattern'), @@ -105,7 +102,7 @@ function uc_invite_discount_admin_settings() $form['settings']['code_help']['help'] = array( '#value' => theme('token_help', 'uc_invite_discount'), ); - + $form['settings']['validity_period'] = array( '#type' => 'textfield', '#title' => t('Validity Period'), @@ -256,7 +253,7 @@ function uc_invite_discount_admin_settings() $form['admin_notify']['code_help']['help'] = array( '#value' => theme('token_help', 'uc_invite_discount'), ); - + $form['invitor_notify'] = array( '#type' => 'fieldset', '#title' => t('Invitor Notification'), @@ -295,49 +292,54 @@ function uc_invite_discount_admin_settings() '#value' => theme('token_help', 'uc_invite_discount'), ); - return system_settings_form($form); + $form['submit'] = array( + '#type' => 'submit', + '#value' => t('Save'), + ); + return $form; } -function uc_invite_discount_admin_settings_validate($form_id, $form_values) +function uc_invite_discount_admin_settings_validate($form, &$form_state) { - if (!is_numeric($form_values['validity_period']) && $form_values['validity_period'] >= 0) + if (!is_numeric($form_state['values']['validity_period']) && $form_state['values']['validity_period'] >= 0) { form_set_error('validity_period', t('You must enter a value bigger than 0 for the validity period.')); } - if($form_values['admin_custom_mail'] !='') + if($form_state['admin_custom_mail'] !='') { - if(!valid_email_address($form_values['admin_custom_mail'])) + if(!valid_email_address($form_state['values']['admin_custom_mail'])) { form_set_error('admin_custom_mail', t('You must enter a valid email adress.')); } } } -function uc_invite_discount_admin_settings_submit($form_id, $form_values) +function uc_invite_discount_admin_settings_submit($form, &$form_state) { - if ($form_values['submit'] == $form_values['op']) + + if ($form_state['values']['submit'] == $form_state['values']['op']) { - variable_set('uc_invite_discount_name_pattern', $form_values['name_pattern']); - variable_set('uc_invite_discount_code_pattern', $form_values['code_pattern']); - variable_set('uc_invite_discount_validity_period', $form_values['validity_period']); - variable_set('uc_invite_discount_type', $form_values['type']); - variable_set('uc_invite_discount_value', $form_values['value']); - variable_set('uc_invite_discount_minimum_order', $form_values['minimum_order']); - variable_set('uc_invite_discount_minimum_usage_order', $form_values['minimum_usage_order']); - variable_set('uc_invite_discount_admin_notify_setting', $form_values['admin_notify_setting']); - variable_set('uc_invite_discount_admin_custom_mail', $form_values['admin_custom_mail']); - variable_set('uc_invite_discount_admin_notify_subject', $form_values['admin_notify_subject']); - variable_set('uc_invite_discount_admin_notify_message', $form_values['admin_notify_message']); - variable_set('uc_invite_discount_invitor_notify_setting', $form_values['invitor_notify_setting']); - variable_set('uc_invite_discount_invitor_notify_subject', $form_values['invitor_notify_subject']); - variable_set('uc_invite_discount_invitor_notify_message', $form_values['invitor_notify_message']); - variable_set('uc_invite_discount_roles', serialize($form_values['roles'])); - variable_set('uc_invite_discount_denied_roles', serialize($form_values['denied_roles'])); + variable_set('uc_invite_discount_name_pattern', $form_state['values']['name_pattern']); + variable_set('uc_invite_discount_code_pattern', $form_state['values']['code_pattern']); + variable_set('uc_invite_discount_validity_period', $form_state['values']['validity_period']); + variable_set('uc_invite_discount_type', $form_state['values']['type']); + variable_set('uc_invite_discount_value', $form_state['values']['value']); + variable_set('uc_invite_discount_minimum_order', $form_state['values']['minimum_order']); + variable_set('uc_invite_discount_minimum_usage_order', $form_state['values']['minimum_usage_order']); + variable_set('uc_invite_discount_admin_notify_setting', $form_state['values']['admin_notify_setting']); + variable_set('uc_invite_discount_admin_custom_mail', $form_state['values']['admin_custom_mail']); + variable_set('uc_invite_discount_admin_notify_subject', $form_state['values']['admin_notify_subject']); + variable_set('uc_invite_discount_admin_notify_message', $form_state['values']['admin_notify_message']); + variable_set('uc_invite_discount_invitor_notify_setting', $form_state['values']['invitor_notify_setting']); + variable_set('uc_invite_discount_invitor_notify_subject', $form_state['values']['invitor_notify_subject']); + variable_set('uc_invite_discount_invitor_notify_message', $form_state['values']['invitor_notify_message']); + variable_set('uc_invite_discount_roles', serialize($form_state['values']['roles'])); + variable_set('uc_invite_discount_denied_roles', serialize($form_state['values']['denied_roles'])); drupal_set_message(t('Configuration saved.')); } - else if ($form_values['reset'] == $form_values['op']) + else if ($$form_state['values']['reset'] == $form_state['values']['op']) { variable_del('uc_invite_discount_name_pattern'); variable_del('uc_invite_discount_code_pattern'); @@ -397,9 +399,9 @@ function uc_invite_discount_order($op, $order, $status) $denied = TRUE; } } - + if(!$denied) - { + { $token_filters = array('global' => NULL, 'user' => $user, 'order' => $order, 'uc_invite_discount' => $order); $code = uc_invite_discount_coupon_code($token_filters, $user, $order); $name = uc_invite_discount_coupon_name($token_filters, $user, $order); @@ -409,7 +411,7 @@ function uc_invite_discount_order($op, $order, $status) $type = variable_get('uc_invite_discount_type','price'); if($type == 'percentage') - { + { $calculated_value = ($value*$order->order_total)/100; $value = $calculated_value; $type = 'price'; @@ -427,23 +429,23 @@ function uc_invite_discount_order($op, $order, $status) foreach ($roles as $role) { if ($role) { - $data['roles'][] = $role; + $data['roles'][] = $role; } } $data['wholesale'] = 1; $result = db_query("INSERT INTO {uc_coupons} (name, code, value, type, status, valid_until, max_uses, minimum_order, data) VALUES ('%s', '%s', %f, '%s', %d, %d, %d, %d, '%s')", $name, $code, $value, $type, $status, $valid_until, $max_uses, $minimum_usage_order, serialize($data)); - + if($result) { - + if(variable_get('uc_invite_discount_admin_notify_setting',FALSE)) - { + { $to = uc_store_email_from(); if(valid_email_address(variable_get('uc_invite_discount_admin_custom_mail',''))) { - $to = variable_get('uc_invite_discount_admin_custom_mail',''); + $to = variable_get('uc_invite_discount_admin_custom_mail',''); } $subject = variable_get('uc_invite_discount_admin_notify_subject',''); $body = variable_get('uc_invite_discount_admin_notify_message', ''); @@ -459,7 +461,7 @@ function uc_invite_discount_order($op, $order, $status) } if(variable_get('uc_invite_discount_invitor_notify_setting',TRUE)) - { + { $to = $invitor->mail; $subject = variable_get('uc_invite_discount_invitor_notify_subject',''); $body = variable_get('uc_invite_discount_invitor_notify_message', ''); @@ -532,7 +534,7 @@ function uc_invite_discount_token_values($type, $object = NULL) $calculated_value = ($value*$order->order_total)/100; $value = $calculated_value; } - + $token_filters = array('global' => NULL, 'user' => $user, 'order' => $order, 'uc_invite_discount' => $order); $coupon_name = uc_invite_discount_coupon_name($token_filters, $user, $order); $coupon_code = uc_invite_discount_coupon_code($token_filters, $user, $order);