Files
lis/htdocs/app/Http/Controllers/AuthController.php
2025-07-16 07:36:13 +07:00

140 lines
3.8 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\User;
use App\Pegawai;
use App\Periksa;
use App\ResultSample;
use Session;
use Auth;
use Validator;
class AuthController extends Controller
{
public function login() {
$data = [];
$previlage = Session('previlage');
if ($previlage == '' OR $previlage === null) {
$getdomain = url()->current();
$data['getdomain'] = $getdomain;
return view('login', $data);
} else {
return redirect('/');
}
}
public function authenticate(Request $request) {
$validator = Validator::make($request->all(), [
'username' => 'required',
'password' => 'required',
]);
if($validator->fails()) {
Session::flash('message', 'Username dan Password Harus diisi');
return back();
} else {
$username = $request->username;
$password = $request->password;
$firebaseid = $request->firebaseid;
if (is_null($firebaseid)){ $firebaseid = ''; }
$auth = Auth::attempt([
'username' => $username,
'password' => $password
]);
if(!$auth) {
$cekada = User::whereNotNull('username')->count();
if ($cekada == 0){
User::create([
'nama' => 'Administrator',
'username' => 'admin',
'password' => bcrypt('semangat'),
'previlage' => 'developer'
]);
}
Session::flash('message', 'Username atau password anda salah');
return back();
}
$user = Auth::user();
$photo = $user->getPhoto->xfile ?? '/doctor.png';
if ($firebaseid != ''){
User::where('username', $request->username)->update([
'firebase' => $firebaseid
]);
}
Session::put('id', $user->id);
Session::put('nama', $user->nama);
Session::put('username', $user->username);
Session::put('previlage', $user->previlage);
Session::put('photo', $photo);
Session::save();
User::where('id', $user->id)->update([
'active_status' => 1,
]);
return redirect('/');
}
}
public function cekandroid($firebaseid){
$cekperiksa = Periksa::all();
if (!empty($cekperiksa)){
$tahun = date('y');
$getdata = ResultSample::where('accession_number', 'LIKE', $tahun.'.%')->get();
foreach($getdata as $rows){
$norm = $rows->patient_id;
$nama2 = $rows->patient_name_last;
$nama1 = $rows->patient_name_first;
$nama = $nama1.' '.$nama2;
$alamat = $rows->address_street;
$nofoto = $rows->accession_number;
Pasien::updateOrCreate(
[
'norm' => $norm,
],
[
'nama' => $nama,
'jk' => $jk,
'tgl_lahir' => $tgllahir,
'kota' => config('global.subdomainapps'),
'telpon' => $telpon,
'alamat' => $alamat,
'nik' => $nik,
'bpjs' => $bpjs,
]
);
}
}
$cekuser = User::where('firebase', $firebaseid)->count();
if ($cekuser != 0){
$user = User::where('firebase', $firebaseid)->first();
$photo = $user->getPhoto->xfile ?? '/doctor.png';
Session::put('id', $user->id);
Session::put('nama', $user->nama);
Session::put('username', $user->username);
Session::put('previlage', $user->previlage);
Session::put('photo', $photo);
Session::save();
User::where('id', $user->id)->update([
'active_status' => 1,
]);
return redirect('/');
} else {
Session::flash('message', 'Firebase ID Not Saved, Please Login');
Session::flash('status', $firebaseid);
return redirect('/login');
}
}
public function logout(Request $request) {
Auth::logout();
$request->session()->regenerate();
$request->session()->flush();
session()->flush();
return redirect('/');
}
}