diff --git a/app/Classes/Settings/System.php b/app/Classes/Settings/System.php
index 56e9d480..3cfd8517 100644
--- a/app/Classes/Settings/System.php
+++ b/app/Classes/Settings/System.php
@@ -44,8 +44,17 @@ public function checkPteroClientkey(){
"pterodactyl-url" => "required|string",
"per-page-limit" => "required|min:0|integer",
"pterodactyl-admin-api-key" => "required|string",
+ "enable-upgrades" => "string",
]);
+
+ $validator->after(function ($validator) use ($request) {
+ // if enable-recaptcha is true then recaptcha-site-key and recaptcha-secret-key must be set
+ if ($request->get('enable-upgrades') == 'true' && (!$request->get('pterodactyl-admin-api-key'))) {
+ $validator->errors()->add('pterodactyl-admin-api-key', 'The admin api key is required when upgrades are enabled.');
+ }
+ });
+
if ($validator->fails()) {
return redirect(route('admin.settings.index') . '#system')->with('error', __('System settings have not been updated!'))->withErrors($validator)
->withInput();
@@ -75,6 +84,7 @@ public function checkPteroClientkey(){
"SETTINGS::SYSTEM:PTERODACTYL:TOKEN" => "pterodactyl-api-key",
"SETTINGS::SYSTEM:ENABLE_LOGIN_LOGO" => "enable-login-logo",
"SETTINGS::SYSTEM:PTERODACTYL:ADMIN_USER_TOKEN" => "pterodactyl-admin-api-key",
+ "SETTINGS::SYSTEM:ENABLE_UPGRADE" => "enable-upgrade",
];
diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php
index a9429689..62089d7e 100644
--- a/app/Http/Controllers/Auth/LoginController.php
+++ b/app/Http/Controllers/Auth/LoginController.php
@@ -3,9 +3,12 @@
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
+use App\Models\User;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Auth;
+use Illuminate\Support\Facades\Log;
class LoginController extends Controller
{
@@ -66,6 +69,9 @@ class LoginController extends Controller
}
if ($this->attemptLogin($request)) {
+ $user = Auth::user();
+ $user->last_seen = now();
+ $user->save();
return $this->sendLoginResponse($request);
}
diff --git a/app/Http/Controllers/ServerController.php b/app/Http/Controllers/ServerController.php
index f53f4756..cf731ddf 100644
--- a/app/Http/Controllers/ServerController.php
+++ b/app/Http/Controllers/ServerController.php
@@ -268,7 +268,7 @@ class ServerController extends Controller
$serverAttributes = Pterodactyl::getServerAttributes($server->pterodactyl_id);
$serverRelationships = $serverAttributes['relationships'];
- // Get node resource allocation info
+ // Get node resource allocation info
$nodeId = $serverRelationships['node']['attributes']['id'];
$node = Node::where('id', $nodeId)->firstOrFail();
$nodeName = $node->name;
@@ -284,7 +284,7 @@ class ServerController extends Controller
if ($priceupgrade < $oldProduct->getHourlyPrice()) {
$priceupgrade = 0;
}
- if ($user->credits >= $priceupgrade)
+ if ($user->credits >= $priceupgrade && $user->credits >= $newProduct->minimum_credits)
{
$server->product_id = $request->product_upgrade;
diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php
index 5f9dd9ff..4a193f98 100644
--- a/app/Providers/AppServiceProvider.php
+++ b/app/Providers/AppServiceProvider.php
@@ -107,12 +107,30 @@ class AppServiceProvider extends ServiceProvider
Artisan::call('cache:clear');
}
+
+ try {
+ $stringfromfile = file(base_path().'/.git/HEAD');
+
+ $firstLine = $stringfromfile[0]; //get the string from the array
+
+ $explodedstring = explode("/", $firstLine, 3); //seperate out by the "/" in the string
+
+ $branchname = $explodedstring[2]; //get the one that is always the branch name
+ } catch (Exception $e) {
+ $branchname = "unknown";
+ Log::error($e);
+ }
+ config(['BRANCHNAME' => $branchname]);
+
+
// Set Discord-API Config
config(['services.discord.client_id' => config('SETTINGS::DISCORD:CLIENT_ID')]);
config(['services.discord.client_secret' => config('SETTINGS::DISCORD:CLIENT_SECRET')]);
} catch (Exception $e) {
- error_log("Settings Error: Could not load settings from database");
- Log::error("Settings Error: Could not load settings from database");
+ error_log("Settings Error: Could not load settings from database. The Installation probably is not done yet.");
+ error_log($e);
+ Log::error("Settings Error: Could not load settings from database. The Installation probably is not done yet.");
+ Log::error($e);
}
}
}
diff --git a/config/app.php b/config/app.php
index 0d7b8c9f..90bdfdde 100644
--- a/config/app.php
+++ b/config/app.php
@@ -4,7 +4,7 @@ use App\Models\Settings;
return [
- 'version' => '0.8.1',
+ 'version' => '0.8.2',
/*
|--------------------------------------------------------------------------
diff --git a/database/seeders/Seeds/SettingsSeeder.php b/database/seeders/Seeds/SettingsSeeder.php
index 95a110de..4e9dc12d 100644
--- a/database/seeders/Seeds/SettingsSeeder.php
+++ b/database/seeders/Seeds/SettingsSeeder.php
@@ -515,5 +515,12 @@ class SettingsSeeder extends Seeder
'type' => 'string',
'description' => 'The Client API Key of an Pterodactyl Admin Account'
]);
+ Settings::firstOrCreate([
+ 'key' => 'SETTINGS::SYSTEM:ENABLE_UPGRADE',
+ ], [
+ 'value' =>"",
+ 'type' => 'string',
+ 'description' => 'Enables the updgrade/downgrade feature for servers'
+ ]);
}
}
diff --git a/resources/views/admin/api/index.blade.php b/resources/views/admin/api/index.blade.php
index 6eaf5fba..377095b1 100644
--- a/resources/views/admin/api/index.blade.php
+++ b/resources/views/admin/api/index.blade.php
@@ -65,7 +65,7 @@
document.addEventListener("DOMContentLoaded", function () {
$('#datatable').DataTable({
language: {
- url: '//cdn.datatables.net/plug-ins/1.11.3/i18n/{{config("app.datatable_locale")}}.json'
+ url: '//cdn.datatables.net/plug-ins/1.11.3/i18n/{{config("SETTINGS::LOCALE:DATATABLES")}}.json'
},
processing: true,
serverSide: true,
diff --git a/resources/views/admin/nests/index.blade.php b/resources/views/admin/nests/index.blade.php
index 843bbe5f..152773e4 100644
--- a/resources/views/admin/nests/index.blade.php
+++ b/resources/views/admin/nests/index.blade.php
@@ -75,7 +75,7 @@ THIS FILE IS DEPRECATED
document.addEventListener("DOMContentLoaded", function () {
$('#datatable').DataTable({
language: {
- url: '//cdn.datatables.net/plug-ins/1.11.3/i18n/{{config("app.datatable_locale")}}.json'
+ url: '//cdn.datatables.net/plug-ins/1.11.3/i18n/{{config("SETTINGS::LOCALE:DATATABLES")}}.json'
},
processing: true,
serverSide: true,
diff --git a/resources/views/admin/nodes/index.blade.php b/resources/views/admin/nodes/index.blade.php
index d6fe5034..bb57e0ce 100644
--- a/resources/views/admin/nodes/index.blade.php
+++ b/resources/views/admin/nodes/index.blade.php
@@ -75,7 +75,7 @@ THIS FILE IS DEPRECATED
document.addEventListener("DOMContentLoaded", function () {
$('#datatable').DataTable({
language: {
- url: '//cdn.datatables.net/plug-ins/1.11.3/i18n/{{config("app.datatable_locale")}}.json'
+ url: '//cdn.datatables.net/plug-ins/1.11.3/i18n/{{config("SETTINGS::LOCALE:DATATABLES")}}.json'
},
processing: true,
serverSide: true,
diff --git a/resources/views/admin/overview/index.blade.php b/resources/views/admin/overview/index.blade.php
index bfc81563..fa9c9124 100644
--- a/resources/views/admin/overview/index.blade.php
+++ b/resources/views/admin/overview/index.blade.php
@@ -142,6 +142,21 @@
{{__('Last updated :date', ['date' => $syncLastUpdate])}}
+
+
+
diff --git a/resources/views/admin/payments/index.blade.php b/resources/views/admin/payments/index.blade.php
index c60debba..6f907c36 100644
--- a/resources/views/admin/payments/index.blade.php
+++ b/resources/views/admin/payments/index.blade.php
@@ -66,7 +66,7 @@
document.addEventListener("DOMContentLoaded", function() {
$('#datatable').DataTable({
language: {
- url: '//cdn.datatables.net/plug-ins/1.11.3/i18n/{{config("app.datatable_locale")}}.json'
+ url: '//cdn.datatables.net/plug-ins/1.11.3/i18n/{{config("SETTINGS::LOCALE:DATATABLES")}}.json'
},
processing: true,
serverSide: true,
diff --git a/resources/views/admin/products/index.blade.php b/resources/views/admin/products/index.blade.php
index b7c241b3..30d2b712 100644
--- a/resources/views/admin/products/index.blade.php
+++ b/resources/views/admin/products/index.blade.php
@@ -78,7 +78,7 @@
document.addEventListener("DOMContentLoaded", function () {
$("#datatable").DataTable({
language: {
- url: '//cdn.datatables.net/plug-ins/1.11.3/i18n/{{config("app.datatable_locale")}}.json'
+ url: '//cdn.datatables.net/plug-ins/1.11.3/i18n/{{config("SETTINGS::LOCALE:DATATABLES")}}.json'
},
processing: true,
serverSide: true,
diff --git a/resources/views/admin/servers/table.blade.php b/resources/views/admin/servers/table.blade.php
index 09426c76..b71671de 100644
--- a/resources/views/admin/servers/table.blade.php
+++ b/resources/views/admin/servers/table.blade.php
@@ -23,7 +23,7 @@
document.addEventListener("DOMContentLoaded", function () {
$('#datatable').DataTable({
language: {
- url: '//cdn.datatables.net/plug-ins/1.11.3/i18n/{{config("app.datatable_locale")}}.json'
+ url: '//cdn.datatables.net/plug-ins/1.11.3/i18n/{{config("SETTINGS::LOCALE:DATATABLES")}}.json'
},
processing: true,
serverSide: true,
diff --git a/resources/views/admin/settings/tabs/system.blade.php b/resources/views/admin/settings/tabs/system.blade.php
index 899dc133..dee381c2 100644
--- a/resources/views/admin/settings/tabs/system.blade.php
+++ b/resources/views/admin/settings/tabs/system.blade.php
@@ -102,6 +102,11 @@
+ @error('pterodactyl-admin-api-key')
+
+ {{$message}}
+
+ @enderror
@@ -189,6 +194,21 @@
{{ __('Server') }}
+
{{-- Design --}}
diff --git a/resources/views/admin/usefullinks/index.blade.php b/resources/views/admin/usefullinks/index.blade.php
index f0cc60a6..32100334 100644
--- a/resources/views/admin/usefullinks/index.blade.php
+++ b/resources/views/admin/usefullinks/index.blade.php
@@ -67,7 +67,7 @@
document.addEventListener("DOMContentLoaded", function () {
$('#datatable').DataTable({
language: {
- url: '//cdn.datatables.net/plug-ins/1.11.3/i18n/{{config("app.datatable_locale")}}.json'
+ url: '//cdn.datatables.net/plug-ins/1.11.3/i18n/{{config("SETTINGS::LOCALE:DATATABLES")}}.json'
},
processing: true,
serverSide: true,
diff --git a/resources/views/admin/users/index.blade.php b/resources/views/admin/users/index.blade.php
index 7cf8665d..b3a0e87f 100644
--- a/resources/views/admin/users/index.blade.php
+++ b/resources/views/admin/users/index.blade.php
@@ -74,7 +74,7 @@
document.addEventListener("DOMContentLoaded", function () {
$('#datatable').DataTable({
language: {
- url: '//cdn.datatables.net/plug-ins/1.11.3/i18n/{{config("app.datatable_locale")}}.json'
+ url: '//cdn.datatables.net/plug-ins/1.11.3/i18n/{{config("SETTINGS::LOCALE:DATATABLES")}}.json'
},
processing: true,
serverSide: false, //increases loading times too much? change back to "true" if it does
diff --git a/resources/views/admin/vouchers/index.blade.php b/resources/views/admin/vouchers/index.blade.php
index 59f0efc6..1f60e9aa 100644
--- a/resources/views/admin/vouchers/index.blade.php
+++ b/resources/views/admin/vouchers/index.blade.php
@@ -70,7 +70,7 @@
document.addEventListener("DOMContentLoaded", function () {
$('#datatable').DataTable({
language: {
- url: '//cdn.datatables.net/plug-ins/1.11.3/i18n/{{config("app.datatable_locale")}}.json'
+ url: '//cdn.datatables.net/plug-ins/1.11.3/i18n/{{config("SETTINGS::LOCALE:DATATABLES")}}.json'
},
processing: true,
serverSide: true,
diff --git a/resources/views/admin/vouchers/users.blade.php b/resources/views/admin/vouchers/users.blade.php
index c12281fb..284dc1c3 100644
--- a/resources/views/admin/vouchers/users.blade.php
+++ b/resources/views/admin/vouchers/users.blade.php
@@ -63,7 +63,7 @@
document.addEventListener("DOMContentLoaded", function() {
$('#datatable').DataTable({
language: {
- url: '//cdn.datatables.net/plug-ins/1.11.3/i18n/{{config("app.datatable_locale")}}.json'
+ url: '//cdn.datatables.net/plug-ins/1.11.3/i18n/{{config("SETTINGS::LOCALE:DATATABLES")}}.json'
},
processing: true,
serverSide: true,
diff --git a/resources/views/layouts/main.blade.php b/resources/views/layouts/main.blade.php
index 55fa3ceb..ae31b5e1 100644
--- a/resources/views/layouts/main.blade.php
+++ b/resources/views/layouts/main.blade.php
@@ -403,8 +403,10 @@
Copyright © 2021-{{ date('Y') }} {{ env('APP_NAME', 'Laravel') }}.
All rights
- reserved. Powered by ControlPanel. Version
- {{ config('app')['version'] }}
+ reserved. Powered by ControlPanel.
+ @if(!str_contains(config("BRANCHNAME"),"main"))
+ Version {{ config('app')['version'] }} - {{config("BRANCHNAME")}}
+ @endif
diff --git a/resources/views/moderator/ticket/blacklist.blade.php b/resources/views/moderator/ticket/blacklist.blade.php
index 2a8d8f2a..403a5b90 100644
--- a/resources/views/moderator/ticket/blacklist.blade.php
+++ b/resources/views/moderator/ticket/blacklist.blade.php
@@ -90,7 +90,7 @@
document.addEventListener("DOMContentLoaded", function () {
$('#datatable').DataTable({
language: {
- url: '//cdn.datatables.net/plug-ins/1.11.3/i18n/{{config("app.datatable_locale")}}.json'
+ url: '//cdn.datatables.net/plug-ins/1.11.3/i18n/{{config("SETTINGS::LOCALE:DATATABLES")}}.json'
},
processing: true,
serverSide: true,
diff --git a/resources/views/moderator/ticket/index.blade.php b/resources/views/moderator/ticket/index.blade.php
index 203ca227..3ec056a4 100644
--- a/resources/views/moderator/ticket/index.blade.php
+++ b/resources/views/moderator/ticket/index.blade.php
@@ -48,10 +48,10 @@
-
+
-
+
@@ -63,7 +63,7 @@
document.addEventListener("DOMContentLoaded", function () {
$('#datatable').DataTable({
language: {
- url: '//cdn.datatables.net/plug-ins/1.11.3/i18n/{{config("app.datatable_locale")}}.json'
+ url: '//cdn.datatables.net/plug-ins/1.11.3/i18n/{{config("SETTINGS::LOCALE:DATATABLES")}}.json'
},
processing: true,
serverSide: true,
diff --git a/resources/views/moderator/ticket/show.blade.php b/resources/views/moderator/ticket/show.blade.php
index 18e4ebaa..22bd2ea1 100644
--- a/resources/views/moderator/ticket/show.blade.php
+++ b/resources/views/moderator/ticket/show.blade.php
@@ -51,6 +51,11 @@
@endif
Created on: {{ $ticket->created_at->diffForHumans() }}
+
diff --git a/resources/views/servers/settings.blade.php b/resources/views/servers/settings.blade.php
index 7607de10..e320533c 100644
--- a/resources/views/servers/settings.blade.php
+++ b/resources/views/servers/settings.blade.php
@@ -221,16 +221,14 @@
+ @endif