Ejemplo n.º 1
0
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');
}
Ejemplo n.º 2
0
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');
}
Ejemplo n.º 3
0
        }
    } 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]);
        }
    }
Ejemplo n.º 4
0
    $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        "));
Ejemplo n.º 5
0
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');
}
Ejemplo n.º 6
0
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');
}
Ejemplo n.º 7
0
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;
}