예제 #1
0
function fields_check_params(&$vars)
{
    $err = array();
    set_date_from_smarty('beg_date', $vars);
    set_date_from_smarty('end_date', $vars);
    if (!count($vars['fields'])) {
        $err[] = "Please select one or more fields to continue";
    }
    settype($vars['max_values'], 'integer');
    if ($vars['max_values'] <= 0) {
        $err[] = "Please enter a valid integer for 'Max Values' field";
    }
    return $err;
}
예제 #2
0
*
* Please direct bug reports,suggestions or feedback to the cgi-central forums.
* http://www.cgi-central.net/forum/
*                                                                          
* aMember PRO is a commercial software. Any distribution is strictly prohibited.
*
*/
include "../config.inc.php";
$t = new_smarty();
include "login.inc.php";
$vars = get_input_vars();
extract($vars, EXTR_OVERWRITE);
if ($clear) {
    $vars = get_input_vars();
    $tt = array();
    set_date_from_smarty('dat', $vars);
    if ($vars['dat'] >= date('Y-m-d')) {
        fatal_error("Please select date before today", 0);
    }
    if ($vars['access_log']) {
        $tt[] = "access_log";
        $db->clear_access_log($vars['dat']);
    }
    if ($vars['admin_log']) {
        $tt[] = "admin_log";
        $db->clear_admin_log($vars['dat']);
    }
    if ($vars['error_log']) {
        $tt[] = "error_log";
        $db->clear_error_log($vars['dat']);
    }
예제 #3
0
}
function get_payments_by_string($vars)
{
    global $db, $t;
    $count = 20;
    list($all_count, $all_amount, $all_tax) = $db->get_payments_c($vars['beg_date'], $vars['end_date'], intval($vars['only_completed']), $vars['list_by'], null, 1, $vars['q'], $vars['q_where']);
    $list = $db->get_payments($vars['beg_date'], $vars['end_date'], intval($vars['only_completed']), $vars['start'], $count, $vars['list_by'], null, 1, $vars['q'], $vars['q_where']);
    return array($all_count, $all_amount, $list, $all_tax);
}
if ($vars['beg_dateDay']) {
    set_date_from_smarty('beg_date', $vars);
} elseif ($vars['beg_date'] == '') {
    $vars['beg_date'] = date('Y-m-d');
}
if ($end_dateDay) {
    set_date_from_smarty('end_date', $vars);
} elseif ($vars['end_date'] == '') {
    $vars['end_date'] = date('Y-m-d');
}
if ($vars['beg_date'] > $vars['end_date']) {
    $s = $vars['beg_date'];
    $vars['beg_date'] = $vars['end_date'];
    $vars['end_date'] = $s;
}
$t->assign('beg_date', $vars['beg_date']);
$t->assign('end_date', $vars['end_date']);
if ($vars['type'] == 'string') {
    list($all_count, $all_amount, $list, $all_tax) = get_payments_by_string($vars);
} else {
    list($all_count, $all_amount, $list, $all_tax) = get_payments_by_date($vars);
}
예제 #4
0
function payment_add()
{
    $vars = $GLOBALS['vars'];
    global $db, $t;
    global $payment_additional_fields, $config;
    foreach ($payment_additional_fields as $f) {
        $fname = $f['name'];
        if ($f['validate_func']) {
            foreach ((array) $f['validate_func'] as $func) {
                if (!function_exists($func)) {
                    fatal_error("Validation function '{$func}' for field: '{$fname}' not defined. Internal error", 0);
                }
                if ($err = $func($vars, $fname)) {
                    fatal_error("Cannot update payment: {$err}", 0);
                }
            }
        }
        $vars['data'][$fname] = $vars[$fname];
        unset($vars[$fname]);
    }
    set_date_from_smarty('begin_date', $vars);
    set_date_from_smarty('expire_date', $vars);
    if ($config['use_tax'] && !$vars['incl_tax']) {
        $vars['amount'] = $vars['amount'] + $vars['tax_amount'];
    }
    $err = $db->add_payment($vars);
    if ($err) {
        fatal_error("Cannot add payment: {$err}");
    }
    admin_log("Payment/subscription record added", 'members', $vars['member_id']);
    $t->assign('link', "users.php?member_id={$vars['member_id']}&action=payments");
    $t->assign('member_id', $vars['member_id']);
    $t->display("admin/user_saved.html");
}
예제 #5
0
function do_export()
{
    global $vars;
    global $db;
    if ($vars['date_check'] == "on") {
        $dt = get_input_vars();
        $start_date = set_date_from_smarty('range_start', $dt);
        $end_date = set_date_from_smarty('range_end', $dt);
    } else {
        $start_date = '0000-00-00';
        $end_date = '2099-12-31';
    }
    $members = array();
    if ($vars['send_file']) {
        header('Cache-Control: maxage=3600');
        header('Pragma: public');
        header("Content-type: application/csv");
        $dat = date('Ymd');
        header("Content-Disposition: attachment; filename=amember-{$dat}.csv");
    } else {
        header("Content-type: text/plain");
    }
    define('REC_LIMIT', 1024);
    if (count($vars['product_name']) > 0) {
        $prod = join(",", $vars['product_name']);
    } else {
        $prod = '';
    }
    foreach ($vars['subscr_type'] as $subscr_type) {
        switch ($subscr_type) {
            case 'any':
                if ($subscr_type == 'any') {
                    $cmpl = 0;
                }
            case 'completed':
                if ($subscr_type == 'completed') {
                    $cmpl = 1;
                }
            case 'not_completed':
                if ($subscr_type == 'not_completed') {
                    $cmpl = -1;
                }
                list($count, $sumx) = $db->get_payments_c($start_date, $end_date, $cmpl, 'add', $prod);
                $used_member_id = array();
                for ($i = 0; $i < $count; $i += REC_LIMIT) {
                    $list1 = $db->get_payments($start_date, $end_date, $cmpl, $i, REC_LIMIT, 'add', $prod);
                    foreach ($list1 as $l) {
                        if ($vars['multi_type'] == 'discard' && $used_member_id[$l['member_id']]++) {
                            continue;
                        }
                        if (!isset($members[$l['member_id']])) {
                            $members[$l['member_id']] = $db->get_user($l['member_id']);
                        }
                        $members[$l['member_id']]['PAYMENTS'][$l['payment_id']] = $l;
                    }
                    print_rows($members);
                    $members = array();
                }
                break;
            case 'active':
                $yesterday = date('Y-m-d', time() - 3600 * 24);
                $count = $db->users_find_by_date_c($yesterday, 'date_range', $start_date, $end_date, $prod);
                for ($i = 0; $i < $count; $i += REC_LIMIT) {
                    $members1 = $db->users_find_by_date($yesterday, 'date_range', $i, REC_LIMIT, $start_date, $end_date, $prod);
                    $dat = date('Y-m-d');
                    foreach ($members1 as $u) {
                        $members[$u['member_id']] = $u;
                        $list = $db->get_user_payments($u['member_id'], 1);
                        foreach ($list as $l) {
                            $tmadd = explode(' ', $l['tm_added']);
                            if ($l['begin_date'] > $dat || $l['expire_date'] < $dat || $tmadd[0] < $start_date || $tmadd[0] > $end_date) {
                                continue;
                            }
                            if (count($vars['product_name']) > 0 && !in_array($l['product_id'], $vars['product_name'])) {
                                continue;
                            }
                            $members[$u['member_id']]['PAYMENTS'][$l['payment_id']] = $l;
                        }
                    }
                    print_rows($members);
                    $members = array();
                }
                break;
            case 'expired':
                $today = date('Y-m-d', time());
                $count = $db->users_find_by_date_c($today, 'expire_date_range', $start_date, $end_date, $prod);
                for ($i = 0; $i < $count; $i += REC_LIMIT) {
                    $members1 = $db->users_find_by_date($today, 'expire_date_range', $i, REC_LIMIT, $start_date, $end_date, $prod);
                    $dat = date('Y-m-d');
                    foreach ($members1 as $u) {
                        $members[$u['member_id']] = $u;
                        $list = $db->get_user_payments($u['member_id'], 1);
                        foreach ($list as $l) {
                            $tmadd = explode(' ', $l['tm_added']);
                            if ($l['begin_date'] > $dat || $l['expire_date'] > $dat || $tmadd[0] < $start_date || $tmadd[0] > $end_date) {
                                continue;
                            }
                            if (count($vars['product_name']) > 0 && !in_array($l['product_id'], $vars['product_name'])) {
                                continue;
                            }
                            $members[$u['member_id']]['PAYMENTS'][$l['payment_id']] = $l;
                        }
                    }
                    print_rows($members);
                    $members = array();
                }
                break;
            case 'expired_users':
                $count = $db->get_users_list_c("%", 2);
                for ($i = 0; $i < $count; $i += REC_LIMIT) {
                    $members1 = $db->get_users_list("%", 2, $i, $REC_LIMIT);
                    foreach ($members1 as $u) {
                        $members[$u['member_id']] = $u;
                    }
                    print_rows($members);
                    $members = array();
                }
                break;
            default:
                fatal_error("Unknown Subscription Type: Please select one", 0);
        }
        if ($subscr_type == 'all') {
            break;
        }
    }
}
예제 #6
0
function income_check_params(&$vars)
{
    set_date_from_smarty('beg_date', $vars);
    set_date_from_smarty('end_date', $vars);
    return array();
}
예제 #7
0
function save_batch()
{
    global $db, $t, $vars;
    // validate first
    $error = array();
    if ($vars['use_count'] <= 0) {
        $error[] = 'Please enter numeric Coupons Usage Count';
    }
    if ($vars['member_use_count'] <= 0) {
        $error[] = 'Please enter numeric Member Coupons Usage Count';
    }
    if ($vars['discount_v'] <= 0) {
        $error[] = 'Please enter numeric discount value';
    }
    if ($error) {
        $t->assign('error', $error);
        edit_batch();
        return 0;
    }
    set_date_from_smarty('begin_date', $vars);
    set_date_from_smarty('expire_date', $vars);
    $vars['discount'] = trim("{$vars['discount_v']} {$vars['discount_t']}");
    if ($vars['disable_date']) {
        unset($vars['begin_date']);
        unset($vars['expire_date']);
    }
    admin_log("Coupon batch changed", "coupons", $vars['batch_id']);
    $db->coupons_batch_edit($vars['batch_id'], $vars);
    view_batch();
}