示例#1
0
文件: create.php 项目: h3len/Project
 /**
  * 增加用户
  *@return array 用户信息
  */
 public function create()
 {
     //判断是否允许注册
     $rt = $this->mUset->get_desig_uset(array('register', 'noregister', 'emailAction', 'isopeninvite'));
     if ($rt['result'] == 1) {
         $rt0 = $rt[0];
         //register
         $rt1 = $rt[1];
         //noregister
         $rt2 = $rt[2];
         //emailAction
         $rt3 = $rt[3];
         //isopeninvite
         $rt3['descripion'] = "请通过邀请进行注册!";
         if (!$rt0['status']) {
             if (!$rt3['status']) {
                 $this->setXmlNode('register', 'result');
                 $ret['register'] = 1;
                 $ret['reason'] = $rt1['status'];
                 $this->addItem($ret);
                 $this->output();
             } else {
                 if (!urldecode($this->input['invite_code'])) {
                     $this->setXmlNode('register', 'result');
                     $ret['register'] = 1;
                     $ret['reason'] = $rt3['descripion'];
                     $this->addItem($ret);
                     $this->output();
                 } else {
                     $is_invite = $this->verify_invite_code(urldecode($this->input['invite_code']));
                     if (!$is_invite) {
                         $this->setXmlNode('register', 'result');
                         $ret['register'] = 1;
                         $ret['reason'] = $rt3['descripion'];
                         $this->addItem($ret);
                         $this->output();
                     }
                 }
             }
         } else {
             if (urldecode($this->input['invite_code'])) {
                 $is_invite = $this->verify_invite_code(urldecode($this->input['invite_code']));
             }
         }
     }
     if (!$this->input['username']) {
         $this->errorOutput(OBJECT_NULL);
         //返回0x0000代码
     }
     $username = urldecode(trim($this->input['username']));
     $patten = "/[!@#\$%&()><\\/:;|,,。?!}{‘’“”\\'\"]+/u";
     if (preg_match($patten, $username)) {
         $this->errorOutput(NON_SPECIAL_CHAR);
     }
     //判断是否有禁止词
     include_once ROOT_PATH . 'lib/class/banword.class.php';
     $banword = new banword();
     $rt = $banword->banword($username);
     if ($rt && $rt != 'null') {
         $this->setXmlNode('userinfo', 'repeat_user');
         $rt['banword'] = 1;
         $this->addItem($rt);
         $this->output();
         exit;
     }
     $result = $this->mUser->checkUsername($username);
     if ($result) {
         $this->setXmlNode('userinfo', 'repeat_user');
         $rt['user_exist'] = 1;
         $rt['message'] = '用户名已被占用';
         $this->addItem($rt);
         $this->output();
         exit;
     }
     $email = trim(urldecode($this->input['email']));
     if (!hg_clean_email($email)) {
         $this->errorOutput(EMAIL_ERROR);
         //返回0x2000代码
     }
     $result = $this->mUser->checkEmail($email);
     if ($result) {
         $this->errorOutput(EMAIL_REPEAT);
         //返回0x2100代码
     }
     $salt = hg_generate_salt();
     $password = md5(md5(trim($this->input['password'])) . $salt);
     $location = trim(urldecode($this->input['location']));
     $location_code = trim(urldecode($this->input['location_code']));
     $avatar = trim(urldecode($this->input['avatar'])) ? trim(urldecode($this->input['avatar'])) : AVATAR_DEFAULT;
     //调用头像接口
     $userinfo = array('email' => $email, 'username' => $username, 'password' => $password, 'salt' => $salt, 'location' => $location, 'location_code' => $location_code, 'avatar' => $avatar, 'birthday' => urldecode($this->input['birthday']), 'qq' => urldecode($this->input['qq']), 'mobile' => urldecode($this->input['mobile']), 'msn' => urldecode($this->input['msn']), 'source' => intval($this->input['source']), 'digital_tv' => urldecode($this->input['digital_tv']), 'join_time' => TIMENOW, 'last_login' => TIMENOW, 'privacy' => 0);
     $sql = "\r\n\t\t\tINSERT " . DB_PREFIX . "member\r\n\t\t\t(\r\n\t\t\t\temail,username,password,salt,location,location_code,\r\n\t\t\t\tbirthday,avatar,qq,mobile,msn,join_time,\r\n\t\t\t\tlast_login,digital_tv,source\r\n\t\t\t) \r\n\t\t\tVALUES\r\n\t\t\t(\r\n\t\t\t\t'" . $userinfo['email'] . "','" . $userinfo['username'] . "','" . $userinfo['password'] . "','" . $userinfo['salt'] . "',\r\n\t\t\t\t'" . $userinfo['location'] . "','" . $userinfo['location_code'] . "','" . $userinfo['birthday'] . "',\r\n\t\t\t\t'" . $userinfo['avatar'] . "','" . $userinfo['qq'] . "',\r\n\t\t\t\t'" . $userinfo['mobile'] . "',\r\n\t\t\t\t'" . $userinfo['msn'] . "'," . $userinfo['join_time'] . "," . $userinfo['last_login'] . ",'" . $userinfo['digital_tv'] . "','" . $userinfo['source'] . "'\r\n\t\t\t)";
     $this->db->query($sql);
     $userinfo['id'] = $this->db->insert_id();
     if ($is_invite) {
         $this->update_invite_code($userinfo['id'], urldecode($this->input['invite_code']));
     }
     $credit_info = $this->mCredit->get_single_credit_rule(REGISTER);
     //获取注册积分
     $credit = floatval($credit_info['credit']);
     $userextra = array('member_id' => $userinfo['id'], 'last_activity' => TIMENOW, 'followers_count' => 0, 'attention_count' => 0, 'ip' => hg_getip());
     $sql = "INSERT " . DB_PREFIX . "member_extra\r\n\t\t(\r\n\t\t\tmember_id,\r\n\t\t\tlast_activity,\r\n\t\t\tfollowers_count,\r\n\t\t\tattention_count,\r\n\t\t\treffer_user,\r\n\t\t\tip,\r\n\t\t\tcredit \r\n\t\t) \r\n\t\tVALUES\r\n\t\t(\r\n\t\t\t" . $userextra['member_id'] . ",\r\n\t\t\t" . $userextra['last_activity'] . ",\r\n\t\t\t" . $userextra['followers_count'] . ",\r\n\t\t\t" . $userextra['attention_count'] . ",\r\n\t\t\t" . intval($this->input['reffer_user']) . ",\r\n\t\t\t'" . $userextra['ip'] . "' , \r\n\t\t\t" . $credit . "\r\n\t\t)";
     $this->db->query($sql);
     if ($rt2['status'] == 1) {
         include_once ROOT_PATH . 'lib/user/email.class.php';
         $emailclass = new email();
         $data = array('id' => $userinfo['id'], 'username' => $userinfo['username'], 'email' => $userinfo['email']);
         $rt = $emailclass->send_link($data);
         if ($rt['done'] == 1) {
             $userinfo['send_email'] = 1;
         } else {
             $userinfo['send_email'] = 0;
         }
         $userinfo['email_action'] = 1;
     }
     $this->setXmlNode('userinfo', 'user');
     $this->addItem($userinfo);
     return $this->output();
 }
示例#2
0
 /**
  * 更新邮箱code使用状态
  */
 public function verify_emailcode()
 {
     $email = hg_clean_email(trim($this->input['email']));
     $submit_emailcode = trim($this->input['submit_emailcode']);
     if (!$email) {
         $this->errorOutput(PARAM_WRONG);
     }
     $condition = " AND email='" . $email . "'";
     $condition .= " AND code = '" . $submit_emailcode . "' ";
     $authCode = $this->mode->detail('', $condition);
     if (!$authCode) {
         $this->errorOutput(VERIFICATION_CODE_WRONG);
     }
     if ($authCode['expire_time'] < TIMENOW) {
         $this->errorOutput(CODE_OVERDUE);
     }
     if ($authCode['code'] == $submit_emailcode) {
         $this->mode->audit($authCode['id']);
     }
     //返回结果
     $this->addItem(array('error' => 0, 'status' => 0));
     $this->output();
 }
示例#3
0
文件: user.php 项目: h3len/Project
     $user_id = $this->input['user_id'];
     if (!$user_id) {
         if ($this->user['user_id']) {
             $user_id = $this->user['user_id'];
         } else {
             $this->errorOutput(NO_USER_ID);
         }
     }
     $ret = $this->dingdone_mode->getPushInfo($user_id);
     if ($ret) {
         $this->addItem($ret);
     } else {
         $this->errorOutput(NO_DATA);
     }
     $this->output();
 }
 //修改用户推送的状态
 public function modifyUserPushStatus()
 {
     $user_id = $this->input['user_id'];
     if (!$user_id) {
         $this->errorOutput(NO_USER_ID);
     }
     $ret = $this->dingdone_mode->update($user_id, array('push_status' => intval($this->input['status'])));
     $this->addItem($ret);
     $this->output();
 }
 /*******************************************修改用户密码******************************************/
 public function modifyUserPassword()
 {
     $new_password = $this->input['new_password'];
     //需要修改的新密码
     if (!$new_password) {
         $this->errorOutput(NO_NEW_PASSWORD);