/main/app/Http/Controllers/LoginController.php
https://gitlab.com/yutdhidev_labs/webku · PHP · 165 lines · 135 code · 23 blank · 7 comment · 6 complexity · 4b75b87a13da527e0e571ba9dcb90555 MD5 · raw file
- <?php
- namespace App\Http\Controllers;
- use Illuminate\Http\Request;
- use App\Models\Users;
- use App\Models\Member;
- use Illuminate\Support\Facades\Hash;
- use Illuminate\Support\Facades\Session;
- use Illuminate\Support\Facades\Mail;
- use DB;
- class LoginController extends Controller
- {
- public function register()
- {
- $data['gelombang'] = '';
- return view('register')->with($data);
- }
- public function register_action(Request $request){
- $count = Member::where('email',$request->email)->count();
- if($count > 0){
- return redirect('/')->with(['failed' => 'Registrasi Gagal, Email Sudah Terdaftar!']);
- }else{
- $rep = str_replace("+","",$request->telp);
- $rep2 = str_replace("-","",$rep);
- $data = new Member();
- $data->name = str_replace("'","",$request->name);
- $data->jenis_kelamin = $request->jenis_kelamin;
- $data->email = $request->email;
- $data->telp = $rep2;
- $data->tanggal_masuk = date("Y-m-d H:i:s");
- $data->alamat = '';
- $data->status_aktif = 1;
- $data->save();
- // $exp = explode(" ",str_replace("'","",$request->name));
- // $characters = '0123456789';
- // $pin = mt_rand(1, 999);
- // if(count($exp) > 1){
- // $username = $exp[0].'.'.$exp[1].''.$pin;
- // }else if(count($exp) == 1){
- // $username = $exp[0].''.$pin;
- // }
-
- $data2 = new Users();
- $data2->username = strtolower($request->email);
- $data2->password = bcrypt($request->password);
- $data2->fullname = $request->name;
- $data2->status_active = 1;
- $data2->member_id = $data->id;
- $data2->group = 'member';
- $data2->save();
- Session::put('member_id',$data->id);
- Session::put('group',$data2->group);
- Session::put('name',$data->name);
- Session::put('is_active',1);
- Session::put('login',TRUE);
- $redirect_url = 'pg_dashboard';
- return redirect($redirect_url)->with(['success' => 'Registrasi Berhasil !']);
- }
- }
- public function login()
- {
- $data['data'] = '';
- return view('login')->with($data);
- }
- public function loginPost(Request $request){
- $username = $request->username;
- $password = $request->password;
- $count = Users::where('username',$username)->where('status_active',1)->count();
- if($count > 0){
- $data = Users::where('username',$username)->first();
- if($data->group == "member"){
- $member = DB::table('member')->where('id',$data->member_id)->first();
- $member_id = $member->id;
- $is_active = $member->status_aktif;
- $fullname = $member->name;
- $foto = $member->foto;
- $redirect = 'pg_dashboard';
- }else{
- $users = DB::table('users')->where('username',$username)->first();
- $member_id = $users->id;
- $fullname = $users->fullname;
- $is_active = $users->status_active;
- $foto = '';
- $redirect = 'dashboard';
- }
- if(Hash::check($password,$data->password)){
- Session::put('foto',$foto);
- Session::put('member_id',$member_id);
- Session::put('is_active',$is_active);
- Session::put('group',$data->group);
- Session::put('name',$data->fullname);
- Session::put('login',TRUE);
- return redirect($redirect)->with(['success' => 'Anda berhasil Login !']);
- }else{
- return redirect('/')->with(['error' => 'Password / Username Salah atau Akun anda belum aktif !']);
- }
- }else{
- return redirect('/')->with(['error' => 'Password / Username Salah atau Akun anda belum aktif !']);
- }
- }
- public function forgot()
- {
- return view('front.forgot');
- }
- public function forgot_action(Request $request){
- $check_siswa = Siswa::where('email',$request->email)->first();
- $check = Siswa::where('email',$request->email)->count();
- if($check > 0){
- $user = Users::where('user_id',$check_siswa->id)->where('status_active','1')->first();
- $name = $check_siswa->nama;
- $email = $check_siswa->email;
- $username = $user->username;
- $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
- $pin = mt_rand(1000000, 9999999).$characters[rand(0, strlen($characters) - 1)];
- $string = str_shuffle($pin);
- $data = [
- 'name' => $name,
- 'email' => $email,
- 'username' => $username,
- 'password' => $string,
- 'base_url' => url('login'),
- ];
- Mail::send('emails.reset', $data, function ($mail) use($data)
- {
- $email_send = $data['email'];
- $name_send = $data['name'];
- $subject = 'Reset Password Berhasil';
- $mail->to($email_send, $name_send);
- $mail->subject($subject);
- });
- DB::table('users')->where('user_id',$check_siswa->id)->update([
- 'password' => bcrypt($string),
- ]);
- return redirect('forgot')->with(['success' => 'Password baru berhasil dikirim ke email, Silahkan cek email anda !']);
- }else{
- return redirect('forgot')->with(['error' => 'Email Belum Terdaftar atau Akun tidak aktif']);
- }
- }
-
- public function logout(){
- Session::flush();
- return redirect('/');
- }
-
- }