You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
3.4 KiB
110 lines
3.4 KiB
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\Admin;
|
|
use App\Models\BusinessSetting;
|
|
use Brian2694\Toastr\Facades\Toastr;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Carbon;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\Storage;
|
|
use App\CentralLogics\Helpers;
|
|
|
|
|
|
class SystemController extends Controller
|
|
{
|
|
|
|
public function restaurant_data()
|
|
{
|
|
$new_order = DB::table('orders')->where(['checked' => 0])->count();
|
|
return response()->json([
|
|
'success' => 1,
|
|
'data' => ['new_order' => $new_order]
|
|
]);
|
|
}
|
|
|
|
public function settings()
|
|
{
|
|
return view('admin-views.settings');
|
|
}
|
|
|
|
public function settings_update(Request $request)
|
|
{
|
|
$request->validate([
|
|
'f_name' => 'required',
|
|
'l_name' => 'required',
|
|
'email' => 'required|unique:admins,email,'.auth('admin')->id(),
|
|
'phone' => 'required|regex:/^([0-9\s\-\+\(\)]*)$/|min:10|unique:admins,phone,'.auth('admin')->id(),
|
|
], [
|
|
'f_name.required' => translate('messages.first_name_is_required'),
|
|
'l_name.required' => translate('messages.Last name is required!'),
|
|
]);
|
|
|
|
$admin = Admin::find(auth('admin')->id());
|
|
|
|
if ($request->has('image')) {
|
|
$image_name =Helpers::update('admin/', $admin->image, 'png', $request->file('image'));
|
|
} else {
|
|
$image_name = $admin['image'];
|
|
}
|
|
|
|
|
|
$admin->f_name = $request->f_name;
|
|
$admin->l_name = $request->l_name;
|
|
$admin->email = $request->email;
|
|
$admin->phone = $request->phone;
|
|
$admin->image = $image_name;
|
|
$admin->save();
|
|
Toastr::success(translate('messages.admin_updated_successfully'));
|
|
return back();
|
|
}
|
|
|
|
public function settings_password_update(Request $request)
|
|
{
|
|
$request->validate([
|
|
'password' => 'required|same:confirm_password',
|
|
'confirm_password' => 'required',
|
|
]);
|
|
|
|
$admin = Admin::find(auth('admin')->id());
|
|
$admin->password = bcrypt($request['password']);
|
|
$admin->save();
|
|
Toastr::success(translate('messages.admin_password_updated_successfully'));
|
|
return back();
|
|
}
|
|
|
|
public function maintenance_mode()
|
|
{
|
|
$maintenance_mode = BusinessSetting::where('key', 'maintenance_mode')->first();
|
|
if (isset($maintenance_mode) == false) {
|
|
DB::table('business_settings')->insert([
|
|
'key' => 'maintenance_mode',
|
|
'value' => 1,
|
|
'created_at' => now(),
|
|
'updated_at' => now(),
|
|
]);
|
|
} else {
|
|
DB::table('business_settings')->where(['key' => 'maintenance_mode'])->update([
|
|
'key' => 'maintenance_mode',
|
|
'value' => $maintenance_mode->value == 1 ? 0 : 1,
|
|
'updated_at' => now(),
|
|
]);
|
|
}
|
|
|
|
if (isset($maintenance_mode) && $maintenance_mode->value){
|
|
return response()->json(['message'=>'Maintenance is off.']);
|
|
}
|
|
return response()->json(['message'=>'Maintenance is on.']);
|
|
}
|
|
|
|
public function update_fcm_token(Request $request){
|
|
$admin = $request->user();
|
|
$admin->firebase_token = $request->token;
|
|
$admin->save();
|
|
|
|
return response()->json([]);
|
|
|
|
}
|
|
}
|
|
|