/** * 增加用户 *@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(); }
/** * 更新邮箱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(); }
$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);