Development (#798)
This commit is contained in:
commit
03bad4f75b
|
@ -1,5 +1,5 @@
|
||||||
### --- App Settings --- ###
|
### --- App Settings --- ###
|
||||||
APP_NAME=Controlpanel.gg
|
APP_NAME=CtrlPanel.gg
|
||||||
APP_ENV=production
|
APP_ENV=production
|
||||||
APP_KEY=
|
APP_KEY=
|
||||||
APP_DEBUG=false
|
APP_DEBUG=false
|
||||||
|
|
2
.github/ISSUE_TEMPLATE/config.yml
vendored
2
.github/ISSUE_TEMPLATE/config.yml
vendored
|
@ -5,4 +5,4 @@ contact_links:
|
||||||
about: Please visit our Discord for help with your installation.
|
about: Please visit our Discord for help with your installation.
|
||||||
- name: ❓ General Question
|
- name: ❓ General Question
|
||||||
url: https://discord.gg/4Y6HjD2uyU
|
url: https://discord.gg/4Y6HjD2uyU
|
||||||
about: Please visit our Discord for general questions about the ControlPanel.
|
about: Please visit our Discord for general questions about the CtrlPanel.
|
||||||
|
|
2
LICENSE
2
LICENSE
|
@ -1,6 +1,6 @@
|
||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2021 ControlPanel.gg
|
Copyright (c) 2021 CtrlPanel.gg
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|
10
README.md
10
README.md
|
@ -17,19 +17,19 @@
|
||||||
- Theme Support
|
- Theme Support
|
||||||
- and so much more!
|
- and so much more!
|
||||||
|
|
||||||
# ControlPanel-gg
|
# CtrlPanel-gg
|
||||||
|
|
||||||
![controlpanel](https://user-images.githubusercontent.com/67899387/214684708-739c1d21-06e8-4dec-a4f1-81533a46cc7e.png)
|
![ctrlpanel](https://user-images.githubusercontent.com/67899387/214684708-739c1d21-06e8-4dec-a4f1-81533a46cc7e.png)
|
||||||
|
|
||||||
|
|
||||||
![](https://img.shields.io/endpoint?label=v0.9%20Installations&url=https%3A%2F%2Fmarket.ctrlpanel.gg%2Fcallhome.php%3Fgetinstalls)
|
![](https://img.shields.io/endpoint?label=v0.9%20Installations&url=https%3A%2F%2Fmarket.ctrlpanel.gg%2Fcallhome.php%3Fgetinstalls)
|
||||||
![](https://img.shields.io/badge/Overall%20Installations-5000%2B-green)
|
![](https://img.shields.io/badge/Overall%20Installations-5000%2B-green)
|
||||||
![](https://img.shields.io/github/stars/ControlPanel-gg/dashboard) ![](https://img.shields.io/github/forks/ControlPanel-gg/dashboard) ![](https://img.shields.io/github/tag/ControlPanel-gg/dashboard) [![Crowdin](https://badges.crowdin.net/controlpanelgg/localized.svg)](https://crowdin.com/project/controlpanelgg) ![](https://img.shields.io/github/issues/ControlPanel-gg/dashboard) ![](https://img.shields.io/github/license/ControlPanel-gg/dashboard) ![](https://img.shields.io/discord/787829714483019826)
|
![](https://img.shields.io/github/stars/ctrlpanel-gg/dashboard) ![](https://img.shields.io/github/forks/ctrlpanel-gg/panel) ![](https://img.shields.io/github/tag/ctrlpanel-gg/panel) [![Crowdin](https://badges.crowdin.com/project/controlpanelgg/localized.svg)](https://crowdin.com/project/controlpanelgg) ![](https://img.shields.io/github/issues/ctrlpanel-gg/panel) ![](https://img.shields.io/github/license/ctrlpanel-gg/panel) ![](https://img.shields.io/discord/787829714483019826)
|
||||||
## About
|
## About
|
||||||
|
|
||||||
ControlPanel's Dashboard is a dashboard application designed to offer clients a management tool to manage their pterodactyl servers. This dashboard comes with a credit-based billing solution that credits users hourly for each server they have and suspends them if they run out of credits.
|
CtrlPanel's Dashboard is a dashboard application designed to offer clients a management tool to manage their pterodactyl servers. This dashboard comes with a credit-based billing solution that credits users hourly for each server they have and suspends them if they run out of credits.
|
||||||
|
|
||||||
This dashboard offers an easy to use and free billing solution for all starting and experienced hosting providers. This dashboard has many customisation options and added discord Oauth verification to offer a solid link between your discord server and your dashboard. You can check our [Demo here](https://demo.controlpanel.gg "Demo").
|
This dashboard offers an easy to use and free billing solution for all starting and experienced hosting providers. This dashboard has many customisation options and added discord Oauth verification to offer a solid link between your discord server and your dashboard. You can check our [Demo here](https://demo.CtrlPanel.gg "Demo").
|
||||||
|
|
||||||
### [Installation](https://ctrlpanel.gg/docs/intro "Installation")
|
### [Installation](https://ctrlpanel.gg/docs/intro "Installation")
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ class GetGithubVersion extends Command
|
||||||
public function handle()
|
public function handle()
|
||||||
{
|
{
|
||||||
try{
|
try{
|
||||||
$latestVersion = Http::get('https://api.github.com/repos/controlpanel-gg/dashboard/tags')->json()[0]['name'];
|
$latestVersion = Http::get('https://api.github.com/repos/ctrlpanel-gg/panel/tags')->json()[0]['name'];
|
||||||
Storage::disk('local')->put('latestVersion', $latestVersion);
|
Storage::disk('local')->put('latestVersion', $latestVersion);
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
Storage::disk('local')->put('latestVersion', "unknown");
|
Storage::disk('local')->put('latestVersion', "unknown");
|
||||||
|
|
|
@ -15,12 +15,7 @@ class MollieSettings extends Settings
|
||||||
return 'mollie';
|
return 'mollie';
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function encrypted(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'api_key',
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function getOptionInputData()
|
public static function getOptionInputData()
|
||||||
{
|
{
|
||||||
|
|
|
@ -6,7 +6,7 @@ class CreateMollieSettings extends SettingsMigration
|
||||||
{
|
{
|
||||||
public function up(): void
|
public function up(): void
|
||||||
{
|
{
|
||||||
$this->migrator->addEncrypted('mollie.api_key', null);
|
$this->migrator->add('mollie.api_key', null);
|
||||||
$this->migrator->add('mollie.enabled', false);
|
$this->migrator->add('mollie.enabled', false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -87,7 +87,7 @@ class PayPalExtension extends AbstractExtension
|
||||||
"application_context" => [
|
"application_context" => [
|
||||||
"cancel_url" => route('payment.Cancel'),
|
"cancel_url" => route('payment.Cancel'),
|
||||||
"return_url" => route('payment.PayPalSuccess', ['payment' => $payment->id]),
|
"return_url" => route('payment.PayPalSuccess', ['payment' => $payment->id]),
|
||||||
'brand_name' => config('app.name', 'Controlpanel.GG'),
|
'brand_name' => config('app.name', 'CtrlPanel.GG'),
|
||||||
'shipping_preference' => 'NO_SHIPPING'
|
'shipping_preference' => 'NO_SHIPPING'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -18,15 +18,7 @@ class PayPalSettings extends Settings
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static function encrypted(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'client_id',
|
|
||||||
'client_secret',
|
|
||||||
'sandbox_client_id',
|
|
||||||
'sandbox_client_secret'
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Summary of optionInputData array
|
* Summary of optionInputData array
|
||||||
|
|
|
@ -11,10 +11,10 @@ class CreatePayPalSettings extends SettingsMigration
|
||||||
$table_exists = DB::table('settings_old')->exists();
|
$table_exists = DB::table('settings_old')->exists();
|
||||||
|
|
||||||
|
|
||||||
$this->migrator->addEncrypted('paypal.client_id', $table_exists ? $this->getOldValue('SETTINGS::PAYMENTS:PAYPAL:CLIENT_ID') : null);
|
$this->migrator->add('paypal.client_id', $table_exists ? $this->getOldValue('SETTINGS::PAYMENTS:PAYPAL:CLIENT_ID') : null);
|
||||||
$this->migrator->addEncrypted('paypal.client_secret', $table_exists ? $this->getOldValue('SETTINGS::PAYMENTS:PAYPAL:SECRET') : null);
|
$this->migrator->add('paypal.client_secret', $table_exists ? $this->getOldValue('SETTINGS::PAYMENTS:PAYPAL:SECRET') : null);
|
||||||
$this->migrator->addEncrypted('paypal.sandbox_client_id', $table_exists ? $this->getOldValue('SETTINGS::PAYMENTS:PAYPAL:SANDBOX_CLIENT_ID') : null);
|
$this->migrator->add('paypal.sandbox_client_id', $table_exists ? $this->getOldValue('SETTINGS::PAYMENTS:PAYPAL:SANDBOX_CLIENT_ID') : null);
|
||||||
$this->migrator->addEncrypted('paypal.sandbox_client_secret', $table_exists ? $this->getOldValue('SETTINGS::PAYMENTS:PAYPAL:SANDBOX_SECRET') : null);
|
$this->migrator->add('paypal.sandbox_client_secret', $table_exists ? $this->getOldValue('SETTINGS::PAYMENTS:PAYPAL:SANDBOX_SECRET') : null);
|
||||||
$this->migrator->add('paypal.enabled', false);
|
$this->migrator->add('paypal.enabled', false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,15 +19,7 @@ class StripeSettings extends Settings
|
||||||
return 'stripe';
|
return 'stripe';
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function encrypted(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
"secret_key",
|
|
||||||
"endpoint_secret",
|
|
||||||
"test_secret_key",
|
|
||||||
"test_endpoint_secret"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function getOptionInputData()
|
public static function getOptionInputData()
|
||||||
{
|
{
|
||||||
|
|
|
@ -9,10 +9,10 @@ class CreateStripeSettings extends SettingsMigration
|
||||||
{
|
{
|
||||||
$table_exists = DB::table('settings_old')->exists();
|
$table_exists = DB::table('settings_old')->exists();
|
||||||
|
|
||||||
$this->migrator->addEncrypted('stripe.secret_key', $table_exists ? $this->getOldValue('SETTINGS::PAYMENTS:STRIPE:SECRET') : null);
|
$this->migrator->add('stripe.secret_key', $table_exists ? $this->getOldValue('SETTINGS::PAYMENTS:STRIPE:SECRET') : null);
|
||||||
$this->migrator->addEncrypted('stripe.endpoint_secret', $table_exists ? $this->getOldValue('SETTINGS::PAYMENTS:STRIPE:ENDPOINT_SECRET') : null);
|
$this->migrator->add('stripe.endpoint_secret', $table_exists ? $this->getOldValue('SETTINGS::PAYMENTS:STRIPE:ENDPOINT_SECRET') : null);
|
||||||
$this->migrator->addEncrypted('stripe.test_secret_key', $table_exists ? $this->getOldValue('SETTINGS::PAYMENTS:STRIPE:TEST_SECRET') : null);
|
$this->migrator->add('stripe.test_secret_key', $table_exists ? $this->getOldValue('SETTINGS::PAYMENTS:STRIPE:TEST_SECRET') : null);
|
||||||
$this->migrator->addEncrypted('stripe.test_endpoint_secret', $table_exists ? $this->getOldValue('SETTINGS::PAYMENTS:STRIPE:ENDPOINT_TEST_SECRET') : null);
|
$this->migrator->add('stripe.test_endpoint_secret', $table_exists ? $this->getOldValue('SETTINGS::PAYMENTS:STRIPE:ENDPOINT_TEST_SECRET') : null);
|
||||||
$this->migrator->add('stripe.enabled', false);
|
$this->migrator->add('stripe.enabled', false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ class HomeController extends Controller
|
||||||
if (Storage::exists('callHome')) {
|
if (Storage::exists('callHome')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Http::asForm()->post('https://market.controlpanel.gg/callhome.php', [
|
Http::asForm()->post('https://market.CtrlPanel.gg/callhome.php', [
|
||||||
'id' => Hash::make(URL::current()),
|
'id' => Hash::make(URL::current()),
|
||||||
]);
|
]);
|
||||||
Storage::put('callHome', 'This is only used to count the installations of cpgg.');
|
Storage::put('callHome', 'This is only used to count the installations of cpgg.');
|
||||||
|
|
|
@ -18,14 +18,7 @@ class DiscordSettings extends Settings
|
||||||
return 'discord';
|
return 'discord';
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function encrypted(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'bot_token',
|
|
||||||
'client_id',
|
|
||||||
'client_secret'
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Summary of validations array
|
* Summary of validations array
|
||||||
|
|
|
@ -24,13 +24,7 @@ class GeneralSettings extends Settings
|
||||||
return 'general';
|
return 'general';
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function encrypted(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'recaptcha_site_key',
|
|
||||||
'recaptcha_secret_key'
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Summary of validations array
|
* Summary of validations array
|
||||||
|
|
|
@ -21,12 +21,7 @@ class MailSettings extends Settings
|
||||||
return 'mail';
|
return 'mail';
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function encrypted(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'mail_password'
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setConfig()
|
public function setConfig()
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,13 +16,7 @@ class PterodactylSettings extends Settings
|
||||||
return 'pterodactyl';
|
return 'pterodactyl';
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function encrypted(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'admin_token',
|
|
||||||
'user_token'
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get url with ensured ending backslash
|
* Get url with ensured ending backslash
|
||||||
|
|
528
composer.lock
generated
528
composer.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -17,7 +17,7 @@ return [
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'name' => env('APP_NAME', 'Controlpanel.gg'),
|
'name' => env('APP_NAME', 'CtrlPanel.gg'),
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
@ -93,7 +93,7 @@ return [
|
||||||
|
|
||||||
'from' => [
|
'from' => [
|
||||||
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
|
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
|
||||||
'name' => env('MAIL_FROM_NAME', 'ControlPanel'),
|
'name' => env('MAIL_FROM_NAME', 'CtrlPanel'),
|
||||||
],
|
],
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -12,8 +12,8 @@ class CreateGeneralSettings extends SettingsMigration
|
||||||
// Get the user-set configuration values from the old table.
|
// Get the user-set configuration values from the old table.
|
||||||
$this->migrator->add('general.store_enabled', true);
|
$this->migrator->add('general.store_enabled', true);
|
||||||
$this->migrator->add('general.credits_display_name', $table_exists ? $this->getOldValue('SETTINGS::SYSTEM:CREDITS_DISPLAY_NAME') : 'Credits');
|
$this->migrator->add('general.credits_display_name', $table_exists ? $this->getOldValue('SETTINGS::SYSTEM:CREDITS_DISPLAY_NAME') : 'Credits');
|
||||||
$this->migrator->addEncrypted('general.recaptcha_site_key', $table_exists ? $this->getOldValue("SETTINGS::RECAPTCHA:SITE_KEY") : env('RECAPTCHA_SITE_KEY', '6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI'));
|
$this->migrator->add('general.recaptcha_site_key', $table_exists ? $this->getOldValue("SETTINGS::RECAPTCHA:SITE_KEY") : env('RECAPTCHA_SITE_KEY', '6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI'));
|
||||||
$this->migrator->addEncrypted('general.recaptcha_secret_key', $table_exists ? $this->getOldValue("SETTINGS::RECAPTCHA:SECRET_KEY") : env('RECAPTCHA_SECRET_KEY', '6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe'));
|
$this->migrator->add('general.recaptcha_secret_key', $table_exists ? $this->getOldValue("SETTINGS::RECAPTCHA:SECRET_KEY") : env('RECAPTCHA_SECRET_KEY', '6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe'));
|
||||||
$this->migrator->add('general.recaptcha_enabled', $table_exists ? $this->getOldValue("SETTINGS::RECAPTCHA:ENABLED") : true);
|
$this->migrator->add('general.recaptcha_enabled', $table_exists ? $this->getOldValue("SETTINGS::RECAPTCHA:ENABLED") : true);
|
||||||
$this->migrator->add('general.phpmyadmin_url', $table_exists ? $this->getOldValue("SETTINGS::MISC:PHPMYADMIN:URL") : env('PHPMYADMIN_URL', ''));
|
$this->migrator->add('general.phpmyadmin_url', $table_exists ? $this->getOldValue("SETTINGS::MISC:PHPMYADMIN:URL") : env('PHPMYADMIN_URL', ''));
|
||||||
$this->migrator->add('general.alert_enabled', $table_exists ? $this->getOldValue("SETTINGS::SYSTEM:ALERT_ENABLED") : false);
|
$this->migrator->add('general.alert_enabled', $table_exists ? $this->getOldValue("SETTINGS::SYSTEM:ALERT_ENABLED") : false);
|
||||||
|
|
|
@ -10,8 +10,8 @@ class CreatePterodactylSettings extends SettingsMigration
|
||||||
$table_exists = DB::table('settings_old')->exists();
|
$table_exists = DB::table('settings_old')->exists();
|
||||||
|
|
||||||
// Get the user-set configuration values from the old table.
|
// Get the user-set configuration values from the old table.
|
||||||
$this->migrator->addEncrypted('pterodactyl.admin_token', $table_exists ? $this->getOldValue('SETTINGS::SYSTEM:PTERODACTYL:TOKEN') : env('PTERODACTYL_TOKEN', ''));
|
$this->migrator->add('pterodactyl.admin_token', $table_exists ? $this->getOldValue('SETTINGS::SYSTEM:PTERODACTYL:TOKEN') : env('PTERODACTYL_TOKEN', ''));
|
||||||
$this->migrator->addEncrypted('pterodactyl.user_token', $table_exists ? $this->getOldValue('SETTINGS::SYSTEM:PTERODACTYL:ADMIN_USER_TOKEN') : '');
|
$this->migrator->add('pterodactyl.user_token', $table_exists ? $this->getOldValue('SETTINGS::SYSTEM:PTERODACTYL:ADMIN_USER_TOKEN') : '');
|
||||||
$this->migrator->add('pterodactyl.panel_url', $table_exists ? $this->getOldValue('SETTINGS::SYSTEM:PTERODACTYL:URL') : env('PTERODACTYL_URL', ''));
|
$this->migrator->add('pterodactyl.panel_url', $table_exists ? $this->getOldValue('SETTINGS::SYSTEM:PTERODACTYL:URL') : env('PTERODACTYL_URL', ''));
|
||||||
$this->migrator->add('pterodactyl.per_page_limit', $table_exists ? $this->getOldValue('SETTINGS::SYSTEM:PTERODACTYL:PER_PAGE_LIMIT') : 200);
|
$this->migrator->add('pterodactyl.per_page_limit', $table_exists ? $this->getOldValue('SETTINGS::SYSTEM:PTERODACTYL:PER_PAGE_LIMIT') : 200);
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,10 +13,10 @@ class CreateMailSettings extends SettingsMigration
|
||||||
$this->migrator->add('mail.mail_host', $table_exists ? $this->getOldValue('SETTINGS::MAIL:HOST') : env('MAIL_HOST', 'localhost'));
|
$this->migrator->add('mail.mail_host', $table_exists ? $this->getOldValue('SETTINGS::MAIL:HOST') : env('MAIL_HOST', 'localhost'));
|
||||||
$this->migrator->add('mail.mail_port', $table_exists ? $this->getOldValue('SETTINGS::MAIL:PORT') : env('MAIL_PORT', 25));
|
$this->migrator->add('mail.mail_port', $table_exists ? $this->getOldValue('SETTINGS::MAIL:PORT') : env('MAIL_PORT', 25));
|
||||||
$this->migrator->add('mail.mail_username', $table_exists ? $this->getOldValue('SETTINGS::MAIL:USERNAME') : env('MAIL_USERNAME', ''));
|
$this->migrator->add('mail.mail_username', $table_exists ? $this->getOldValue('SETTINGS::MAIL:USERNAME') : env('MAIL_USERNAME', ''));
|
||||||
$this->migrator->addEncrypted('mail.mail_password', $table_exists ? $this->getOldValue('SETTINGS::MAIL:PASSWORD') : env('MAIL_PASSWORD', ''));
|
$this->migrator->add('mail.mail_password', $table_exists ? $this->getOldValue('SETTINGS::MAIL:PASSWORD') : env('MAIL_PASSWORD', ''));
|
||||||
$this->migrator->add('mail.mail_encryption', $table_exists ? $this->getOldValue('SETTINGS::MAIL:ENCRYPTION') : env('MAIL_ENCRYPTION', 'tls'));
|
$this->migrator->add('mail.mail_encryption', $table_exists ? $this->getOldValue('SETTINGS::MAIL:ENCRYPTION') : env('MAIL_ENCRYPTION', 'tls'));
|
||||||
$this->migrator->add('mail.mail_from_address', $table_exists ? $this->getOldValue('SETTINGS::MAIL:FROM_ADDRESS') : env('MAIL_FROM_ADDRESS', 'example@example.com'));
|
$this->migrator->add('mail.mail_from_address', $table_exists ? $this->getOldValue('SETTINGS::MAIL:FROM_ADDRESS') : env('MAIL_FROM_ADDRESS', 'example@example.com'));
|
||||||
$this->migrator->add('mail.mail_from_name', $table_exists ? $this->getOldValue('SETTINGS::MAIL:FROM_NAME') : env('APP_NAME', 'ControlPanel.gg'));
|
$this->migrator->add('mail.mail_from_name', $table_exists ? $this->getOldValue('SETTINGS::MAIL:FROM_NAME') : env('APP_NAME', 'CtrlPanel.gg'));
|
||||||
$this->migrator->add('mail.mail_mailer', $table_exists ? $this->getOldValue('SETTINGS::MAIL:MAILER') : env('MAIL_MAILER', 'smtp'));
|
$this->migrator->add('mail.mail_mailer', $table_exists ? $this->getOldValue('SETTINGS::MAIL:MAILER') : env('MAIL_MAILER', 'smtp'));
|
||||||
$this->migrator->add('mail.mail_enabled', true);
|
$this->migrator->add('mail.mail_enabled', true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,9 +10,9 @@ class CreateDiscordSettings extends SettingsMigration
|
||||||
$table_exists = DB::table('settings_old')->exists();
|
$table_exists = DB::table('settings_old')->exists();
|
||||||
|
|
||||||
// Get the user-set configuration values from the old table.
|
// Get the user-set configuration values from the old table.
|
||||||
$this->migrator->addEncrypted('discord.bot_token', $table_exists ? $this->getOldValue('SETTINGS::DISCORD:BOT_TOKEN') : '');
|
$this->migrator->add('discord.bot_token', $table_exists ? $this->getOldValue('SETTINGS::DISCORD:BOT_TOKEN') : '');
|
||||||
$this->migrator->addEncrypted('discord.client_id', $table_exists ? $this->getOldValue('SETTINGS::DISCORD:CLIENT_ID') : '');
|
$this->migrator->add('discord.client_id', $table_exists ? $this->getOldValue('SETTINGS::DISCORD:CLIENT_ID') : '');
|
||||||
$this->migrator->addEncrypted('discord.client_secret', $table_exists ? $this->getOldValue('SETTINGS::DISCORD:CLIENT_SECRET') : '');
|
$this->migrator->add('discord.client_secret', $table_exists ? $this->getOldValue('SETTINGS::DISCORD:CLIENT_SECRET') : '');
|
||||||
$this->migrator->add('discord.guild_id', $table_exists ? $this->getOldValue('SETTINGS::DISCORD:GUILD_ID') : '');
|
$this->migrator->add('discord.guild_id', $table_exists ? $this->getOldValue('SETTINGS::DISCORD:GUILD_ID') : '');
|
||||||
$this->migrator->add('discord.invite_url', $table_exists ? $this->getOldValue('SETTINGS::DISCORD:INVITE_URL') : '');
|
$this->migrator->add('discord.invite_url', $table_exists ? $this->getOldValue('SETTINGS::DISCORD:INVITE_URL') : '');
|
||||||
$this->migrator->add('discord.role_id', $table_exists ? $this->getOldValue('SETTINGS::DISCORD:ROLE_ID') : '');
|
$this->migrator->add('discord.role_id', $table_exists ? $this->getOldValue('SETTINGS::DISCORD:ROLE_ID') : '');
|
||||||
|
|
|
@ -14,7 +14,7 @@ class CreateWebsiteSettings extends SettingsMigration
|
||||||
$this->migrator->add(
|
$this->migrator->add(
|
||||||
'website.motd_message',
|
'website.motd_message',
|
||||||
$table_exists ? $this->getOldValue("SETTINGS::SYSTEM:MOTD_MESSAGE") :
|
$table_exists ? $this->getOldValue("SETTINGS::SYSTEM:MOTD_MESSAGE") :
|
||||||
'<h1 style="text-align: center;"><img style="display: block; margin-left: auto; margin-right: auto;" src="https://controlpanel.gg/img/controlpanel.png" alt="" width="200" height="200"><span style="font-size: 36pt;">Controlpanel.gg</span></h1>
|
'<h1 style="text-align: center;"><img style="display: block; margin-left: auto; margin-right: auto;" src="https://ctrlpanel.gg/img/controlpanel.png" alt="" width="200" height="200"><span style="font-size: 36pt;">CtrlPanel.gg</span></h1>
|
||||||
<p><span style="font-size: 18pt;">Thank you for using our Software</span></p>
|
<p><span style="font-size: 18pt;">Thank you for using our Software</span></p>
|
||||||
<p><span style="font-size: 18pt;">If you have any questions, make sure to join our <a href="https://discord.com/invite/4Y6HjD2uyU" target="_blank" rel="noopener">Discord</a></span></p>
|
<p><span style="font-size: 18pt;">If you have any questions, make sure to join our <a href="https://discord.com/invite/4Y6HjD2uyU" target="_blank" rel="noopener">Discord</a></span></p>
|
||||||
<p><span style="font-size: 10pt;">(you can change this message in the <a href="admin/settings#system">Settings</a> )</span></p>'
|
<p><span style="font-size: 10pt;">(you can change this message in the <a href="admin/settings#system">Settings</a> )</span></p>'
|
||||||
|
@ -23,7 +23,7 @@ class CreateWebsiteSettings extends SettingsMigration
|
||||||
$this->migrator->add('website.show_privacy', $table_exists ? $this->getOldValue("SETTINGS::SYSTEM:SHOW_PRIVACY") : false);
|
$this->migrator->add('website.show_privacy', $table_exists ? $this->getOldValue("SETTINGS::SYSTEM:SHOW_PRIVACY") : false);
|
||||||
$this->migrator->add('website.show_tos', $table_exists ? $this->getOldValue("SETTINGS::SYSTEM:SHOW_TOS") : false);
|
$this->migrator->add('website.show_tos', $table_exists ? $this->getOldValue("SETTINGS::SYSTEM:SHOW_TOS") : false);
|
||||||
$this->migrator->add('website.useful_links_enabled', $table_exists ? $this->getOldValue("SETTINGS::SYSTEM:USEFULLINKS_ENABLED") : true);
|
$this->migrator->add('website.useful_links_enabled', $table_exists ? $this->getOldValue("SETTINGS::SYSTEM:USEFULLINKS_ENABLED") : true);
|
||||||
$this->migrator->add('website.seo_title', $table_exists ? $this->getOldValue("SETTINGS::SYSTEM:SEO_TITLE") : 'ControlPanel.gg');
|
$this->migrator->add('website.seo_title', $table_exists ? $this->getOldValue("SETTINGS::SYSTEM:SEO_TITLE") : 'CtrlPanel.gg');
|
||||||
$this->migrator->add('website.seo_description', $table_exists ? $this->getOldValue("SETTINGS::SYSTEM:SEO_DESCRIPTION") : 'Billing software for Pterodactyl Panel.');
|
$this->migrator->add('website.seo_description', $table_exists ? $this->getOldValue("SETTINGS::SYSTEM:SEO_DESCRIPTION") : 'Billing software for Pterodactyl Panel.');
|
||||||
$this->migrator->add('website.enable_login_logo', true);
|
$this->migrator->add('website.enable_login_logo', true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -126,7 +126,7 @@
|
||||||
"Support server": "Discord Server",
|
"Support server": "Discord Server",
|
||||||
"Documentation": "Dokumentation",
|
"Documentation": "Dokumentation",
|
||||||
"Github": "Github",
|
"Github": "Github",
|
||||||
"Support ControlPanel": "Unterstütze Controlpanel.gg",
|
"Support ControlPanel": "Unterstütze CtrlPanel.gg",
|
||||||
"Servers": "Server",
|
"Servers": "Server",
|
||||||
"Total": "Gesamt",
|
"Total": "Gesamt",
|
||||||
"Payments": "Zahlungen",
|
"Payments": "Zahlungen",
|
||||||
|
|
|
@ -177,7 +177,7 @@
|
||||||
"Title": "Title",
|
"Title": "Title",
|
||||||
"User": "User",
|
"User": "User",
|
||||||
"Last updated": "Last updated",
|
"Last updated": "Last updated",
|
||||||
"Controlpanel.gg": "Controlpanel.gg",
|
"CtrlPanel.gg": "CtrlPanel.gg",
|
||||||
"Version": "Version",
|
"Version": "Version",
|
||||||
"Individual nodes": "Individual nodes",
|
"Individual nodes": "Individual nodes",
|
||||||
"You reached the Pterodactyl perPage limit. Please make sure to set it higher than your server count.": "You reached the Pterodactyl perPage limit. Please make sure to set it higher than your server count.",
|
"You reached the Pterodactyl perPage limit. Please make sure to set it higher than your server count.": "You reached the Pterodactyl perPage limit. Please make sure to set it higher than your server count.",
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
|
||||||
use PHPMailer\PHPMailer\Exception;
|
use PHPMailer\PHPMailer\Exception;
|
||||||
use PHPMailer\PHPMailer\PHPMailer;
|
use PHPMailer\PHPMailer\PHPMailer;
|
||||||
|
|
||||||
|
@ -131,7 +132,7 @@ if (isset($_POST['checkSMTP'])) {
|
||||||
'mail_host' => $_POST['host'],
|
'mail_host' => $_POST['host'],
|
||||||
'mail_port' => $_POST['port'],
|
'mail_port' => $_POST['port'],
|
||||||
'mail_username' => $_POST['user'],
|
'mail_username' => $_POST['user'],
|
||||||
'mail_password' => encryptSettingsValue($_POST['pass']),
|
'mail_password' => $_POST['pass'],
|
||||||
'mail_encryption' => $_POST['encryption'],
|
'mail_encryption' => $_POST['encryption'],
|
||||||
'mail_from_address' => $_POST['user'],
|
'mail_from_address' => $_POST['user'],
|
||||||
];
|
];
|
||||||
|
@ -196,8 +197,8 @@ if (isset($_POST['checkPtero'])) {
|
||||||
wh_log('Pterodactyl Settings are correct', 'debug');
|
wh_log('Pterodactyl Settings are correct', 'debug');
|
||||||
wh_log('Updating Database', 'debug');
|
wh_log('Updating Database', 'debug');
|
||||||
|
|
||||||
$key = encryptSettingsValue($key);
|
$key = $key;
|
||||||
$clientkey = encryptSettingsValue($clientkey);
|
$clientkey = $clientkey;
|
||||||
|
|
||||||
$query1 = 'UPDATE `' . getenv('DB_DATABASE') . "`.`settings` SET `payload` = '" . json_encode($url) . "' WHERE (`name` = 'panel_url' AND `group` = 'pterodactyl')";
|
$query1 = 'UPDATE `' . getenv('DB_DATABASE') . "`.`settings` SET `payload` = '" . json_encode($url) . "' WHERE (`name` = 'panel_url' AND `group` = 'pterodactyl')";
|
||||||
$query2 = 'UPDATE `' . getenv('DB_DATABASE') . "`.`settings` SET `payload` = '" . json_encode($key) . "' WHERE (`name` = 'admin_token' AND `group` = 'pterodactyl')";
|
$query2 = 'UPDATE `' . getenv('DB_DATABASE') . "`.`settings` SET `payload` = '" . json_encode($key) . "' WHERE (`name` = 'admin_token' AND `group` = 'pterodactyl')";
|
||||||
|
@ -234,10 +235,10 @@ if (isset($_POST['createUser'])) {
|
||||||
$repass = $_POST['repass'];
|
$repass = $_POST['repass'];
|
||||||
|
|
||||||
$key = $db->query('SELECT `payload` FROM `' . getenv('DB_DATABASE') . "`.`settings` WHERE `name` = 'admin_token' AND `group` = 'pterodactyl'")->fetch_assoc();
|
$key = $db->query('SELECT `payload` FROM `' . getenv('DB_DATABASE') . "`.`settings` WHERE `name` = 'admin_token' AND `group` = 'pterodactyl'")->fetch_assoc();
|
||||||
$key = encryptSettingsValue($key['value']);
|
$key = removeQuotes($key['payload']);
|
||||||
$pterobaseurl = $db->query('SELECT `payload` FROM `' . getenv('DB_DATABASE') . "`.`settings` WHERE `name` = 'panel_url' AND `group` = 'pterodactyl'")->fetch_assoc();
|
$pterobaseurl = $db->query('SELECT `payload` FROM `' . getenv('DB_DATABASE') . "`.`settings` WHERE `name` = 'panel_url' AND `group` = 'pterodactyl'")->fetch_assoc();
|
||||||
|
|
||||||
$pteroURL = $pterobaseurl['value'] . '/api/application/users/' . $pteroID;
|
$pteroURL = removeQuotes($pterobaseurl['payload']) . '/api/application/users/' . $pteroID;
|
||||||
$ch = curl_init();
|
$ch = curl_init();
|
||||||
|
|
||||||
curl_setopt($ch, CURLOPT_URL, $pteroURL);
|
curl_setopt($ch, CURLOPT_URL, $pteroURL);
|
||||||
|
@ -264,7 +265,7 @@ if (isset($_POST['createUser'])) {
|
||||||
$name = $result['attributes']['username'];
|
$name = $result['attributes']['username'];
|
||||||
$pass = password_hash($pass, PASSWORD_DEFAULT);
|
$pass = password_hash($pass, PASSWORD_DEFAULT);
|
||||||
|
|
||||||
$pteroURL = $pterobaseurl['value'] . '/api/application/users/' . $pteroID;
|
$pteroURL = removeQuotes($pterobaseurl['payload']) . '/api/application/users/' . $pteroID;
|
||||||
$ch = curl_init();
|
$ch = curl_init();
|
||||||
|
|
||||||
curl_setopt($ch, CURLOPT_URL, $pteroURL);
|
curl_setopt($ch, CURLOPT_URL, $pteroURL);
|
||||||
|
@ -272,7 +273,7 @@ if (isset($_POST['createUser'])) {
|
||||||
curl_setopt($ch, CURLOPT_HTTPHEADER, [
|
curl_setopt($ch, CURLOPT_HTTPHEADER, [
|
||||||
'Accept: application/json',
|
'Accept: application/json',
|
||||||
'Content-Type: application/json',
|
'Content-Type: application/json',
|
||||||
'Authorization: Bearer ' . $key['value'],
|
'Authorization: Bearer ' . $key,
|
||||||
]);
|
]);
|
||||||
curl_setopt($ch, CURLOPT_POSTFIELDS, [
|
curl_setopt($ch, CURLOPT_POSTFIELDS, [
|
||||||
'email' => $mail,
|
'email' => $mail,
|
||||||
|
|
|
@ -150,6 +150,10 @@ function checkExtensions(): array
|
||||||
return $not_ok;
|
return $not_ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function removeQuotes($string){
|
||||||
|
return str_replace('"', "", $string);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the environment variable into the env file
|
* Sets the environment variable into the env file
|
||||||
* @param string $envKey The environment key to set or modify
|
* @param string $envKey The environment key to set or modify
|
||||||
|
|
|
@ -9,7 +9,7 @@ function cardStart($title, $subtitle = null)
|
||||||
{
|
{
|
||||||
return "
|
return "
|
||||||
<div class='flex flex-col gap-4 sm:w-auto w-full sm:min-w-[550px] my-6'>
|
<div class='flex flex-col gap-4 sm:w-auto w-full sm:min-w-[550px] my-6'>
|
||||||
<h1 class='text-center font-bold text-3xl'>ControlPanel.gg Installation</h1>
|
<h1 class='text-center font-bold text-3xl'>CtrlPanel.gg Installation</h1>
|
||||||
<div class='border-4 border-[#2E373B] bg-[#242A2E] rounded-2xl p-6 pt-3 mx-2'>
|
<div class='border-4 border-[#2E373B] bg-[#242A2E] rounded-2xl p-6 pt-3 mx-2'>
|
||||||
<h2 class='text-xl text-center mb-2'>$title</h2>"
|
<h2 class='text-xl text-center mb-2'>$title</h2>"
|
||||||
. (isset($subtitle) ? "<p class='text-neutral-400 mb-1'>$subtitle</p>" : "");
|
. (isset($subtitle) ? "<p class='text-neutral-400 mb-1'>$subtitle</p>" : "");
|
||||||
|
@ -19,7 +19,7 @@ function cardStart($title, $subtitle = null)
|
||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<title>Controlpanel.gg installer Script</title>
|
<title>CtrlPanel.gg installer Script</title>
|
||||||
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<link href="/install/styles.css" rel="stylesheet">
|
<link href="/install/styles.css" rel="stylesheet">
|
||||||
|
@ -68,7 +68,7 @@ function cardStart($title, $subtitle = null)
|
||||||
// Getting started
|
// Getting started
|
||||||
if (!isset($_GET['step']) || $_GET['step'] == 1) {
|
if (!isset($_GET['step']) || $_GET['step'] == 1) {
|
||||||
?>
|
?>
|
||||||
<?php echo cardStart($title = "Mandatory Checks before Installation", $subtitle = "This installer will lead you through the most crucial Steps of Controlpanel.gg's setup"); ?>
|
<?php echo cardStart($title = "Mandatory Checks before Installation", $subtitle = "This installer will lead you through the most crucial Steps of CtrlPanel.gg's setup"); ?>
|
||||||
|
|
||||||
<ul class="list-none mb-2">
|
<ul class="list-none mb-2">
|
||||||
|
|
||||||
|
|
5
public/plugins/alpinejs/3.12.0_cdn.min.js
vendored
Normal file
5
public/plugins/alpinejs/3.12.0_cdn.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
15383
public/plugins/datatables/jquery.dataTables.js
vendored
15383
public/plugins/datatables/jquery.dataTables.js
vendored
File diff suppressed because it is too large
Load diff
1
public/plugins/datatables/jquery.dataTables.min.css
vendored
Normal file
1
public/plugins/datatables/jquery.dataTables.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
170
public/plugins/datatables/jquery.dataTables.min.js
vendored
170
public/plugins/datatables/jquery.dataTables.min.js
vendored
File diff suppressed because one or more lines are too long
0
public/plugins/datatables/v1.13.4
Normal file
0
public/plugins/datatables/v1.13.4
Normal file
File diff suppressed because one or more lines are too long
|
@ -199,7 +199,7 @@
|
||||||
src="{{ \Illuminate\Support\Facades\Storage::disk('public')->exists('icon.png') ? asset('storage/icon.png') : asset('images/controlpanel_logo.png') }}"
|
src="{{ \Illuminate\Support\Facades\Storage::disk('public')->exists('icon.png') ? asset('storage/icon.png') : asset('images/controlpanel_logo.png') }}"
|
||||||
alt="{{ config('app.name', 'Laravel') }} Logo" class="brand-image img-circle"
|
alt="{{ config('app.name', 'Laravel') }} Logo" class="brand-image img-circle"
|
||||||
style="opacity: .8">
|
style="opacity: .8">
|
||||||
<span class="brand-text font-weight-light">{{ config('app.name', 'Controlpanel.gg') }}</span>
|
<span class="brand-text font-weight-light">{{ config('app.name', 'CtrlPanel.gg') }}</span>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<!-- Sidebar -->
|
<!-- Sidebar -->
|
||||||
|
@ -441,7 +441,7 @@
|
||||||
<strong>Copyright © 2021-{{ date('Y') }} <a
|
<strong>Copyright © 2021-{{ date('Y') }} <a
|
||||||
href="{{ url('/') }}">{{ env('APP_NAME', 'Laravel') }}</a>.</strong>
|
href="{{ url('/') }}">{{ env('APP_NAME', 'Laravel') }}</a>.</strong>
|
||||||
All rights
|
All rights
|
||||||
reserved. Powered by <a href="https://controlpanel.gg">ControlPanel</a>. | Theme by <a href="https://2icecube.de/cpgg">2IceCube</a>
|
reserved. Powered by <a href="https://CtrlPanel.gg">ControlPanel</a>. | Theme by <a href="https://2icecube.de/cpgg">2IceCube</a>
|
||||||
@if (!str_contains(config('BRANCHNAME'), 'main') && !str_contains(config('BRANCHNAME'), 'unknown'))
|
@if (!str_contains(config('BRANCHNAME'), 'main') && !str_contains(config('BRANCHNAME'), 'unknown'))
|
||||||
Version <b>{{ config('app')['version'] }} - {{ config('BRANCHNAME') }}</b>
|
Version <b>{{ config('app')['version'] }} - {{ config('BRANCHNAME') }}</b>
|
||||||
@endif
|
@endif
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
@else
|
@else
|
||||||
<div class="callout callout-danger">
|
<div class="callout callout-danger">
|
||||||
<h4>{{ __('No recent activity from cronjobs')}}</h4>
|
<h4>{{ __('No recent activity from cronjobs')}}</h4>
|
||||||
<p>{{ __('Are cronjobs running?')}} <a class="text-primary" target="_blank" href="https://controlpanel.gg/docs/Installation/getting-started#crontab-configuration">{{ __('Check the docs for it here')}}</a></p>
|
<p>{{ __('Are cronjobs running?')}} <a class="text-primary" target="_blank" href="https://CtrlPanel.gg/docs/Installation/getting-started#crontab-configuration">{{ __('Check the docs for it here')}}</a></p>
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
<b><i class="fas fa-shield-alt"></i> {{__("Version Outdated:")}}</b></br>
|
<b><i class="fas fa-shield-alt"></i> {{__("Version Outdated:")}}</b></br>
|
||||||
{{__("You are running on")}} v{{config("app.version")}}-{{config("BRANCHNAME")}}.
|
{{__("You are running on")}} v{{config("app.version")}}-{{config("BRANCHNAME")}}.
|
||||||
{{__("The latest Version is")}} v{{Storage::get('latestVersion')}}</br>
|
{{__("The latest Version is")}} v{{Storage::get('latestVersion')}}</br>
|
||||||
<a href="https://controlpanel.gg/docs/Installation/updating">{{__("Consider updating now")}}</a>
|
<a href="https://CtrlPanel.gg/docs/Installation/updating">{{__("Consider updating now")}}</a>
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
</section>
|
</section>
|
||||||
|
@ -39,7 +39,7 @@
|
||||||
class="fab fa-discord mr-2"></i> {{__('Support server')}}</a>
|
class="fab fa-discord mr-2"></i> {{__('Support server')}}</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
<a href="https://controlpanel.gg/docs/intro" class="btn btn-dark btn-block px-3"><i
|
<a href="https://CtrlPanel.gg/docs/intro" class="btn btn-dark btn-block px-3"><i
|
||||||
class="fas fa-link mr-2"></i> {{__('Documentation')}}</a>
|
class="fas fa-link mr-2"></i> {{__('Documentation')}}</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
|
@ -47,8 +47,8 @@
|
||||||
class="fab fa-github mr-2"></i> {{__('Github')}}</a>
|
class="fab fa-github mr-2"></i> {{__('Github')}}</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
<a href="https://controlpanel.gg/docs/Contributing/donating" class="btn btn-dark btn-block px-3"><i
|
<a href="https://CtrlPanel.gg/docs/Contributing/donating" class="btn btn-dark btn-block px-3"><i
|
||||||
class="fas fa-money-bill mr-2"></i> {{__('Support ControlPanel')}}</a>
|
class="fas fa-money-bill mr-2"></i> {{__('Support CtrlPanel')}}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -199,7 +199,7 @@
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<div class="d-flex justify-content-between">
|
<div class="d-flex justify-content-between">
|
||||||
<div class="card-title ">
|
<div class="card-title ">
|
||||||
<span><i class="fas fa-server mr-2"></i>{{__('Controlpanel.gg')}}</span>
|
<span><i class="fas fa-server mr-2"></i>{{__('CtrlPanel.gg')}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body py-1">
|
<div class="card-body py-1">
|
||||||
|
@ -227,7 +227,7 @@
|
||||||
<p class="mb-2">
|
<p class="mb-2">
|
||||||
{{ __('You reached the Pterodactyl perPage limit. Please make sure to set it higher than your server count.') }}<br>
|
{{ __('You reached the Pterodactyl perPage limit. Please make sure to set it higher than your server count.') }}<br>
|
||||||
{{ __('You can do that in settings.') }}<br><br>
|
{{ __('You can do that in settings.') }}<br><br>
|
||||||
{{ __('Note') }}: {{ __('If this error persists even after changing the limit, it might mean a server was deleted on Pterodactyl, but not on ControlPanel. Try clicking the button below.') }}
|
{{ __('Note') }}: {{ __('If this error persists even after changing the limit, it might mean a server was deleted on Pterodactyl, but not on CtrlPanel. Try clicking the button below.') }}
|
||||||
</p>
|
</p>
|
||||||
<a href="{{route('admin.servers.sync')}}" class="btn btn-primary btn-md"><i
|
<a href="{{route('admin.servers.sync')}}" class="btn btn-primary btn-md"><i
|
||||||
class="fas fa-sync mr-2"></i>{{__('Sync servers')}}</a>
|
class="fas fa-sync mr-2"></i>{{__('Sync servers')}}</a>
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="identifier">{{ __('Server identifier') }}
|
<label for="identifier">{{ __('Server identifier') }}
|
||||||
<i data-toggle="popover" data-trigger="hover"
|
<i data-toggle="popover" data-trigger="hover"
|
||||||
data-content="{{ __('Change the server identifier on controlpanel to match a pterodactyl server.') }}"
|
data-content="{{ __('Change the server identifier on CtrlPanel to match a pterodactyl server.') }}"
|
||||||
class="fas fa-info-circle"></i>
|
class="fas fa-info-circle"></i>
|
||||||
</label>
|
</label>
|
||||||
<input value="{{ $server->identifier }}" id="identifier" name="identifier"
|
<input value="{{ $server->identifier }}" id="identifier" name="identifier"
|
||||||
|
@ -59,7 +59,7 @@
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="user_id">{{ __('Server owner') }}
|
<label for="user_id">{{ __('Server owner') }}
|
||||||
<i data-toggle="popover" data-trigger="hover"
|
<i data-toggle="popover" data-trigger="hover"
|
||||||
data-content="{{ __('Change the current server owner on controlpanel and pterodactyl.') }}"
|
data-content="{{ __('Change the current server owner on CtrlPanel and pterodactyl.') }}"
|
||||||
class="fas fa-info-circle"></i>
|
class="fas fa-info-circle"></i>
|
||||||
</label>
|
</label>
|
||||||
<select name="user_id" id="user_id" class="form-control">
|
<select name="user_id" id="user_id" class="form-control">
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
class="mr-1">{{ config('app.name', 'Laravel') }}</b></a>
|
class="mr-1">{{ config('app.name', 'Laravel') }}</b></a>
|
||||||
@if ($website_settings->enable_login_logo)
|
@if ($website_settings->enable_login_logo)
|
||||||
<img src="{{ \Illuminate\Support\Facades\Storage::disk('public')->exists('logo.png') ? asset('storage/logo.png') : asset('images/controlpanel_logo.png') }}"
|
<img src="{{ \Illuminate\Support\Facades\Storage::disk('public')->exists('logo.png') ? asset('storage/logo.png') : asset('images/controlpanel_logo.png') }}"
|
||||||
alt="{{ config('app.name', 'Controlpanel.gg') }} Logo" style="opacity: .8; max-width:100%; height: 150px; margin-top: 10px;">
|
alt="{{ config('app.name', 'CtrlPanel.gg') }} Logo" style="opacity: .8; max-width:100%; height: 150px; margin-top: 10px;">
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body pt-0">
|
<div class="card-body pt-0">
|
||||||
|
|
|
@ -134,23 +134,6 @@
|
||||||
</h3>
|
</h3>
|
||||||
</div>
|
</div>
|
||||||
<!-- /.card-header -->
|
<!-- /.card-header -->
|
||||||
<div class="card-body">
|
|
||||||
@foreach ($useful_links as $useful_link)
|
|
||||||
<div class="alert alert-dismissible">
|
|
||||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
|
||||||
<h5>
|
|
||||||
<a class="alert-link text-decoration-none" target="__blank"
|
|
||||||
href="{{ $useful_link->link }}">
|
|
||||||
<i class="{{ $useful_link->icon }} mr-2"></i>{{ $useful_link->title }}
|
|
||||||
</a>
|
|
||||||
</h5>
|
|
||||||
{!! $useful_link->description !!}
|
|
||||||
</div>
|
|
||||||
@endforeach
|
|
||||||
</div>
|
|
||||||
<!-- /.card-body -->
|
|
||||||
</div>
|
|
||||||
<!-- /.card-header -->
|
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
@foreach ($useful_links_dashboard as $useful_link)
|
@foreach ($useful_links_dashboard as $useful_link)
|
||||||
<div class="alert alert-dismissible">
|
<div class="alert alert-dismissible">
|
||||||
|
@ -167,6 +150,8 @@
|
||||||
</div>
|
</div>
|
||||||
<!-- /.card-body -->
|
<!-- /.card-body -->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<p><strong>Company</strong> (referred to as either "the Company", "We", "Us" or
|
<p><strong>Company</strong> (referred to as either "the Company", "We", "Us" or
|
||||||
"Our" in this Agreement) refers to controlpanel.</p>
|
"Our" in this Agreement) refers to CtrlPanel.</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<p><strong>Cookies</strong> are small files that are placed on Your computer, mobile device or any other device
|
<p><strong>Cookies</strong> are small files that are placed on Your computer, mobile device or any other device
|
||||||
|
@ -49,7 +49,7 @@
|
||||||
Service or from the Service infrastructure itself (for example, the duration of a page visit).</p>
|
Service or from the Service infrastructure itself (for example, the duration of a page visit).</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<p><strong>Website</strong> refers to controlpanel, accessible from <a href="controlpanel"
|
<p><strong>Website</strong> refers to CtrlPanel, accessible from <a href="controlpanel"
|
||||||
rel="external nofollow noopener" target="_blank">controlpanel</a></p>
|
rel="external nofollow noopener" target="_blank">controlpanel</a></p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
|
|
|
@ -18,10 +18,10 @@
|
||||||
href="{{ \Illuminate\Support\Facades\Storage::disk('public')->exists('favicon.ico') ? asset('storage/favicon.ico') : asset('favicon.ico') }}"
|
href="{{ \Illuminate\Support\Facades\Storage::disk('public')->exists('favicon.ico') ? asset('storage/favicon.ico') : asset('favicon.ico') }}"
|
||||||
type="image/x-icon">
|
type="image/x-icon">
|
||||||
|
|
||||||
<script defer src="https://unpkg.com/alpinejs@3.x.x/dist/cdn.min.js"></script>
|
<script src="{{ asset('plugins/alpinejs/3.12.0_cdn.min.js') }}"></script>
|
||||||
|
|
||||||
{{-- <link rel="stylesheet" href="{{asset('css/adminlte.min.css')}}"> --}}
|
{{-- <link rel="stylesheet" href="{{asset('css/adminlte.min.css')}}"> --}}
|
||||||
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/bs4/dt-1.10.24/datatables.min.css" />
|
<link rel="stylesheet" href="{{ asset('plugins/datatables/jquery.dataTables.min.css') }}">
|
||||||
|
|
||||||
{{-- summernote --}}
|
{{-- summernote --}}
|
||||||
<link rel="stylesheet" href="{{ asset('plugins/summernote/summernote-bs4.min.css') }}">
|
<link rel="stylesheet" href="{{ asset('plugins/summernote/summernote-bs4.min.css') }}">
|
||||||
|
@ -204,7 +204,7 @@
|
||||||
src="{{ \Illuminate\Support\Facades\Storage::disk('public')->exists('icon.png') ? asset('storage/icon.png') : asset('images/controlpanel_logo.png') }}"
|
src="{{ \Illuminate\Support\Facades\Storage::disk('public')->exists('icon.png') ? asset('storage/icon.png') : asset('images/controlpanel_logo.png') }}"
|
||||||
alt="{{ config('app.name', 'Laravel') }} Logo" class="brand-image img-circle"
|
alt="{{ config('app.name', 'Laravel') }} Logo" class="brand-image img-circle"
|
||||||
style="opacity: .8">
|
style="opacity: .8">
|
||||||
<span class="brand-text font-weight-light">{{ config('app.name', 'Controlpanel.gg') }}</span>
|
<span class="brand-text font-weight-light">{{ config('app.name', 'CtrlPanel.gg') }}</span>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<!-- Sidebar -->
|
<!-- Sidebar -->
|
||||||
|
@ -443,7 +443,7 @@
|
||||||
<strong>Copyright © 2021-{{ date('Y') }} <a
|
<strong>Copyright © 2021-{{ date('Y') }} <a
|
||||||
href="{{ url('/') }}">{{ env('APP_NAME', 'Laravel') }}</a>.</strong>
|
href="{{ url('/') }}">{{ env('APP_NAME', 'Laravel') }}</a>.</strong>
|
||||||
All rights
|
All rights
|
||||||
reserved. Powered by <a href="https://controlpanel.gg">ControlPanel</a>.
|
reserved. Powered by <a href="https://CtrlPanel.gg">CtrlPanel</a>.
|
||||||
@if (!str_contains(config('BRANCHNAME'), 'main') && !str_contains(config('BRANCHNAME'), 'unknown'))
|
@if (!str_contains(config('BRANCHNAME'), 'main') && !str_contains(config('BRANCHNAME'), 'unknown'))
|
||||||
Version <b>{{ config('app')['version'] }} - {{ config('BRANCHNAME') }}</b>
|
Version <b>{{ config('app')['version'] }} - {{ config('BRANCHNAME') }}</b>
|
||||||
@endif
|
@endif
|
||||||
|
@ -472,9 +472,9 @@
|
||||||
<!-- ./wrapper -->
|
<!-- ./wrapper -->
|
||||||
|
|
||||||
<!-- Scripts -->
|
<!-- Scripts -->
|
||||||
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@10.14.1/dist/sweetalert2.all.min.js"></script>
|
<script src="{{ asset('plugins/sweetalert2/sweetalert2.all.min.js') }}"></script>
|
||||||
|
|
||||||
<script type="text/javascript" src="https://cdn.datatables.net/v/bs4/dt-1.10.24/datatables.min.js"></script>
|
<script src="{{ asset('plugins/datatables/jquery.dataTables.min.js') }}"></script>
|
||||||
<!-- Summernote -->
|
<!-- Summernote -->
|
||||||
<script src="{{ asset('plugins/summernote/summernote-bs4.min.js') }}"></script>
|
<script src="{{ asset('plugins/summernote/summernote-bs4.min.js') }}"></script>
|
||||||
<!-- select2 -->
|
<!-- select2 -->
|
||||||
|
|
Loading…
Reference in a new issue