Пример #1
0
 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));
     }
 }
Пример #2
0
 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));
         }
     }
 }