diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php index ba50269..8979ecf 100755 --- a/app/Http/Controllers/AdminController.php +++ b/app/Http/Controllers/AdminController.php @@ -208,4 +208,30 @@ class AdminController extends Controller return view('panel/phpinfo'); } + //Shows config file editor page + public function showFileEditor(request $request) + { + return view('/panel/config'); + } + + //Saves advanced config + public function editAC(request $request) + { + $AdvancedConfig = $request->AdvancedConfig; + + file_put_contents('config/advanced-config.php', $AdvancedConfig); + + return view('/panel/config'); + } + + //Saves .env config + public function editENV(request $request) + { + $AdvancedConfig = $request->AdvancedConfig; + + file_put_contents('.env', $AdvancedConfig); + + return view('/panel/config'); + } + } diff --git a/resources/views/panel/config.blade.php b/resources/views/panel/config.blade.php new file mode 100644 index 0000000..4d4f170 --- /dev/null +++ b/resources/views/panel/config.blade.php @@ -0,0 +1,51 @@ +@extends( ($_SERVER['QUERY_STRING'] === 'restore-defaults') ? 'layouts.lang' : 'layouts.sidebar') + +@if($_SERVER['QUERY_STRING'] === 'restore-defaults') +current() . "/../../panel/advanced-config\" />"; +?> +@else + +@section('content') + + +@if(str_ends_with($_SERVER['REQUEST_URI'], 'advanced-config')) +

Advanced config

+

Allows editing the frontend of your site. Amongst other things, this file allows customization of:
+Home Page, links, titles, Google Analytics and meta tags.

+
+ @csrf +
+ +
+
+ + Restore defaults + +
+@elseif(str_ends_with($_SERVER['REQUEST_URI'], 'env')) +

ENV

+ +
+ @csrf +
+ +
+
+ +
+@endif + + + +@endsection +@endif \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 4cfe7d2..3759de1 100755 --- a/routes/web.php +++ b/routes/web.php @@ -99,6 +99,10 @@ Route::get('/panel/edit-user/{id}', [AdminController::class, 'showUser'])->name( Route::post('/panel/edit-user/{id}', [AdminController::class, 'editUser'])->name('editUser'); Route::get('/panel/pages', [AdminController::class, 'showSitePage'])->name('showSitePage'); Route::post('/panel/pages', [AdminController::class, 'editSitePage'])->name('editSitePage'); +Route::get('/panel/advanced-config', [AdminController::class, 'showFileEditor'])->name('showFileEditor'); +Route::post('/panel/advanced-config', [AdminController::class, 'editAC'])->name('editAC'); +Route::get('/panel/env', [AdminController::class, 'showFileEditor'])->name('showFileEditor'); +Route::post('/panel/env', [AdminController::class, 'editENV'])->name('editENV'); Route::get('/panel/site', [AdminController::class, 'showSite'])->name('showSite'); Route::post('/panel/site', [AdminController::class, 'editSite'])->name('editSite'); Route::get('/panel/phpinfo', [AdminController::class, 'phpinfo'])->name('phpinfo');