function display_form() { $t = new_smarty(); $t->display('admin/header.inc.html'); if (!$_POST[date1]) { $_POST[date1] = date('Y-m-d'); } if (!$_POST[date2]) { $_POST[date2] = date('Y-m-d'); } foreach (get_paysystems_list() as $ps) { $sel = $ps['paysys_id'] == $_POST[paysys_id] ? 'selected' : ''; $options .= "<option value=" . $ps['paysys_id'] . " {$sel}>" . $ps['title'] . '</option>'; } print <<<CUT <h1>Run CC Rebills</h1> <form method=post> Start Date (format yyyy-mm-dd): <input type=text name=date1 size=14 value="{$_POST['date1']}"/> <br /> End Date (format yyyy-mm-dd): <input type=text name=date2 size=14 value="{$_POST['date2']}" /> <br /> Payment System : <select name=paysys_id><option value=''>Choose payment system</option> {$options} </select><br /> <input type=submit value='Run Rebills'> <i>Dangerous! Use it at your own risk</i> </form> CUT; $t->display('admin/footer.inc.html'); }
function display_form() { global $t, $db; $fields_list = array(); for ($i = 0; $i < 16; $i++) { $fields_list['FIELD-' . $i] = "Field " . ($i + 1); } $t->assign('fields', $fields_list); $t->assign('fields_gen', array('GENERATE' => 'Generate') + $fields_list); $t->assign('fields_gen_fixed', array('GENERATE' => 'Generate', 'FIXED' => 'Fixed') + $fields_list); $t->assign('fields_emp', array('' => '-- Please select --') + $fields_list); $products = array(); foreach ($db->get_products_list() as $p) { $products[$p['product_id']] = $p['title']; } $t->assign('fields_prod', array("" => "-- Please select --", "EMPTY" => "Don't add subscription") + $products + $fields_list); $t->assign('fields_emp_fixed', array('' => '-- Please select --', 'FIXED' => 'Fixed - please enter') + $fields_list); $ps_list = array(); foreach (get_paysystems_list() as $k => $ps) { $ps_list[$ps['paysys_id']] = $ps['title']; } $t->assign('fields_ps', array('' => '-- Please select --') + $ps_list + $fields_list); global $member_additional_fields, $input_fields; $t->assign('member_additional_fields', $member_additional_fields); $t->display('admin/import.html'); }
} } elseif ($v['price_group'] < 0) { unset($products_to_renew[$k]); } elseif (!check_renewal_allowed($v, $products_active)) { unset($products_to_renew[$k]); } if ($err = check_product_requirements(array($v['product_id']), get_product_requirements_for_member($_amember_id))) { unset($products_to_renew[$k]); } if ($products_to_renew[$k] && $products_to_renew[$k]['terms'] == '') { $pr =& new Product($products_to_renew[$k]); $products_to_renew[$k]['terms'] = $pr->getSubscriptionTerms(); } } $t->assign('products_to_renew', $products_to_renew); $paysystems = get_paysystems_list(); $pp = array(); foreach ($paysystems as $p) { if ($p['public']) { $pp[$p['paysys_id']] = $p['title']; } } $t->assign('paysystems', $pp); $pp1 = $pp; //remove free paysystem from select if (count($pp1) > 1) { foreach ($pp1 as $k => $p) { if ($k == 'free') { unset($pp1[$k]); } }
$db->config_set('smtp_security', $db->escape($vars['smtp_security']), 0); $db->config_set('sendmail_path', $db->escape($vars['sendmail_path']), 0); $db->config_set('test_email', $db->escape($vars['test_email']), 0); } add_config_field('admin_email', 'Admin Email', 'text', "will be used to send email notifications to admin\n ", 'E-Mail', 'validate_email_address', '', '', array('size' => 50)); add_config_field('admin_email_from', 'Outgoing Email Address', 'text', "will be used as From: address for sending e-mail messages<br />\n to customers. If empty, 'Admin EMail' will be used for this goal", 'E-Mail', 'validate_email_address', '', '', array('size' => 50)); add_config_field('admin_email_name', 'E-Mail Sender Name', 'text', "enter name of sender. It will be displayed for all messages<br />\n that aMember sends", 'E-Mail', '', '', '', array('size' => 40)); add_config_field('##19', 'E-Mail System Configuration', 'header', '', 'E-Mail'); add_config_field('email_methods', 'Email send method', 'text', "PLEASE DO NOT CHANGE IT<br />if emailing from aMember already works", 'E-Mail', '', 'email_method_get', 'email_method_set', array()); add_config_field('##10', 'Messages to customer before signup', 'header', '', 'E-Mail'); add_config_field('verify_email', 'Verify E-Mail Address On Signup', 'select', "verify email address entered by customer,<br />\n aMember will send email to<br />\n specified email and user will be able to continue signup<br />\n only after clicking a link in the email message", 'E-Mail', '', 'email_checkbox_get', '', array()); add_config_field('verify_email_profile', 'Verfiy E-Mail Address on Profile', 'select', "verify email address entered by customer on Profile page,<br />\n aMember will send email to\n specified email address. <br/>User will have to click link from message <br/>in order to approve email change.", 'E-Mail', '', 'email_checkbox_get', '', array()); add_config_field('##11', 'Messages to customer after signup', 'header', '', 'E-Mail'); if (!is_lite()) { $pp = array('' => '*** Disabled (default) ***'); foreach (get_paysystems_list() as $p) { $pp[$p['paysys_id']] = $p['title']; } add_config_field('send_pending_email', 'Send Pending E-Mail', 'multi_select', "send email to user when he does payment<br />\n in aMember (and it is not completed yet). It is suitable<br />\n ONLY FOR OFFLINE payment methods to keep reminder for customer<br />\n how to make payment. This email comes to user IMMEDIATELY<br />\n after clicking Signup button<br />\n ", 'E-Mail', '', 'email_select_get', '', array('store_type' => 1, 'options' => $pp)); add_config_field('send_pending_admin', 'Send Pending E-Mail to Admin', 'multi_select', "send email to admin when user creates payment<br />\n in aMember (and it is not completed yet). It is suitable<br />\n ONLY FOR OFFLINE payment methods so admin may contact customers<br />\n This email comes to user IMMEDIATELY after clicking Signup button<br />\n prior any actual payment<br />\n ", 'E-Mail', '', 'email_select_get', '', array('store_type' => 1, 'options' => $pp)); add_config_field('##12', 'Not-Completed Payment Notifications', 'header', '', 'E-Mail'); add_config_field('mail_not_completed', 'Enable "Not-Completed Payment" Notification', 'select', "send email to user when his subscription is pending<br />\n and no completed subscriptions created for this customer yet", 'E-Mail', '', 'email_checkbox_days_get', '', array('before_text' => "number of days when above notification must be send. <br />\n <i>1</i> means 1 day after payment<br />\n <i>2</i> means 2 days after payment<br/>\n ")); } add_config_field('##13', 'Messages to customer after payment', 'header', '', 'E-Mail'); add_config_field('send_signup_mail', 'Send Signup E-Mail', 'select', "send email to user when FIRST\n <br />subscripton is completed", 'E-Mail', '', 'email_checkbox_get', '', array('options' => array(1 => 'Yes', 0 => 'No'))); add_config_field('send_payment_mail', 'E-Mail Payment Receipt to user', 'select', "send email to customer every time when payment is finished<br />", 'E-Mail', '', 'email_checkbox_get', '', array()); add_config_field('send_pdf_invoice', 'PDF invoice', 'checkbox', "attach invoice file (.pdf) to Payment Receipt email", 'E-Mail', '', '', ''); add_config_field('invoice_contacts', 'Invoice Contact information', 'textarea', "will be include to PDF invoice above", 'E-Mail', '', '', '', array('rows' => 9)); add_config_field('send_payment_admin', 'Admin Payment Notifications', 'select', "send email to admin when subscription\n completed", 'E-Mail', '', 'email_checkbox_get', '', array()); add_config_field('##14', 'Messages to customer after subscription expiration', 'header', '', 'E-Mail'); add_config_field('mail_expire', 'Enable Expire Notification', 'select', "send email to user when his subscription expires<br />\n email will not be sent for products with recurring billing", 'E-Mail', '', 'email_checkbox_days_get', '', array('before_text' => "Enter number of days before (example <em>1</em>)<br/>\n or after expiration (for example <em>-2</em>)<br/>\n when expiration message will be sent<br/>\n There can be comma-separated list of values<br/>\n "));
function display_payments_form() { global $member_id; global $db, $t, $config; if ($_GET['cancel_recurring'] > 0) { $p = $db->get_payment($_GET['cancel_recurring']); if (!$p) { die('Cannot find payment to cancel recurring. internal error'); } $p['data']['CANCELLED'] = 1; $p['data']['CANCELLED_AT'] = strftime($config['time_format'], time()); $db->update_payment($p['payment_id'], $p); admin_log("Subscription cancelled", 'payments', $p['payment_id']); } if ($_GET['restart_recurring'] > 0) { $p = $db->get_payment($_GET['restart_recurring']); if (!$p) { die('Cannot find payment to restart recurring. internal error'); } $p['data']['CANCELLED'] = 0; $p['data']['CANCELLED_AT'] = ""; $db->update_payment($p['payment_id'], $p); admin_log("Subscription restarted", 'payments', $p['payment_id']); } $products =& $db->get_products_list(); $pp = array(); foreach ($products as $p) { $pp[$p['product_id']] = $p['title']; } $t->assign('products', $pp); $t->assign('member_id', $member_id); $member = $db->get_user($member_id); $payments =& $db->get_user_payments(intval($member_id)); foreach ($payments as $k => $p) { $payments[$k]['items_count'] = count($p['data'][0]['BASKET_PRODUCTS']); /** Following is a dirty hack to show cancel link in admin cp */ if ($payments[$k]['expire_date'] >= date('Y-m-d')) { $paysys = get_paysystem($p['paysys_id']); $product = $db->get_product($p['product_id']); if ($paysys['recurring'] && ($pay_plugin =& instantiate_plugin('payment', $p['paysys_id'])) && $product['is_recurring'] && method_exists($pay_plugin, 'get_cancel_link')) { $l = $pay_plugin->get_cancel_link($p['payment_id']); if (preg_match('|cc.php\\?action=cancel_recurring|', $l, $regs)) { $u = $_SERVER['PHP_SELF'] . "?member_id={$member_id}&action=payments&" . 'cancel_recurring=' . $p['payment_id']; $payments[$k]['cancel_url'] = $u; } if ($member['data']['cc'] && $config['enable_resubscribe']) { $r = $_SERVER['PHP_SELF'] . "?member_id={$member_id}&action=payments&" . 'restart_recurring=' . $p['payment_id']; $payments[$k]['restart_url'] = $r; } } } } $t->assign('payments', $payments); $paysystems = get_paysystems_list(); $pp = array(); foreach ($paysystems as $p) { $pp[$p['paysys_id']] = $p['title']; } $t->assign('paysystems', $pp); global $payment_additional_fields; $t->assign("u", $db->get_user($member_id)); $t->assign('payment_additional_fields', $payment_additional_fields); $t->display('admin/user_payments.html'); }
function show_payment_form() { global $t; global $error; global $db, $config, $vars; global $signup_scope_allowed; $t->assign('error', $error); $products = $db->get_products_list(); if (!count($products)) { fatal_error(_SIGNUP_SCRIPT_ERROR); } foreach ($products as $k => $v) { if (!in_array($v['scope'], $signup_scope_allowed)) { unset($products[$k]); } if (is_array($vars['price_group'])) { if (!array_intersect($vars['price_group'], split(',', $v['price_group']))) { unset($products[$k]); } } elseif ($vars['price_group']) { if (!in_array($vars['price_group'], split(',', $v['price_group']))) { unset($products[$k]); } } elseif ($v['price_group'] < 0) { unset($products[$k]); } if ($products[$k] && $products[$k]['terms'] == '') { $pr =& new Product($products[$k]); $products[$k]['terms'] = $pr->getSubscriptionTerms(); } } $paysystems = get_paysystems_list(); //remove paysystems such as manual foreach ($paysystems as $k => $p) { if (!$p['public']) { unset($paysystems[$k]); } } //remove free paysystem from select if (count($paysystems) > 1) { foreach ($paysystems as $k => $p) { if ($p['paysys_id'] == 'free') { unset($paysystems[$k]); } } } plugin_fill_in_signup_form($_REQUEST); plugin_fill_in_signup_form($vars); // Fill additional fields $t->assign('products', $products); $t->assign('paysystems', $paysystems); $price_group = $vars['price_group'] ? explode(',', $vars['price_group']) : array(); $t->assign('additional_fields_html', get_additional_fields_html($vars, 'signup', 0, $price_group)); if ($vars['country']) { $t->assign('state_options', db_getStatesForCountry($vars['country'], 1)); } $is_affiliate = '0'; $newsletter_threads = $db->get_signup_threads_c($is_affiliate); $t->assign('newsletter_threads', $newsletter_threads); $t->display($config['amember_signup_template'] ? $config['amember_signup_template'] : 'signup.html'); }
function import_select_fields($file_for_import, $delim, $first_row) { global $t, $db, $vars, $input_fields, $fixed_input_fields, $member_additional_fields; $check_fields_array = array_merge($input_fields, $fixed_input_fields); foreach ($check_fields_array as $field_name) { $predefined_fields[$field_name] = $_SESSION['predefined_fields'][$field_name]; } $fields_max = count($first_row); for ($i = 0; $i < $fields_max; $i++) { $fields_list['FIELD-' . $i] = $first_row[$i]; } $t->assign('fields', $fields_list); $t->assign('fields_gen', array('GENERATE' => 'Generate', '' => '-------------------') + $fields_list); $t->assign('fields_gen_fixed', array('GENERATE' => 'Generate', 'FIXED' => 'Fixed', '' => '-------------------') + $fields_list); $t->assign('fields_emp', array('' => '-- Please select --') + $fields_list); $products = array(); foreach ($db->get_products_list() as $p) { $products[$p['product_id']] = $p['title']; } $t->assign('fields_prod', array("" => "-- Please select --", "EMPTY" => "Don't add subscription") + $products + array("-" => "-------------------") + $fields_list); $t->assign('fields_emp_fixed', array('' => '-- Please select --', 'FIXED' => 'Fixed - please enter', '-' => '-------------------') + $fields_list); $ps_list = array(); foreach (get_paysystems_list() as $k => $ps) { $ps_list[$ps['paysys_id']] = $ps['title']; } $t->assign('fields_ps', array('' => '-- Please select --') + $ps_list + array('-' => '-------------------') + $fields_list); $title = "Import. Step 2 of 3 : Select fields"; $t->assign('title', $title); $t->assign('delim', $delim); $t->assign('file_for_import', $file_for_import); $t->assign('predefined_fields', $predefined_fields); $t->assign('member_additional_fields', $member_additional_fields); $t->display('admin/import.html'); exit; }