Exemplo n.º 1
0
 public function addInviteCode()
 {
     $uid = $this->attributes['id'];
     $code = new InviteCode();
     $code->code = Tools::genRandomChar(32);
     $code->user = $uid;
     $code->save();
 }
Exemplo n.º 2
0
 protected function addCode()
 {
     $codeStr = Tools::genRandomChar(32);
     $code = new InviteCode();
     $code->code = $codeStr;
     $code->user_id = 0;
     if ($code->save()) {
         return $codeStr;
     }
     return null;
 }
Exemplo n.º 3
0
 public function doInvite($request, $response, $args)
 {
     $n = $this->user->invite_num;
     if ($n < 1) {
         $res['ret'] = 0;
         return $response->getBody()->write(json_encode($res));
     }
     for ($i = 0; $i < $n; $i++) {
         $char = Tools::genRandomChar(32);
         $code = new InviteCode();
         $code->code = $char;
         $code->user_id = $this->user->id;
         $code->save();
     }
     $this->user->invite_num = 0;
     $this->user->save();
     $res['ret'] = 1;
     return $response->getBody()->write(json_encode($res));
 }
Exemplo n.º 4
0
 public function addInvite($request, $response, $args)
 {
     $n = $request->getParam('num');
     $prefix = $request->getParam('prefix');
     $uid = $request->getParam('uid');
     if ($n < 1) {
         $res['ret'] = 0;
         return $response->getBody()->write(json_encode($res));
     }
     for ($i = 0; $i < $n; $i++) {
         $char = Tools::genRandomChar(32);
         $code = new InviteCode();
         $code->code = $prefix . $char;
         $code->user_id = $uid;
         $code->save();
     }
     $res['ret'] = 1;
     $res['msg'] = "邀请码添加成功";
     return $response->getBody()->write(json_encode($res));
 }
Exemplo n.º 5
0
 public function registerHandle($request, $response, $args)
 {
     $name = $request->getParam('name');
     $email = $request->getParam('email');
     $email = strtolower($email);
     $passwd = $request->getParam('passwd');
     $repasswd = $request->getParam('repasswd');
     $code = $request->getParam('code');
     $verifycode = $request->getParam('verifycode');
     // check code
     $c = InviteCode::where('code', $code)->first();
     if ($c == null) {
         $res['ret'] = 0;
         $res['error_code'] = self::WrongCode;
         $res['msg'] = "邀请码无效";
         return $this->echoJson($response, $res);
     }
     // check email format
     if (!Check::isEmailLegal($email)) {
         $res['ret'] = 0;
         $res['error_code'] = self::IllegalEmail;
         $res['msg'] = "邮箱无效";
         return $this->echoJson($response, $res);
     }
     // check pwd length
     if (strlen($passwd) < 8) {
         $res['ret'] = 0;
         $res['error_code'] = self::PasswordTooShort;
         $res['msg'] = "密码太短";
         return $this->echoJson($response, $res);
     }
     // check pwd re
     if ($passwd != $repasswd) {
         $res['ret'] = 0;
         $res['error_code'] = self::PasswordNotEqual;
         $res['msg'] = "两次密码输入不符";
         return $this->echoJson($response, $res);
     }
     // check email
     $user = User::where('email', $email)->first();
     if ($user != null) {
         $res['ret'] = 0;
         $res['error_code'] = self::EmailUsed;
         $res['msg'] = "邮箱已经被注册了";
         return $this->echoJson($response, $res);
     }
     // verify email
     if (Config::get('emailVerifyEnabled') && !EmailVerify::checkVerifyCode($email, $verifycode)) {
         $res['ret'] = 0;
         $res['msg'] = '邮箱验证代码不正确';
         return $this->echoJson($response, $res);
     }
     // check ip limit
     $ip = Http::getClientIP();
     $ipRegCount = Check::getIpRegCount($ip);
     if ($ipRegCount >= Config::get('ipDayLimit')) {
         $res['ret'] = 0;
         $res['msg'] = '当前IP注册次数超过限制';
         return $this->echoJson($response, $res);
     }
     // do reg user
     $user = new User();
     $user->user_name = $name;
     $user->email = $email;
     $user->pass = Hash::passwordHash($passwd);
     $user->passwd = Tools::genRandomChar(6);
     $user->port = Tools::getLastPort() + 1;
     $user->t = 0;
     $user->u = 0;
     $user->d = 0;
     $user->transfer_enable = Tools::toGB(Config::get('defaultTraffic'));
     $user->invite_num = Config::get('inviteNum');
     $user->reg_ip = Http::getClientIP();
     $user->ref_by = $c->user_id;
     if ($user->save()) {
         $res['ret'] = 1;
         $res['msg'] = "注册成功";
         $c->delete();
         return $this->echoJson($response, $res);
     }
     $res['ret'] = 0;
     $res['msg'] = "未知错误";
     return $this->echoJson($response, $res);
 }
Exemplo n.º 6
0
 public function code()
 {
     $codes = InviteCode::where('user_id', '=', '0')->take(10)->get();
     return $this->view()->assign('codes', $codes)->display('code.tpl');
 }
Exemplo n.º 7
0
 public function inviteCodes()
 {
     $uid = $this->attributes['id'];
     return InviteCode::where('user_id', $uid)->get();
 }
Exemplo n.º 8
0
 public function code()
 {
     $msg = DbConfig::get('home-code');
     $codes = InviteCode::where('user_id', '=', '0')->take(10)->get();
     return $this->view()->assign('codes', $codes)->assign('msg', $msg)->display('code.tpl');
 }
Exemplo n.º 9
0
 public function registerHandle($request, $response, $next)
 {
     $name = $request->getParam('name');
     $email = $request->getParam('email');
     $email = strtolower($email);
     $passwd = $request->getParam('passwd');
     $repasswd = $request->getParam('repasswd');
     $code = $request->getParam('code');
     // check code
     $c = InviteCode::where('code', $code)->first();
     if ($c == null) {
         $res['ret'] = 0;
         $res['msg'] = "邀请码无效";
         return $response->getBody()->write(json_encode($res));
     }
     // check email format
     if (!Check::isEmailLegal($email)) {
         $res['ret'] = 0;
         $res['msg'] = "邮箱无效";
         return $response->getBody()->write(json_encode($res));
     }
     // check pwd length
     if (strlen($passwd) < 8) {
         $res['ret'] = 0;
         $res['msg'] = "密码太短";
         return $response->getBody()->write(json_encode($res));
     }
     // check pwd re
     if ($passwd != $repasswd) {
         $res['ret'] = 0;
         $res['msg'] = "两次密码输入不符";
         return $response->getBody()->write(json_encode($res));
     }
     // check email
     $user = User::where('email', $email)->first();
     if ($user != null) {
         $res['ret'] = 0;
         $res['msg'] = "邮箱已经被注册了";
         return $response->getBody()->write(json_encode($res));
     }
     // do reg user
     $user = new User();
     $user->user_name = $name;
     $user->email = $email;
     $user->pass = Hash::passwordHash($passwd);
     $user->passwd = Tools::genRandomChar(6);
     $user->port = Tools::getLastPort() + 1;
     $user->t = 0;
     $user->u = 0;
     $user->d = 0;
     $user->transfer_enable = Tools::toGB(Config::get('defaultTraffic'));
     $user->invite_num = Config::get('inviteNum');
     $user->ref_by = $c->user_id;
     if ($user->save()) {
         $res['ret'] = 1;
         $res['msg'] = "注册成功";
         $c->delete();
         return $response->getBody()->write(json_encode($res));
     }
     $res['ret'] = 0;
     $res['msg'] = "未知错误";
     return $response->getBody()->write(json_encode($res));
 }