Ejemplo n.º 1
0
 public static function generateForUser($user_id)
 {
     Token::where('user_id', '=', $user_id)->delete();
     $token = new Token();
     $token->{'user_id'} = $user_id;
     $token->token = $user_id . '-' . Token::v4UUID();
     $token->expires = Token::expirationTime();
     $token->save();
     return $token;
 }
Ejemplo n.º 2
0
 function store($tokenStr, User $user, $expireTime)
 {
     $token = new TokenModel();
     $token->token = $tokenStr;
     $token->user_id = $user->id;
     $token->create_time = time();
     $token->expire_time = $expireTime;
     if ($token->save()) {
         return true;
     }
     return false;
 }
Ejemplo n.º 3
0
 /**
  * notifications function.
  * 
  * @access public
  * @return void
  */
 public function postNotification()
 {
     $device_token = Input::get('token', '');
     $device_os = Input::get('os', '');
     $token = Token::where('token', "=", $device_token)->where('os', "=", $device_os)->first();
     if (!$token) {
         $token = new Token();
         $token->token = $device_token;
         $token->os = $device_os;
         $token->save();
     }
     $user = Auth::user()->id;
     $token->user_id = $user;
     $token->save();
     return Response::json(array("service" => __FUNCTION__, "status" => true));
 }
Ejemplo n.º 4
0
 public function actionForm_register()
 {
     $model = new Sign();
     $token = new Token();
     $s_fname = '';
     $s_lname = '';
     $s_user = '';
     $s_user_db = '';
     $s_pw1 = '';
     $s_pw2 = '';
     $s_email = '';
     $s_email_db = '';
     $s_accept = '';
     $s_sex = '';
     $enable = 1;
     if (!empty($_POST)) {
         $model->fname = $_POST['fname'];
         $model->lname = $_POST['lname'];
         $model->user_id = $_POST['user'];
         $model->password = $_POST['pw1'];
         $model->email = $_POST['email'];
         if (!empty($_POST['sex'])) {
             $model->sex = $_POST['sex'];
         }
         $model->activate = 0;
         $model->status = 'member';
         //fname
         if (strlen($model->fname) < 5) {
             $s_fname = 'has-error';
             $enable = 0;
         }
         //lname
         if (strlen($model->lname) < 5) {
             $s_lname = 'has-error';
             $enable = 0;
         }
         // user
         $user_found = Sign::find()->where(['user_id' => $model->user_id])->one();
         if (!empty($user_found)) {
             $s_user = '******';
             $s_user_db = 'double';
             $enable = 0;
         }
         if (!ereg("([a-z0-9]{5})", $model->user_id)) {
             $s_user = '******';
             $s_user_db = 'wrong';
             $enable = 0;
         }
         //==================================================
         // password
         if ($model->password != $_POST['pw2'] || strlen($model->password) < 5) {
             $enable = 0;
             $s_pw1 = 'has-error';
             $s_pw2 = 'has-error';
         }
         //==================================================
         //sex
         if ($model->sex == "") {
             $s_sex = 'has-error';
             $enable = 0;
         }
         //==================================================
         //email
         $email_found = Sign::find()->where(['email' => $model->email])->one();
         if (!empty($email_found)) {
             $s_email = 'has-error';
             $s_email_db = 'double';
             $enable = 0;
         }
         if (!preg_match("/^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,3})\$/i", $model->email)) {
             $enable = 0;
             $s_email = 'has-error';
             $s_email_db = 'wrong';
         }
         //accept
         if (empty($_POST['check'])) {
             $enable = 0;
             $s_accept = "โปรดย้อมรับข้อตกลง";
         }
         ////////////// end check
         if ($enable == 1) {
             $md5_password = md5($model->password);
             $model->password = $md5_password;
             $model->path_image = $model->sex . '.' . 'png';
             if ($model->save()) {
                 $token->code = md5($md5_password);
                 if ($token->save()) {
                     //return $this->redirect(['sign/activate']);
                     $content = "สวัสดีคุณ" . $model->fname . " " . $model->lname;
                     $content .= "<p>โปรดยืนยันการสมัครโดย คลิกลิ้งค์ที่ทางเราได้แนบไป และท่านจะสามารถ Login </P>";
                     $content .= "<P>ด้วย user id และ password ของท่านได้</p>";
                     $link = "http://localhost/yii2basic/web/index.php?r=sign%2Fconf&id=" . $model->id . "&code=" . $token->code;
                     $content .= "<a href=" . '"';
                     $content .= $link . '"';
                     $content .= '>Click for Register Complete</a>';
                     Yii::$app->mailer->compose("@app/mail/layouts/html", ['content' => $content])->setTo([$model->email => $model->fname])->setFrom(Yii::$app->params['adminEmail'])->setSubject('Register')->setTextBody('...')->send();
                     return $this->render('activate');
                 } else {
                     echo 'error token';
                 }
             } else {
                 echo 'save_error';
             }
         }
     }
     return $this->render('form_register', ['s_fname' => $s_fname, 's_lname' => $s_lname, 's_user' => $s_user, 's_user_db' => $s_user_db, 's_pw1' => $s_pw1, 's_pw2' => $s_pw2, 's_email' => $s_email, 's_email_db' => $s_email_db, 's_accept' => $s_accept, 's_sex' => $s_sex, 'v_fname' => $model->fname, 'v_lname' => $model->lname, 'v_user' => $model->user_id, 'v_email' => $model->email, 'v_sex' => $model->sex]);
 }
Ejemplo n.º 5
0
 public function user(Request $request)
 {
     $rules = ['email' => 'required', 'password' => 'required', 'name' => 'required'];
     $validator = Validator::make($request->all(), $rules);
     if ($validator->fails()) {
         return response()->json(['error' => 'Unprocessable Entity'], 422);
     }
     // user 검색 및 생
     $user = User::where('email', $request->input('email'))->first();
     if (empty($user)) {
         $user = new User();
         $user->username = $request->input('name');
         $user->email = $request->input('email');
         $user->password = bcrypt($request->input('password'));
         $user->role_id = 2;
         $user->save();
     }
     // api token 검색 및 생성
     $token = Token::where('user_id', $user->id)->first();
     if (empty($token)) {
         $token = new Token();
         $token->user_id = $user->id;
     }
     $token->api_token = hash('sha256', str_random(10), false);
     $token->save();
     // api token 리턴
     return response()->json(['token' => $token->api_token], 200);
 }