function op_adduser() { $msg = ''; $reg_type = !empty($_POST['reg_type']) ? $_POST['reg_type'] : ''; $_POST['sex'] = isset($_POST['sex']) ? $_POST['sex'] : 0; $pattern = "/^[a-zA-Z][a-zA-Z0-9_]{1,13}[a-zA-Z0-9]\$/i"; $pattern2 = "/^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+\$/"; if ($reg_type == 'email') { if (empty($_POST['email']) || !preg_match($pattern2, $_POST['email'])) { $msg = array('s' => 400, 'm' => lang('insertemail'), 'd' => ''); exit(json_output($msg)); } } if (strlen($_POST['password']) < 6) { $msg = array('s' => 400, 'm' => lang('pwdrule'), 'd' => ''); exit(json_output($msg)); } $_POST['nickname'] = trim($_POST['nickname']); $nickname_len = mb_strlen($_POST['nickname'], "UTF-8"); if (empty($_POST['nickname']) || $nickname_len < 2 || $nickname_len > 16) { $msg = array('s' => 400, 'm' => lang('nicknamerule'), 'd' => ''); exit(json_output($msg)); } $_POST['sex'] = intval($_POST['sex']); if (empty($_POST['sex'])) { $msg = array('s' => 400, 'm' => lang('sexrule'), 'd' => ''); exit(json_output($msg)); } include_once "PassportModel.class.php"; $passmod = new PassportModel(); if ($passmod->checkNickname($_POST['nickname'])) { $msg = array('s' => 400, 'm' => lang('nicknameexist'), 'd' => ''); exit(json_output($msg)); } if ($reg_type == 'email') { if ($passmod->checkUser($_POST['email']) || $passmod->isBlockword($_POST['email'])) { $msg = lang('userexist'); $msg = array('s' => 400, 'm' => lang('userexist'), 'd' => ''); exit(json_output($msg)); } $user['user_email'] = $_POST['email']; $user['user'] = $_POST['email']; $user['user_question'] = ''; $user['user_answer'] = ''; } $user['user_password'] = PassportModel::encryptpwd($_POST['password'], $user['user']); $user['user_nickname'] = htmlspecialchars($_POST['nickname']); $user['user_sex'] = $_POST['sex']; $user['user_reg_ip'] = getip(); // 1. create db user $row = $passmod->createNewUser($user); if ($row !== false) { $msg = array('s' => 200, 'm' => 'ok', 'd' => $GLOBALS['gSiteInfo']['www_site_url'] . "/admin.php/user/defaults"); exit(json_output($msg)); } }
function op_saveuser() { $msg = ''; $reg_type = !empty($_POST['reg_type']) ? $_POST['reg_type'] : ''; $forward = !empty($_POST['forward']) ? $_POST['forward'] : ''; $_POST['sex'] = isset($_POST['sex']) ? $_POST['sex'] : 0; $_SESSION['nickname'] = $_POST['nickname']; $_SESSION['sex'] = $_POST['sex']; $pattern = "/^[a-zA-Z][a-zA-Z0-9_]{1,13}[a-zA-Z0-9]\$/i"; $pattern2 = "/^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+\$/"; if (!isset($_SESSION['validatecode']) || $_POST['code'] != 'back' && strtolower($_POST['code']) != strtolower($_SESSION['validatecode'])) { $msg = array('s' => 400, 'm' => lang('codeinvalid'), 'd' => ''); exit(json_output($msg)); } if ($reg_type == 'username') { $_POST['username'] = trim($_POST['username']); if (empty($_POST['username']) || !preg_match($pattern, $_POST['username'])) { $msg = array('s' => 400, 'm' => lang('usernamerule'), 'd' => ''); exit(json_output($msg)); } $_SESSION['username'] = $_POST['username']; } if ($reg_type == 'email') { if (empty($_POST['email']) || !preg_match($pattern2, $_POST['email'])) { $msg = array('s' => 400, 'm' => lang('insertemail'), 'd' => ''); exit(json_output($msg)); } $_SESSION['email'] = $_POST['email']; } if ($_POST['password'] != $_POST['comfirmpwd']) { $msg = array('s' => 400, 'm' => lang('pwdnotsame'), 'd' => ''); exit(json_output($msg)); } $_POST['nickname'] = trim($_POST['nickname']); $nickname_len = mb_strlen($_POST['nickname'], "UTF-8"); if (empty($_POST['nickname']) || $nickname_len < 2 || $nickname_len > 16) { $msg = array('s' => 400, 'm' => lang('nicknamerule'), 'd' => ''); exit(json_output($msg)); } $_POST['sex'] = intval($_POST['sex']); if (empty($_POST['sex'])) { $msg = array('s' => 400, 'm' => lang('sexrule'), 'd' => ''); exit(json_output($msg)); } include_once "PassportModel.class.php"; $passmod = new PassportModel(); if ($passmod->checkNickname($_POST['nickname'])) { $msg = array('s' => 400, 'm' => lang('nicknameexist'), 'd' => ''); exit(json_output($msg)); } if ($reg_type == 'username') { if ($passmod->checkUser($_POST['username']) || $passmod->isBlockword($_POST['username'])) { $msg = array('s' => 400, 'm' => lang('userexist'), 'd' => ''); exit(json_output($msg)); } $user['user'] = $_POST['username']; $user['user_email'] = ''; $user['user_question'] = isset($_POST['question']) ? $_POST['question'] : ''; $user['user_answer'] = isset($_POST['answer']) ? $_POST['answer'] : ''; } if ($reg_type == 'email') { if ($passmod->checkUser($_POST['email']) || $passmod->isBlockword($_POST['email'])) { $msg = lang('userexist'); $msg = array('s' => 400, 'm' => lang('userexist'), 'd' => ''); exit(json_output($msg)); } $user['user_email'] = $_POST['email']; $user['user'] = $_POST['email']; $user['user_question'] = ''; $user['user_answer'] = ''; } $user['user_password'] = PassportModel::encryptpwd($_POST['password'], $user['user']); $user['user_nickname'] = htmlspecialchars($_POST['nickname']); $user['user_sex'] = $_POST['sex']; $user['user_reg_ip'] = getip(); // 1. create db user $row = $passmod->createNewUser($user); if ($row !== false) { // 6.auto login $user['user_id'] = $row['user_id']; $user['autologin'] = 0; $this->save_online_user($user); $_SESSION['sex'] = ''; $_SESSION['username'] = ''; $_SESSION['email'] = ''; $_SESSION['nickname'] = ''; $_SESSION['autologin'] = 0; //log //curl_get_content($GLOBALS ['gSiteInfo'] ['stats_site_url']."/loginlog.php?user="******"&userid=".$row['user_id']); if (!empty($forward)) { $msg = array('s' => 200, 'm' => 'ok', 'd' => $forward); exit(json_output($msg)); } else { $msg = array('s' => 200, 'm' => 'ok', 'd' => $GLOBALS['gSiteInfo']['www_site_url'] . "/index.php/passport/regok"); exit(json_output($msg)); } } }