/**
  * API Register
  *
  * @param Request $request
  *
  * @return \Illuminate\Http\JsonResponse
  */
 public function register(Request $request)
 {
     onlyAllowPostRequest($request);
     $all = $request->only(['email', 'password', 'mssv', 'lop']);
     /**
      * Dữ liệu trả về
      */
     $response = new stdClass();
     /**
      * Tìm user đã tồn tại chưa?
      */
     $user = User::all()->where('email', $all['email']);
     if ($user->count() > 0) {
         //Đã tồn tại người dùng
         $response->error = true;
         $response->error_msg = 'Đã tồn tại người dùng với email ' . $all['email'];
         return response()->json($response);
     }
     /**
      * Xử lý tài khoản VNU - Đăng ký học
      */
     $user_vnu = $all['mssv'];
     $pass_vnu = $all['password'];
     $login_vnu = getTimeTableVNU($user_vnu, $pass_vnu);
     if ($login_vnu === false) {
         $response->error = true;
         $response->error_msg = 'Mã sinh viên hoặc mật khẩu không đúng!';
         return response()->json($response);
     }
     $user_name = $login_vnu['name'];
     /**
      * Xử lý lớp khóa học
      */
     $classX = $all['lop'];
     $id_class = ClassX::getIdByClassName($classX);
     if ($id_class == false) {
         //Lớp khóa học không tồn tại
         $response->error = true;
         $response->error_msg = 'Lớp khóa học không tồn tại';
         return response()->json($response);
     }
     $type = 'student';
     //Mặc định người dùng đăng ký là sinh viên
     $user = User::create(['email' => $all['email'], 'password' => md5($all['password']), 'msv' => $all['mssv'], 'class' => $id_class, 'type' => $type, 'name' => $user_name, 'pass_uet' => base64_encode($pass_vnu)]);
     $response->error = false;
     $response->uid = $user->getAttribute('id');
     $user_x = new stdClass();
     $user_x->name = $user->getAttribute('name');
     $user_x->email = $user->getAttribute('email');
     $user_x->type = $user->getAttribute('type');
     $user_x->lop = ClassX::getClassName($id_class);
     $user_x->mssv = $user->getAttribute('msv');
     $user_x->created_at = $user->getAttribute('created_at')->setTimezone(new DateTimeZone('Asia/Ho_Chi_Minh'))->format('Y-m-d H:m:i');
     $user_x->updated_at = $user->getAttribute('updated_at')->setTimezone(new DateTimeZone('Asia/Ho_Chi_Minh'))->format('Y-m-d H:m:i');
     $response->user = $user_x;
     return response()->json($response);
 }
 public function test_helper()
 {
     dd(getTimeTableVNU('13020499', 'hhw95mrt'));
 }