|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/navinclasses.studylms.in/app/Http/Controllers/ |
Upload File : |
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use App\Models\Admin_user;
use App\Models\Admin_role;
use App\Models\Log;
use Illuminate\Support\Facades\Session;
class SubadminController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index(Request $request)
{
$admin_id = $request->session()->get('loggedIn')['id'];
$data['mainMenu'] = 'subadmin';
$data['subMenu'] = 'subadminUserList';
$data['admin_users'] = Admin_user::join('admin_roles', 'admin_roles.id', '=', 'admin_users.role_id')
->where(['parent_id' => $admin_id])
->get(['admin_users.*', 'admin_roles.role', 'admin_roles.id as role_id']);
return view('admin.subadmin.subadmin-user-list', $data);
}
// Profile =============================
public function profile(Request $request)
{
$admin_id = $request->session()->get('loggedIn')['id'];
//dd($admin_id);
$data['mainMenu'] = 'dashboard';
$data['subMenu'] = 'dashboard';
$data['myprofile'] = Admin_user::where(['id' => $admin_id])->first();
// dd($data['myprofile']);
return view('admin.subadmin.admin-profile', $data);
}
public function edit_profile(Request $request)
{
$admin_id = $request->session()->get('loggedIn')['id'];
//dd($admin_id);
$data['mainMenu'] = 'dashboard';
$data['subMenu'] = 'dashboard';
$data['myprofile'] = Admin_user::where(['id' => $admin_id])->first();
// dd($data['myprofile']);
return view('admin.subadmin.edit-admin-profile', $data);
}
public function save_edit_profile(Request $request)
{
$admin_id = $request->session()->get('loggedIn')['id'];
$request->validate([
'username' => 'required',
'email' => 'required|email',
'phone' => 'required|numeric',
'institute' => 'required'
]);
// Profile picture
$url = NULL;
if ($request->hasFile('image')) {
$imageName = time() . '.' . request()->image->getClientOriginalExtension();
request()->image->move(public_path('admin/images/profile'), $imageName);
$url = asset('public/admin/images/profile') . '/' . $imageName;
}
$adminArray = array(
'username' => $request->username,
'email' => $request->email,
'phone' => $request->phone,
'institute' => $request->institute
);
if (!empty($url)) {
$adminArray = array(
'username' => $request->username,
'email' => $request->email,
'phone' => $request->phone,
'institute' => $request->institute,
'profile_pics' => $url
);
}
$updated = Admin_user::where("id", $admin_id)->update($adminArray);
if ($updated) {
// Log Data Entry
$logData = array(
'user_id' => Session::get('loggedIn')['id'],
'activity' => 'AdminID: ' . $admin_id . ' Profile updated!',
'created_at' => date('Y-m-d H:i:s')
);
Log::create($logData);
return redirect('admin/profile')->with('success', 'Profile updated successfully!');
} else {
return back()->with('error', 'Something Went Wrong!');
}
}
public function change_password(Request $request)
{
$admin_id = $request->session()->get('loggedIn')['id'];
//dd($admin_id);
$data['mainMenu'] = 'dashboard';
$data['subMenu'] = 'dashboard';
$data['myprofile'] = Admin_user::where(['id' => $admin_id])->first();
return view('admin.subadmin.change-profile-password', $data);
}
public function save_change_password(Request $request)
{
$admin_id = $request->session()->get('loggedIn')['id'];
$request->validate([
'current_password' => 'required',
'new_password' => 'min:5|required_with:confirm_password|same:confirm_password',
'confirm_password' => 'min:5'
]);
$adminUser = Admin_user::where(['id' => $admin_id])->first();
$hashed = Hash::check($request->current_password, $adminUser->password);
if ($hashed) {
$adminArray = array(
'password' => Hash::make($request->new_password)
);
$updated = Admin_user::where("id", $admin_id)->update($adminArray);
if ($updated) {
// Log Data Entry
$logData = array(
'user_id' => Session::get('loggedIn')['id'],
'activity' => 'AdminID: ' . $admin_id . ' change password!',
'created_at' => date('Y-m-d H:i:s')
);
Log::create($logData);
return redirect('admin/profile')->with('success', 'Your password updated successfully!');
}
return back()->with('error', 'Something Went Wrong!');
}
return back()->with('error', 'Invalid current password!');
}
// Profile =============================
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create(Request $request)
{
$admin_id = $request->session()->get('loggedIn')['id'];
$data['mainMenu'] = 'subadmin';
$data['subMenu'] = 'subadminUserList';
$data['roles'] = Admin_role::where(['admin_id' => $admin_id])->get();
return view('admin.subadmin.add-admin-user', $data);
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$admin_id = $request->session()->get('loggedIn')['id'];
// return $request->input();
$request->validate([
'username' => 'required',
'email' => 'required|unique:admin_users|email',
'phone' => 'required|numeric',
'institute' => 'required',
'adminRole' => 'required',
'password' => 'required|min:6',
]);
$getSalt = Admin_user::where(['id' => $admin_id])->first();
$hashed = Hash::make($request->password);
$data = array(
'parent_id' => $admin_id,
'username' => $request->username,
'email' => $request->email,
'phone' => $request->phone,
'institute' => $request->institute,
'role_id' => $request->adminRole,
'password' => $hashed,
'salt' => $getSalt->salt,
'ip_address' => $request->ip()
);
$res = Admin_user::create($data);
$admin_id = $res->id;
if ($res) {
// Log Data Entry
$logData = array(
'user_id' => Session::get('loggedIn')['id'],
'activity' => 'AdminID: ' . $admin_id . ', Email: ' . $request->email . ' added!',
'created_at' => date('Y-m-d H:i:s')
);
Log::create($logData);
return back()->with('success', $request->username . ' Added successfully!');
} else {
return back()->with('error', 'Something Went Wrong!');
}
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
$data['mainMenu'] = 'subadmin';
$data['subMenu'] = 'subadminUserList';
$data['roles'] = Admin_role::get();
$data['adminUser'] = Admin_user::where(['id' => $id])->first();
return view('admin.subadmin.view-admin-user', $data);
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
$data['mainMenu'] = 'subadmin';
$data['subMenu'] = 'subadminUserList';
$data['roles'] = Admin_role::get();
$data['adminUser'] = Admin_user::where(['id' => $id])->first();
// dd($data['adminUser']);
return view('admin.subadmin.edit-admin-user', $data);
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
// return $request->input();
$request->validate([
'username' => 'required',
'email' => 'required',
'phone' => 'required|numeric',
'institute' => 'required',
'adminRole' => 'required',
'salt' => 'required',
]);
$data = array(
'username' => $request->username,
'email' => $request->email,
'phone' => $request->phone,
'institute' => $request->institute,
'role_id' => $request->adminRole,
'salt' => $request->salt,
'ip_address' => $request->ip()
);
$res = Admin_user::where(['id' => $id])->update($data);
if ($res) {
// Log Data Entry
$logData = array(
'user_id' => Session::get('loggedIn')['id'],
'activity' => 'AdminID: ' . $id . ', Email: ' . $request->email . ' updated!',
'created_at' => date('Y-m-d H:i:s')
);
Log::create($logData);
return back()->with('success', $request->username . ' Added successfully!');
} else {
return back()->with('error', 'Something Went Wrong!');
}
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
Admin_user::where(['id' => $id])->delete();
// Log Data Entry
$logData = array(
'user_id' => Session::get('loggedIn')['id'],
'activity' => 'AdminID: ' . $id . ', deleted!',
'created_at' => date('Y-m-d H:i:s')
);
Log::create($logData);
return back()->with('success', 'Delete Successfully!');
}
}