/**
  * Get user object by id
  *
  * @param $id
  *
  * @return null|stdClass
  */
 public static function getInfoById($id)
 {
     $users = User::all()->where('id', intval($id));
     if ($users->count() == 0) {
         return null;
     }
     $user = $users->first();
     $u = new stdClass();
     $u->id = $user->id;
     $u->name = $user->name;
     $u->lop = ClassX::getClassName($user->class);
     $u->email = $user->email;
     $u->type = $user->type;
     if ($u->type == 'teacher') {
         $u->avatar = '0';
     } else {
         $u->avatar = '1';
     }
     if ($u->type == 'student') {
         $u->mssv = $user->msv;
     } else {
         $u->mssv = '';
     }
     return $u;
 }
 /**
  * Update information user
  *
  * @param Request $request
  *
  * @return \Illuminate\Http\JsonResponse
  */
 public function update(Request $request)
 {
     onlyAllowPostRequest($request);
     $all = $request->only(['email', 'name', 'mssv', 'lop']);
     /**
      * Dữ liệu trả về
      */
     $response = new stdClass();
     /**
      * 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);
     }
     /**
      * Tìm user bằng email
      */
     $users = DB::table('users')->where('email', $all['email']);
     if ($users->count() == 0) {
         $response->error = true;
         $response->error_msg = 'Đã có lỗi gì đó xảy ra!';
         return response()->json($response);
     }
     $updated = $users->update(['name' => ucwords($all['name']), 'msv' => $all['mssv'], 'class' => $id_class]);
     if ($updated == 0) {
         $response->error = true;
         $response->error_msg = 'Cập nhật không có gì thay đổi!';
         return response()->json($response);
     }
     $user = $users->first();
     $response->error = false;
     $response->uid = $user->id;
     $user_x = new stdClass();
     $user_x->name = $user->name;
     $user_x->email = $user->email;
     $user_x->type = $user->type;
     $user_x->lop = ClassX::getClassName($user->class);
     $user_x->mssv = $user->msv;
     $user_x->created_at = date_create($user->created_at)->setTimezone(new DateTimeZone('Asia/Ho_Chi_Minh'))->format('Y-m-d H:m:i');
     $user_x->updated_at = date_create($user->updated_at)->setTimezone(new DateTimeZone('Asia/Ho_Chi_Minh'))->format('Y-m-d H:m:i');
     $response->user = $user_x;
     return response()->json($response);
 }