diff --git a/app/Classes/Pterodactyl.php b/app/Classes/Pterodactyl.php index 1e5bd646..e617a3a3 100644 --- a/app/Classes/Pterodactyl.php +++ b/app/Classes/Pterodactyl.php @@ -27,10 +27,10 @@ class Pterodactyl public static function client() { return Http::withHeaders([ - 'Authorization' => 'Bearer ' . env('PTERODACTYL_TOKEN', false), + 'Authorization' => 'Bearer ' . Settings::getValueByKey("SETTINGS::SYSTEM:PTERODACTYL:TOKEN"), 'Content-type' => 'application/json', 'Accept' => 'Application/vnd.pterodactyl.v1+json', - ])->baseUrl(env('PTERODACTYL_URL') . '/api'); + ])->baseUrl(Settings::getValueByKey("SETTINGS::SYSTEM:PTERODACTYL:URL") . '/api'); } /** @@ -158,7 +158,7 @@ class Pterodactyl */ public static function url(string $route): string { - return env('PTERODACTYL_URL') . $route; + return Settings::getValueByKey("SETTINGS::SYSTEM:PTERODACTYL:URL") . $route; } /** diff --git a/app/Classes/Settings/Misc.php b/app/Classes/Settings/Misc.php new file mode 100644 index 00000000..90a58943 --- /dev/null +++ b/app/Classes/Settings/Misc.php @@ -0,0 +1,57 @@ +validate([ + 'icon' => 'nullable|max:10000|mimes:jpg,png,jpeg', + 'favicon' => 'nullable|max:10000|mimes:ico', + ]); + + if ($request->hasFile('icon')) { + $request->file('icon')->storeAs('public', 'icon.png'); + } + + if ($request->hasFile('favicon')) { + $request->file('favicon')->storeAs('public', 'favicon.ico'); + } + + $values = [ + //SETTINGS::VALUE => REQUEST-VALUE (coming from the html-form) + "SETTINGS::MISC:PHPMYADMIN:URL" => "phpmyadmin-url" + ]; + + + foreach ($values as $key => $value) { + $param = $request->get($value); + if (!$param) { + $param = ""; + } + Settings::where('key', $key)->update(['value' => $param]); + Cache::forget("setting" . ':' . $key); + Session::remove("locale"); + } + + + return redirect()->route('admin.settings.index')->with('success', 'Misc settings updated!'); + } + +} diff --git a/app/Http/Controllers/Admin/ServerController.php b/app/Http/Controllers/Admin/ServerController.php index 2211be38..3006de94 100644 --- a/app/Http/Controllers/Admin/ServerController.php +++ b/app/Http/Controllers/Admin/ServerController.php @@ -6,6 +6,7 @@ use App\Classes\Pterodactyl; use App\Classes\PterodactylWrapper; use App\Http\Controllers\Controller; use App\Models\Server; +use App\Models\Settings; use Exception; use Illuminate\Contracts\Foundation\Application; use Illuminate\Contracts\View\Factory; @@ -161,7 +162,7 @@ class ServerController extends Controller return $server->suspended ? $server->suspended->diffForHumans() : ''; }) ->editColumn('name', function (Server $server) { - return '' . $server->name . ''; + return 'pterodactyl_id . '">' . $server->name . ''; }) ->rawColumns(['user', 'actions', 'status', 'name']) ->make(); diff --git a/app/Http/Controllers/Admin/SettingsControllers/SettingsController.php b/app/Http/Controllers/Admin/SettingsControllers/SettingsController.php index 4dd493e5..27a97b25 100644 --- a/app/Http/Controllers/Admin/SettingsControllers/SettingsController.php +++ b/app/Http/Controllers/Admin/SettingsControllers/SettingsController.php @@ -41,25 +41,6 @@ class SettingsController extends Controller ]); } - public function updateIcons(Request $request) - { - $request->validate([ - 'icon' => 'nullable|max:10000|mimes:jpg,png,jpeg', - 'favicon' => 'nullable|max:10000|mimes:ico', - ]); - - if ($request->hasFile('icon')) { - $request->file('icon')->storeAs('public', 'icon.png'); - } - - if ($request->hasFile('favicon')) { - $request->file('favicon')->storeAs('public', 'favicon.ico'); - } - - return redirect()->route('admin.settings.index')->with('success', __('Icons updated!')); - } - - public function updatevalue(Request $request) { @@ -91,8 +72,7 @@ class SettingsController extends Controller $query = Settings:: where('key', 'like', '%SYSTEM%') ->orWhere('key', 'like', '%USER%') - ->orWhere('key', 'like', '%SERVER%') - ->orWhere('key', 'like', '%PAYMENTS%'); + ->orWhere('key', 'like', '%SERVER%'); return datatables($query) ->addColumn('actions', function (Settings $setting) { diff --git a/app/Http/Controllers/Admin/UserController.php b/app/Http/Controllers/Admin/UserController.php index eb36fa38..c0940cd7 100644 --- a/app/Http/Controllers/Admin/UserController.php +++ b/app/Http/Controllers/Admin/UserController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers\Admin; use App\Classes\Pterodactyl; use App\Events\UserUpdateCreditsEvent; use App\Http\Controllers\Controller; +use App\Models\Settings; use App\Models\User; use App\Notifications\DynamicNotification; use Spatie\QueryBuilder\QueryBuilder; @@ -300,7 +301,7 @@ class UserController extends Controller return '' . $user->role . ''; }) ->editColumn('name', function (User $user) { - return '' . $user->name . ''; + return 'pterodactyl_id . '">' . $user->name . ''; }) ->orderColumn('last_seen', function ($query, $order) { $query->orderBy('last_seen', $order); diff --git a/resources/views/admin/settings/tabs/dashboard.blade.php b/resources/views/admin/settings/tabs/misc.blade.php similarity index 66% rename from resources/views/admin/settings/tabs/dashboard.blade.php rename to resources/views/admin/settings/tabs/misc.blade.php index 5c6f2902..13ee8205 100644 --- a/resources/views/admin/settings/tabs/dashboard.blade.php +++ b/resources/views/admin/settings/tabs/misc.blade.php @@ -1,11 +1,25 @@ -
+
+ action="{{ route('admin.settings.update.miscsettings') }}"> @csrf @method('PATCH')