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.
		
		
		
		
			
				
					60 lines
				
				2.0 KiB
			
		
		
			
		
	
	
					60 lines
				
				2.0 KiB
			| 
								 
											2 years ago
										 
									 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace App\Http\Controllers\Admin;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use App\Http\Controllers\Controller;
							 | 
						||
| 
								 | 
							
								use Illuminate\Http\Request;
							 | 
						||
| 
								 | 
							
								use Illuminate\Support\Facades\DB;
							 | 
						||
| 
								 | 
							
								use Brian2694\Toastr\Facades\Toastr;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class DatabaseSettingController extends Controller
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    public function db_index()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $tables = DB::connection()->getDoctrineSchemaManager()->listTableNames();
							 | 
						||
| 
								 | 
							
								        $filter_tables = array(
							 | 
						||
| 
								 | 
							
								            'admin_roles', 'admins', 'business_settings', 'colors', 'currencies',
							 | 
						||
| 
								 | 
							
								            'failed_jobs', 'migrations', 'oauth_access_tokens', 'oauth_auth_codes',
							 | 
						||
| 
								 | 
							
								            'oauth_clients', 'oauth_personal_access_clients', 'oauth_refresh_tokens',
							 | 
						||
| 
								 | 
							
								            'password_resets', 'personal_access_tokens', 'phone_or_email_verifications',
							 | 
						||
| 
								 | 
							
								            'social_medias', 'soft_credentials', 'users','email_verifications',
							 | 
						||
| 
								 | 
							
								            'phone_verifications','phone_verifications','restaurant_zone','mail_configs',
							 | 
						||
| 
								 | 
							
								            'translations','vendor_employees'
							 | 
						||
| 
								 | 
							
								        );
							 | 
						||
| 
								 | 
							
								        $tables = array_values(array_diff($tables, $filter_tables));
							 | 
						||
| 
								 | 
							
								        $filter_tables = array_diff($tables, $filter_tables);
							 | 
						||
| 
								 | 
							
								        $rows = [];
							 | 
						||
| 
								 | 
							
								        foreach ($filter_tables as $table) {
							 | 
						||
| 
								 | 
							
								            $count = DB::table($table)->count();
							 | 
						||
| 
								 | 
							
								            array_push($rows, $count);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        return view('admin-views.business-settings.db-index', compact('tables', 'rows'));
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    public function clean_db(Request $request)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $tables = (array)$request->tables;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        if (count($tables) == 0) {
							 | 
						||
| 
								 | 
							
								            Toastr::error(translate('No Table Updated'));
							 | 
						||
| 
								 | 
							
								            return back();
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        try {
							 | 
						||
| 
								 | 
							
								            DB::transaction(function () use ($tables) {
							 | 
						||
| 
								 | 
							
								                foreach ($tables as $table) {
							 | 
						||
| 
								 | 
							
								                    DB::table($table)->delete();
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            });
							 | 
						||
| 
								 | 
							
								        } catch (\Exception $exception) {
							 | 
						||
| 
								 | 
							
								            Toastr::error(translate('Failed to update!'));
							 | 
						||
| 
								 | 
							
								            return back();
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        Toastr::success(translate('messages.updated_successfully'));
							 | 
						||
| 
								 | 
							
								        return back();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |