예제 #1
0
function ajaxCheckUniqLogin($vars)
{
    global $db, $config;
    $login = htmlentities($vars['login']);
    $res = array('msg' => '', 'errorCode' => 0);
    do {
        // check for valid login first
        if ($vars['login'] == '') {
            $res['msg'] = sprintf(_SIGNUP_INVALID_USERNAME_2, $config['login_min_length'], $config['login_max_length']);
            $res['errorCode'] = 2;
            break;
        }
        if (strlen($vars['login']) < $config['login_min_length'] || strlen($vars['login']) > $config['login_max_length']) {
            $res['msg'] = sprintf(_SIGNUP_INVALID_USERNAME_2, $config['login_min_length'], $config['login_max_length']);
            $res['errorCode'] = 3;
            break;
        }
        if (!preg_match(getLoginRegex(), $vars['login'])) {
            $res['msg'] = $config['login_disallow_spaces'] ? _SIGNUP_INVALID_USERNAME : _SIGNUP_INVALID_USERNAME_W_SPACES;
            $res['errorCode'] = 4;
            break;
        }
        // check if it is available
        $r = $db->check_uniq_login($vars['login'], $vars['email'], $vars['pass'], 1);
        if (!$r) {
            $res['msg'] = sprintf(_UNIQ_LOGIN_EXSTS_TEXT, htmlentities($login)) . ".<br />" . _UNIQ_LOGIN_EXSTS_TEXT_1 . "<br />" . sprintf(_UNIQ_LOGIN_EXSTS_TEXT_2, "<a href='member.php' target='blank'>", "</a>");
            $res['errorCode'] = 1;
            break;
        } else {
            $res['msg'] = sprintf(_UNIQ_LOGIN_FREE_TEXT, htmlentities($login));
            $res['errorCode'] = 0;
            break;
        }
    } while (false);
    return ajaxResponse($res);
}
예제 #2
0
function check_payment_form()
{
    global $error;
    global $vars;
    global $db;
    global $config;
    //
    if (is_array($vars['product_id'])) {
        if (count($vars['product_id']) <= 0) {
            $error[] = _SIGNUP_PLEASE_SELECT_MEMT;
        }
    } else {
        if (!intval($vars['product_id'])) {
            $error[] = _SIGNUP_PLEASE_SELECT_MEMT;
        }
    }
    if (!strlen($vars['paysys_id'])) {
        $error[] = _SIGNUP_PLEASE_SELECT_PAYSYS;
    }
    if (!strlen($vars['name_f'])) {
        $error[] = _SIGNUP_PLEASE_ENTER_FNAME;
    }
    if (preg_match('/[<>"]/', $vars['name_f'])) {
        $error[] = _SIGNUP_PLEASE_ENTER_FNAME;
    }
    if (!strlen($vars['name_l'])) {
        $error[] = _SIGNUP_PLEASE_ENTER_LNAME;
    }
    if (preg_match('/[<>"]/', $vars['name_l'])) {
        $error[] = _SIGNUP_PLEASE_ENTER_LNAME;
    }
    $preg = getLoginRegex();
    if (!preg_match($preg, $vars['login'])) {
        $error[] = $config['login_disallow_spaces'] ? _SIGNUP_INVALID_USERNAME_W_SPACES : _SIGNUP_INVALID_USERNAME;
    } elseif (strlen($vars['login']) < $config['login_min_length']) {
        $error[] = sprintf(_SIGNUP_INVALID_USERNAME_2, $config['login_min_length']);
    } elseif (!($member_id = $db->check_uniq_login($vars['login'], $vars['email'], $vars['pass0'], 1))) {
        $error[] = sprintf(_SIGNUP_INVALID_USERNAME_3, $vars[login]);
    }
    if (!check_email($vars['email'])) {
        $error[] = _SIGNUP_PLEASE_ENTER_EMAIL;
    } elseif ($config['unique_email'] && $member_id <= 0 && $db->users_find_by_string($vars['email'], 'email', 1)) {
        $error[] = _SIGNUP_INVALID_EMAIL_1 . '<br />' . sprintf(_SIGNUP_INVALID_EMAIL_2, '<a href="member.php">', '</a>', '<br />');
    }
    if (!strlen($vars['pass0'])) {
        $error[] = _SIGNUP_PLEASE_ENTER_PSWD;
    } elseif (strlen($vars['pass0']) < $config['pass_min_length']) {
        $ll = $config[pass_min_length];
        $error[] = sprintf(_SIGNUP_INVALID_PASS_1, $ll);
    }
    if ($vars['pass0'] != $vars['pass1']) {
        $error[] = _SIGNUP_INVALID_PASS_2;
    }
    if ($vars['coupon'] != '' && $config['use_coupons']) {
        $coupon = $db->coupon_get($vars['coupon']);
        if (is_string($coupon)) {
            $error[] = $coupon;
        }
    }
    $error = array_merge($error, plugin_validate_signup_form($vars));
    return !count($error);
}