| Server IP : 103.161.17.216 / Your IP : 216.73.216.1 Web Server : nginx/1.18.0 System : Linux tipsysaigoncharming 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : www-data ( 33) PHP Version : 7.4.3-4ubuntu2.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/dr.dinhphuongdong.com/app/Http/Controllers/ |
Upload File : |
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use App\Models\Social;
//use App\Models\Login;
use App\Models\Login;
//sử dụng model Social
use Socialite; //sử dụng Socialite
use App\Rules\Captcha;
use App\Http\Requests;
use Validator;
use Session;
use Illuminate\Support\Facades\Redirect;
use App\Http\Controllers\Controller;
session_start();
class AdminController extends Controller
{
// login goole
public function login_google(){
return Socialite::driver('google')->redirect();
}
public function callback_google(){
$users = Socialite::driver('google')->stateless()->user();
// return $users->id;
$authUser = $this->findOrCreateUser($users,'google');
$account_name = Login::where('admin_id',$authUser->user)->first();
Session::put('admin_name',$account_name->admin_name);
Session::put('admin_id',$account_name->admin_id);
return redirect('/dashboard')->with('message', 'Đăng nhập Admin thành công');
}
public function findOrCreateUser($users,$provider){
$authUser = Social::where('provider_user_id', $users->id)->first();
if($authUser){
return $authUser;
}
$cam = new Social([
'provider_user_id' => $users->id,
'provider' => strtoupper($provider)
]);
$orang = Login::where('admin_email',$users->getEmail())->first();
if(!$orang){
$orang = Login::create([
'admin_name' => $users->name,
'admin_email' => $users->email,
'admin_password' => '',
'admin_phone' => '',
]);
}
$cam->login()->associate($orang);
$cam->save();
$account_name = Login::where('admin_id',$cam->user)->first();
Session::put('admin_name',$account_name->admin_name);
Session::put('admin_id',$account_name->admin_id);
return redirect('/dashboard')->with('message', 'Đăng nhập Admin thành công');
}
// endlogin google
// login facebook
public function login_facebook(){
return Socialite::driver('facebook')->redirect();
}
public function callback_facebook(){
$provider = Socialite::driver('facebook')->user();
$account = Social::where('provider','facebook')->where('provider_user_id',$provider->getId())->first();
if($account){
//login in vao trang quan tri
$account_name = Login::where('admin_id',$account->user)->first();
Session::put('admin_name',$account_name->admin_name);
Session::put('admin_id',$account_name->admin_id);
return redirect('/dashboard')->with('message', 'Đăng nhập Admin thành công');
}else{
$cam = new Social([
'provider_user_id' => $provider->getId(),
'provider' => 'facebook'
]);
$orang = Login::where('admin_email',$provider->getEmail())->first();
if(!$orang){
$orang = Login::create([
'admin_name' => $provider->getName(),
'admin_email' => $provider->getEmail(),
'admin_password' => '',
'admin_phone' => '',
]);
}
$cam->login()->associate($orang);
$cam->save();
$account_name = Login::where('admin_id',$account->user)->first();
Session::put('admin_name',$account_name->admin_name);
Session::put('admin_id',$account_name->admin_id);
return redirect('/dashboard')->with('message', 'Đăng nhập Admin thành công');
}
}
//end login facebook
// kiểm tra đang nhập
public function AuthLogin() {
$admin_id=session::get('admin_id');
if($admin_id){
return Redirect::to('dashboard');
}
else{
return Redirect::to('admin')->send();
}
}
public function index(){
return view('admin_login');
}
// hiển thị trang quản trị
public function show_dashboard(){
$this->AuthLogin();
return view('admin.dashboard');
}
public function dashboard(Request $Request){
// dung model
// $data=$Request->all();
//
$data = $Request->validate([
'admin_email' => 'required|email',
'admin_password' => 'required',
'g-recaptcha-response' => new Captcha(), //dòng kiểm tra Captcha
]);
$admin_email=$data['admin_email'];
$admin_password = md5($data['admin_password']);
$login = Login::where('admin_email',$admin_email)->where('admin_password',$admin_password)->first();
if($login){
$login_count=$login->count();
if($login_count){
Session::put('admin_name', $login->admin_name);
Session::put('admin_id', $login->admin_id);
return Redirect::to('/dashboard');
}
} else {
Session::put('message', 'Mật khẩu hoặc tên người dùng không đúng');
return Redirect::to('/admin');
// code...
}
// $admin_email = $Request->admin_email;
// $admin_password = md5($Request->admin_password);
// $result = DB::table('tbl_admin')->where('admin_email',$admin_email)->where('admin_password',$admin_password)->first();
// if($result){
// Session::put('admin_name', $result->admin_name);
// Session::put('admin_id', $result->admin_id);
// return Redirect::to('/dashboard');
// }
// else {
// Session::put('message', 'Mật khẩu hoặc tên người dùng không đúng');
// return Redirect::to('/admin');
// // code...
// }
}
// Thoát Admin
public function logout(){
$this->AuthLogin();
Session::put('admin_name', null);
Session::put('admin_id', null);
return Redirect::to('/admin');
}
// quản lý đơn hàng
public function manage_order(){
$this->AuthLogin();
$all_order= DB::table('tbl_order')->join('tbl_customers','tbl_order.customer_id','=','tbl_customers.customer_id')
->select('tbl_order.*','tbl_customers.customer_name')
-> orderby('tbl_order.order_id','desc')->get();
$manager_order = view('admin.manage_order')->with('all_order',$all_order);
return view('admin_layout')->with('admin.manage_order', $manager_order);
}
public function view_order($orderId){
$this->AuthLogin();
$order_by_id= DB::table('tbl_order')
->join('tbl_customers','tbl_order.customer_id','=','tbl_customers.customer_id')
->join('tbl_shipping','tbl_order.shipping_id','=','tbl_shipping.shipping_id')
->join('tbl_order_details','tbl_order.order_id','=','tbl_order_details.order_id')
->select('tbl_order.*','tbl_customers.*','tbl_shipping.*','tbl_order_details.*')->first();
$manager_order_by_id = view('admin.view_order')->with('order_by_id',$order_by_id);
return view('admin_layout')->with('admin.view_order', $manager_order_by_id);
}
}