Example #1
0
 public function registerAction()
 {
     $response = array("status" => 0, "message" => "Thao tác không thành công");
     if ($this->request->isPost()) {
         $username = $this->request->getPost("username", null, false);
         $email = $this->request->getPost("email", null, false);
         $password = $this->request->getPost("password", null, false);
         $repassword = $this->request->getPost("repassword", null, false);
         $phone = $this->request->getPost("phone", null, false);
         $check = true;
         $user_obj = new \HaiQuan\Frontend\Models\Character();
         $response["message"] = "";
         if (!empty($username) && strlen($username) >= 6) {
             $user = $user_obj->getUserByUsername($username, $password);
             if (!empty($user)) {
                 $check = false;
                 $response["message"] .= " - Username đã tồn tại <br>";
             }
         } else {
             $check = false;
             $response["message"] .= " - Username phải trên 5 kí tự <br>";
         }
         if (!empty($email) && filter_var($email, FILTER_VALIDATE_EMAIL)) {
             $user = $user_obj->getUserByEmail($email);
             if (!empty($user)) {
                 $check = false;
                 $response["message"] .= " - Email đã tồn tại <br>";
             }
         } else {
             $check = false;
             $response["message"] .= " - Email không đúng <br>";
         }
         if (!empty($password) && !empty($repassword) && $password == $repassword) {
             if (strlen($password) < 6) {
                 $check = false;
                 $response["message"] .= " - Mật khẩu phải trên 6 kí tự <br>";
             }
         } else {
             $check = false;
             $response["message"] .= " - Nhập lại mật khẩu không đúng <br>";
         }
         if (!empty($phone) && strlen($phone) > 0) {
             if (!\library\Util::checkPhone($phone)) {
                 $check = false;
             }
             $response["message"] .= " - Số điện thoại không đúng <br>";
         }
         if ($check) {
             $time = time();
             $public_id = substr(md5(\library\Util::getRandomString(10)), 0, 5) . $time;
             $from = $this->session->get("user_from");
             if (!isset($from) || empty($from)) {
                 $from = "direct";
             }
             $user_data = array("ch_public_id" => $public_id, "ch_name" => $username, "ch_secret" => md5($password), "ch_nickname" => $username, "ch_email" => $email, "ch_coins" => 0, "ch_active" => 1, "ch_created_date" => date("Y-m-d H:i:s"), "ch_updated_date" => date("Y-m-d H:i:s"), "ch_from" => $from);
             if (!empty($phone) && strlen($phone) > 0) {
                 $user_data["ch_phone"] = $phone;
             }
             $user_banner = $this->session->get("user_bn");
             if (isset($user_banner) && !empty($user_banner)) {
                 $user_data["ch_link_id"] = $user_banner;
             }
             $user_obj = new \HaiQuan\Frontend\Models\Character();
             $user_obj->save($user_data);
             if (!empty($user_obj->ch_id)) {
                 $this->session->remove("user_from");
                 $this->session->remove("user_bn");
                 $response["status"] = 1;
                 $this->session->set("register_success", 1);
                 $this->loginSuccess($user_obj->toArray());
             } else {
                 $response["message"] = "Đăng kí không thành công";
             }
         }
     }
     echo json_encode($response);
     exit;
 }