From fd6e8bd51ebddc19346f7a4863411f194f395c4c Mon Sep 17 00:00:00 2001 From: 1day2die Date: Sun, 5 Feb 2023 18:36:33 +0100 Subject: [PATCH] Revert "Merge branch 'main' of https://github.com/1day2die/dashboard into development" This reverts commit 704548343b277571a44b886fd29eb6912ac4c434, reversing changes made to 4657b3419b7e3ecdb4d61825b65a7b0faaccfacc. --- .github/dependabot.yml | 31 ----- .github/workflows/codeql-analysis.yml | 72 ----------- README.md | 26 ++-- app/Classes/Settings/System.php | 1 + app/Enums/UsefulLinkLocation.php | 19 +++ .../PaymentGateways/Stripe/config.php | 1 + .../Controllers/Admin/PaymentController.php | 6 +- .../Controllers/Admin/SettingsController.php | 8 +- .../Admin/UsefulLinkController.php | 23 +++- .../Controllers/Auth/RegisterController.php | 6 +- app/Models/UsefulLink.php | 1 + app/Providers/AppServiceProvider.php | 1 + ...1_25_204343_useful_links_on_top_navbar.php | 32 +++++ database/seeders/Seeds/SettingsSeeder.php | 118 +++++++++--------- package.json | 2 +- .../admin/settings/tabs/system.blade.php | 6 +- .../views/admin/usefullinks/create.blade.php | 3 + .../views/admin/usefullinks/edit.blade.php | 2 + .../views/admin/usefullinks/index.blade.php | 2 + themes/default/views/layouts/app.blade.php | 5 +- themes/default/views/layouts/main.blade.php | 11 +- themes/default/views/servers/create.blade.php | 2 +- webpack.mix.js | 16 --- 23 files changed, 189 insertions(+), 205 deletions(-) delete mode 100644 .github/dependabot.yml delete mode 100644 .github/workflows/codeql-analysis.yml create mode 100644 app/Enums/UsefulLinkLocation.php create mode 100644 database/migrations/2023_01_25_204343_useful_links_on_top_navbar.php delete mode 100644 webpack.mix.js diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 32a2a918a..000000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,31 +0,0 @@ -# To get started with Dependabot version updates, you'll need to specify which -# package ecosystems to update and where the package manifests are located. -# Please see the documentation for all configuration options: -# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates - -version: 2 -updates: - # Enable version updates for npm - - package-ecosystem: "npm" - # Look for `package.json` and `lock` files in the `root` directory - directory: "/" - target-branch: "development" - # Check the npm registry for updates every day (weekdays) - schedule: - interval: "daily" - - # Enable version updates for Docker - - package-ecosystem: "docker" - # Look for a `Dockerfile` in the `root` directory - directory: "/" - target-branch: "development" - # Check for updates once a week - schedule: - interval: "weekly" - - # Maintain dependencies for Composer - - package-ecosystem: "composer" - directory: "/" - target-branch: "development" - schedule: - interval: "daily" diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml deleted file mode 100644 index 40f9293fc..000000000 --- a/.github/workflows/codeql-analysis.yml +++ /dev/null @@ -1,72 +0,0 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -# -# ******** NOTE ******** -# We have attempted to detect the languages in your repository. Please check -# the `language` matrix defined below to confirm you have the correct set of -# supported CodeQL languages. -# -name: "CodeQL" - -on: - push: - branches: [ "main" ] - pull_request: - # The branches below must be a subset of the branches above - branches: [ "main" ] - schedule: - - cron: '25 10 * * 6' - -jobs: - analyze: - name: Analyze - runs-on: ubuntu-latest - permissions: - actions: read - contents: read - security-events: write - - strategy: - fail-fast: false - matrix: - language: [ 'javascript' ] - # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] - # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v2 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - - # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs - # queries: security-extended,security-and-quality - - - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v2 - - # ℹī¸ Command-line programs to run using the OS shell. - # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun - - # If the Autobuild fails above, remove it and uncomment the following three lines. - # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. - - # - run: | - # echo "Run, Build Application using script" - # ./location_of_script_within_repo/buildscript.sh - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 diff --git a/README.md b/README.md index 6b83639d6..d908e3c05 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,7 @@ - PayPal Integration - Stripe Integration - Referral System +- Partner System - Ticket System - Upgrade/Downgrade Server Resources - Store (credit system with hourly billing and invoices) @@ -12,27 +13,29 @@ - User/Server Management - Customisable server plans - Vouchers +- Alert System +- Theme Support - and so much more! # ControlPanel-gg -![controlpanel](https://user-images.githubusercontent.com/45005889/123518824-06b05000-d6a8-11eb-91b9-d1ed36bd2317.png) +![controlpanel](https://user-images.githubusercontent.com/67899387/214684708-739c1d21-06e8-4dec-a4f1-81533a46cc7e.png) -![](https://img.shields.io/endpoint?label=v0.8%20Installations&url=https%3A%2F%2Fmarket.controlpanel.gg%2Fcallhome.php%3Fgetinstalls) +![](https://img.shields.io/endpoint?label=v0.9%20Installations&url=https%3A%2F%2Fmarket.controlpanel.gg%2Fcallhome.php%3Fgetinstalls) ![](https://img.shields.io/badge/Overall%20Installations-3500%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) ## 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. -This dashboard offers an easy to use and free billing solution for all starting and experienced hosting providers. This dashboard has many customization options and added discord 0auth verification to offer a solid link between your discord server and your dashboard. You can check our Demo here ([Demo](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.controlpanel.gg "Demo"). ### [Installation](https://controlpanel.gg/docs/intro "Installation") ### [Updating](https://controlpanel.gg/docs/Installation/updating "Updating") -### [Discord](https://discord.gg/4Y6HjD2uyU "discord") +### [Discord](https://discord.gg/4Y6HjD2uyU "Discord") ### [Contributing](https://controlpanel.gg/docs/Contributing/contributing "Contributing") @@ -43,15 +46,22 @@ This dashboard offers an easy to use and free billing solution for all starting # Preview ### Server Creation -![image](https://user-images.githubusercontent.com/8725848/171575021-bc248f12-2aba-44e8-82aa-bdc907b1d3fc.png) +![image](https://user-images.githubusercontent.com/67899387/214687234-d1ae58c0-5667-4e99-ac39-adeaabfcc7f2.png) ### Overview -![image](https://user-images.githubusercontent.com/8725848/171575809-7620ed4f-5715-420f-8c25-8bfa1c4342f7.png) +![image](https://user-images.githubusercontent.com/67899387/214685859-03c8d9e1-c685-4a07-979f-df2e88ec3931.png) ### Example server products -![image](https://user-images.githubusercontent.com/8725848/171575987-c1398ff6-83fa-4cb8-bd1f-986cee4da565.png) +![image](https://user-images.githubusercontent.com/67899387/214686950-218e1ede-6a1f-4e53-b3f4-fe1abc371a9c.png) ### Ticket System -![image](https://user-images.githubusercontent.com/8725848/184131270-9d997ebf-8965-4910-90d2-b410ae37f201.png) +![image](https://user-images.githubusercontent.com/67899387/214687123-0a3d0f8f-b53c-4b0d-869a-4d5df45f5184.png) + +### Voucher System +![image](https://user-images.githubusercontent.com/67899387/214686578-ec9f0b0f-6047-4665-835f-70594b56dfd5.png) + +### Partner System +![image](https://user-images.githubusercontent.com/67899387/214686321-36ba97a3-4181-4e60-9ba3-c9b318fe66a8.png) + diff --git a/app/Classes/Settings/System.php b/app/Classes/Settings/System.php index e278bac45..e213c794c 100644 --- a/app/Classes/Settings/System.php +++ b/app/Classes/Settings/System.php @@ -50,6 +50,7 @@ public function updateSettings(Request $request) 'pterodactyl-admin-api-key' => 'required|string', 'enable-upgrades' => 'string', 'enable-disable-servers' => 'string', + 'enable-disable-new-users' => 'string', 'show-imprint' => 'string', 'show-privacy' => 'string', 'show-tos' => 'string', diff --git a/app/Enums/UsefulLinkLocation.php b/app/Enums/UsefulLinkLocation.php new file mode 100644 index 000000000..b43162ba3 --- /dev/null +++ b/app/Enums/UsefulLinkLocation.php @@ -0,0 +1,19 @@ + [ "payment/StripeWebhooks", ], + "enabled" => config('SETTINGS::PAYMENTS:STRIPE:SECRET') && config('SETTINGS::PAYMENTS:STRIPE:CLIENT_ID'), ]; } diff --git a/app/Http/Controllers/Admin/PaymentController.php b/app/Http/Controllers/Admin/PaymentController.php index d1d44b1e6..0cf2e3993 100644 --- a/app/Http/Controllers/Admin/PaymentController.php +++ b/app/Http/Controllers/Admin/PaymentController.php @@ -43,7 +43,6 @@ public function checkOut(ShopProduct $shopProduct) $price = $shopProduct->price - ($shopProduct->price * $discount / 100); $paymentGateways = []; - if ($price > 0) { $extensions = ExtensionHelper::getAllExtensionsByNamespace('PaymentGateways'); @@ -59,6 +58,11 @@ public function checkOut(ShopProduct $shopProduct) } } + + + + + return view('store.checkout')->with([ 'product' => $shopProduct, 'discountpercent' => $discount, diff --git a/app/Http/Controllers/Admin/SettingsController.php b/app/Http/Controllers/Admin/SettingsController.php index ad1b3a36d..d0f6d6cd8 100644 --- a/app/Http/Controllers/Admin/SettingsController.php +++ b/app/Http/Controllers/Admin/SettingsController.php @@ -22,7 +22,13 @@ public function index() //Get all tabs as laravel view paths $tabs = []; - foreach (glob(Theme::getViewPaths()[0] . '/admin/settings/tabs/*.blade.php') as $filename) { + if(file_exists(Theme::getViewPaths()[0] . '/admin/settings/tabs/')){ + $tabspath = glob(Theme::getViewPaths()[0] . '/admin/settings/tabs/*.blade.php'); + }else{ + $tabspath = glob(Theme::path($path = 'views', $themeName = 'default').'/admin/settings/tabs/*.blade.php'); + } + + foreach ($tabspath as $filename) { $tabs[] = 'admin.settings.tabs.'.basename($filename, '.blade.php'); } diff --git a/app/Http/Controllers/Admin/UsefulLinkController.php b/app/Http/Controllers/Admin/UsefulLinkController.php index ea51c37db..79e6b4dae 100644 --- a/app/Http/Controllers/Admin/UsefulLinkController.php +++ b/app/Http/Controllers/Admin/UsefulLinkController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers\Admin; +use App\Enums\UsefulLinkLocation; use App\Http\Controllers\Controller; use App\Models\UsefulLink; use Illuminate\Contracts\Foundation\Application; @@ -30,7 +31,8 @@ public function index() */ public function create() { - return view('admin.usefullinks.create'); + $positions = UsefulLinkLocation::cases(); + return view('admin.usefullinks.create')->with('positions', $positions); } /** @@ -48,7 +50,14 @@ public function store(Request $request) 'description' => 'required|string|max:2000', ]); - UsefulLink::create($request->all()); + + UsefulLink::create([ + 'icon' => $request->icon, + 'title' => $request->title, + 'link' => $request->link, + 'description' => $request->description, + 'position' => implode(",",$request->position), + ]); return redirect()->route('admin.usefullinks.index')->with('success', __('link has been created!')); } @@ -72,8 +81,10 @@ public function show(UsefulLink $usefullink) */ public function edit(UsefulLink $usefullink) { + $positions = UsefulLinkLocation::cases(); return view('admin.usefullinks.edit', [ 'link' => $usefullink, + 'positions' => $positions, ]); } @@ -93,7 +104,13 @@ public function update(Request $request, UsefulLink $usefullink) 'description' => 'required|string|max:2000', ]); - $usefullink->update($request->all()); + $usefullink->update([ + 'icon' => $request->icon, + 'title' => $request->title, + 'link' => $request->link, + 'description' => $request->description, + 'position' => implode(",",$request->position), + ]); return redirect()->route('admin.usefullinks.index')->with('success', __('link has been updated!')); } diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index 4bc632d16..ec678ace8 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -13,6 +13,7 @@ use Illuminate\Support\Facades\App; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Hash; +use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Validator; use Illuminate\Support\Str; use Illuminate\Validation\ValidationException; @@ -118,6 +119,7 @@ protected function create(array $data) if ($response->failed()) { $user->delete(); + Log::error('Pterodactyl Registration Error: ' . $response->json()['errors'][0]['detail']); throw ValidationException::withMessages([ 'ptero_registration_error' => [__('Account already exists on Pterodactyl. Please contact the Support!')], ]); @@ -128,7 +130,7 @@ protected function create(array $data) ]); //INCREMENT REFERRAL-USER CREDITS - if (! empty($data['referral_code'])) { + if (!empty($data['referral_code'])) { $ref_code = $data['referral_code']; $new_user = $user->id; if ($ref_user = User::query()->where('referral_code', '=', $ref_code)->first()) { @@ -140,7 +142,7 @@ protected function create(array $data) activity() ->performedOn($user) ->causedBy($ref_user) - ->log('gained '.config('SETTINGS::REFERRAL::REWARD').' '.config('SETTINGS::SYSTEM:CREDITS_DISPLAY_NAME').' for sign-up-referral of '.$user->name.' (ID:'.$user->id.')'); + ->log('gained ' . config('SETTINGS::REFERRAL::REWARD') . ' ' . config('SETTINGS::SYSTEM:CREDITS_DISPLAY_NAME') . ' for sign-up-referral of ' . $user->name . ' (ID:' . $user->id . ')'); } //INSERT INTO USER_REFERRALS TABLE DB::table('user_referrals')->insert([ diff --git a/app/Models/UsefulLink.php b/app/Models/UsefulLink.php index 4d788e0d2..c54f3d265 100644 --- a/app/Models/UsefulLink.php +++ b/app/Models/UsefulLink.php @@ -16,5 +16,6 @@ class UsefulLink extends Model 'title', 'link', 'description', + 'position', ]; } diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 4c6279890..8fae42a62 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -3,6 +3,7 @@ namespace App\Providers; use App\Models\Settings; +use App\Models\UsefulLink; use Exception; use Illuminate\Pagination\Paginator; use Illuminate\Support\Facades\Artisan; diff --git a/database/migrations/2023_01_25_204343_useful_links_on_top_navbar.php b/database/migrations/2023_01_25_204343_useful_links_on_top_navbar.php new file mode 100644 index 000000000..cfaacf350 --- /dev/null +++ b/database/migrations/2023_01_25_204343_useful_links_on_top_navbar.php @@ -0,0 +1,32 @@ +string('position')->after("description")->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('useful_links', function (Blueprint $table) { + $table->dropColumn('position'); + }); + } +}; diff --git a/database/seeders/Seeds/SettingsSeeder.php b/database/seeders/Seeds/SettingsSeeder.php index d0179896b..accfc06cf 100644 --- a/database/seeders/Seeds/SettingsSeeder.php +++ b/database/seeders/Seeds/SettingsSeeder.php @@ -131,7 +131,7 @@ public function run() ], [ 'value' => 'Credits', 'type' => 'string', - 'description' => 'Set the display name of your currency :)', + 'description' => 'The display name of your currency.', ]); //credits display name @@ -148,7 +148,7 @@ public function run() ], [ 'value' => '0', 'type' => 'integer', - 'description' => 'The %-value of tax that will be added to the product price on checkout', + 'description' => 'The %-value of tax that will be added to the product price on checkout.', ]); //Invoices enabled Settings::firstOrCreate([ @@ -156,7 +156,7 @@ public function run() ], [ 'value' => 'false', 'type' => 'boolean', - 'description' => 'Enables or disables the invoice feature for payments', + 'description' => 'Enables or disables the invoice feature for payments.', ]); //Invoice company name Settings::firstOrCreate([ @@ -164,7 +164,7 @@ public function run() ], [ 'value' => '', 'type' => 'string', - 'description' => 'The name of the Company on the Invoices', + 'description' => 'The name of the Company on the Invoices.', ]); //Invoice company address Settings::firstOrCreate([ @@ -172,7 +172,7 @@ public function run() ], [ 'value' => '', 'type' => 'string', - 'description' => 'The address of the Company on the Invoices', + 'description' => 'The address of the Company on the Invoices.', ]); //Invoice company phone Settings::firstOrCreate([ @@ -180,7 +180,7 @@ public function run() ], [ 'value' => '', 'type' => 'string', - 'description' => 'The phone number of the Company on the Invoices', + 'description' => 'The phone number of the Company on the Invoices.', ]); //Invoice company mail @@ -189,7 +189,7 @@ public function run() ], [ 'value' => '', 'type' => 'string', - 'description' => 'The email address of the Company on the Invoices', + 'description' => 'The email address of the Company on the Invoices.', ]); //Invoice VAT @@ -198,7 +198,7 @@ public function run() ], [ 'value' => '', 'type' => 'string', - 'description' => 'The VAT-Number of the Company on the Invoices', + 'description' => 'The VAT-Number of the Company on the Invoices.', ]); //Invoice Website @@ -207,7 +207,7 @@ public function run() ], [ 'value' => '', 'type' => 'string', - 'description' => 'The Website of the Company on the Invoices', + 'description' => 'The Website of the Company on the Invoices.', ]); //Invoice Website @@ -216,7 +216,7 @@ public function run() ], [ 'value' => 'INV', 'type' => 'string', - 'description' => 'The invoice prefix', + 'description' => 'The invoice prefix.', ]); //Locale @@ -225,7 +225,7 @@ public function run() ], [ 'value' => 'en', 'type' => 'string', - 'description' => 'The default Language the dashboard will be shown in', + 'description' => 'The default dashboard language.', ]); //Dynamic locale Settings::firstOrCreate([ @@ -247,9 +247,9 @@ public function run() Settings::firstOrCreate([ 'key' => 'SETTINGS::LOCALE:AVAILABLE', ], [ - 'value' => '', + 'value' => 'en', 'type' => 'string', - 'description' => 'The available languages', + 'description' => 'The available languages.', ]); //Locale Settings::firstOrCreate([ @@ -265,63 +265,63 @@ public function run() ], [ 'value' => env('PAYPAL_SECRET', ''), 'type' => 'string', - 'description' => 'Your PayPal Secret-Key ( https://developer.paypal.com/docs/integration/direct/rest/)', + 'description' => 'Your PayPal Secret-Key (https://developer.paypal.com/docs/integration/direct/rest/).', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::PAYMENTS:PAYPAL:CLIENT_ID', ], [ 'value' => env('PAYPAL_CLIENT_ID', ''), 'type' => 'string', - 'description' => 'Your PayPal Client_ID', + 'description' => 'Your PayPal Client_ID.', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::PAYMENTS:PAYPAL:SANDBOX_SECRET', ], [ 'value' => env('PAYPAL_SANDBOX_SECRET', ''), 'type' => 'string', - 'description' => 'Your PayPal SANDBOX Secret-Key used for testing ', + 'description' => 'Your PayPal SANDBOX Secret-Key used for testing.', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::PAYMENTS:PAYPAL:SANDBOX_CLIENT_ID', ], [ 'value' => env('PAYPAL_SANDBOX_CLIENT_ID', ''), 'type' => 'string', - 'description' => 'Your PayPal SANDBOX Client-ID used for testing ', + 'description' => 'Your PayPal SANDBOX Client-ID used for testing.', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::PAYMENTS:STRIPE:SECRET', ], [ 'value' => env('STRIPE_SECRET', ''), 'type' => 'string', - 'description' => 'Your Stripe Secret-Key ( https://dashboard.stripe.com/account/apikeys )', + 'description' => 'Your Stripe Secret-Key (https://dashboard.stripe.com/account/apikeys).', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::PAYMENTS:STRIPE:ENDPOINT_SECRET', ], [ 'value' => env('STRIPE_ENDPOINT_SECRET', ''), 'type' => 'string', - 'description' => 'Your Stripe endpoint secret-key', + 'description' => 'Your Stripe endpoint secret-key.', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::PAYMENTS:STRIPE:TEST_SECRET', ], [ 'value' => env('STRIPE_TEST_SECRET', ''), 'type' => 'string', - 'description' => 'Your Stripe test secret-key', + 'description' => 'Your Stripe test secret-key.', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::PAYMENTS:STRIPE:ENDPOINT_TEST_SECRET', ], [ 'value' => env('STRIPE_ENDPOINT_TEST_SECRET', ''), 'type' => 'string', - 'description' => 'Your Stripe endpoint test secret-key', + 'description' => 'Your Stripe endpoint test secret-key.', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::PAYMENTS:STRIPE:METHODS', ], [ 'value' => env('STRIPE_METHODS', 'card,sepa_debit'), 'type' => 'string', - 'description' => 'Comma seperated list of payment methods that are enabled (https://stripe.com/docs/payments/payment-methods/integration-options)', + 'description' => 'Comma seperated list of payment methods that are enabled (https://stripe.com/docs/payments/payment-methods/integration-options).', ]); Settings::firstOrCreate([ @@ -329,7 +329,7 @@ public function run() ], [ 'value' => env('DISCORD_CLIENT_ID', ''), 'type' => 'string', - 'description' => 'Discord API Credentials - https://discordapp.com/developers/applications/', + 'description' => 'Discord API Credentials (https://discordapp.com/developers/applications/).', ]); Settings::firstOrCreate([ @@ -337,14 +337,14 @@ public function run() ], [ 'value' => env('DISCORD_CLIENT_SECRET', ''), 'type' => 'string', - 'description' => 'Discord API Credentials - https://discordapp.com/developers/applications/', + 'description' => 'Discord API Credentials (https://discordapp.com/developers/applications/).', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::DISCORD:BOT_TOKEN', ], [ 'value' => env('DISCORD_BOT_TOKEN', ''), 'type' => 'string', - 'description' => 'Discord API Credentials - https://discordapp.com/developers/applications/', + 'description' => 'Discord API Credentials (https://discordapp.com/developers/applications/).', ]); Settings::firstOrCreate([ @@ -352,7 +352,7 @@ public function run() ], [ 'value' => env('DISCORD_GUILD_ID', ''), 'type' => 'string', - 'description' => 'Discord API Credentials - https://discordapp.com/developers/applications/', + 'description' => 'Discord API Credentials (https://discordapp.com/developers/applications/).', ]); Settings::firstOrCreate([ @@ -360,14 +360,14 @@ public function run() ], [ 'value' => env('DISCORD_ROLE_ID', ''), 'type' => 'string', - 'description' => 'Discord role that will be assigned to users when they register', + 'description' => 'Discord role that will be assigned to users when they register.', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::DISCORD:INVITE_URL', ], [ 'value' => env('DISCORD_INVITE_URL', ''), 'type' => 'string', - 'description' => 'The invite URL to your Discord Server', + 'description' => 'The invite URL to your Discord Server.', ]); Settings::firstOrCreate([ @@ -404,7 +404,7 @@ public function run() ], [ 'value' => env('RECAPTCHA_SITE_KEY', '6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI'), 'type' => 'string', - 'description' => 'Google Recaptcha API Credentials - https://www.google.com/recaptcha/admin - reCaptcha V2 (not v3)', + 'description' => 'Google Recaptcha API Credentials (https://www.google.com/recaptcha/admin) - reCaptcha V2 (not v3)', ]); Settings::firstOrCreate([ @@ -412,14 +412,14 @@ public function run() ], [ 'value' => env('RECAPTCHA_SECRET_KEY', '6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe'), 'type' => 'string', - 'description' => 'Google Recaptcha API Credentials - https://www.google.com/recaptcha/admin - reCaptcha V2 (not v3)', + 'description' => 'Google Recaptcha API Credentials (https://www.google.com/recaptcha/admin) - reCaptcha V2 (not v3)', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::RECAPTCHA:ENABLED', ], [ 'value' => 'true', 'type' => 'boolean', - 'description' => 'Enables or disables the ReCaptcha feature on the registration/login page', + 'description' => 'Enables or disables the ReCaptcha feature on the registration/login page.', ]); Settings::firstOrCreate([ @@ -427,63 +427,63 @@ public function run() ], [ 'value' => env('MAIL_MAILER', 'smtp'), 'type' => 'string', - 'description' => 'Selected Mailer (smtp, mailgun, sendgrid, mailtrap)', + 'description' => 'Selected Mailer (smtp, mailgun, sendgrid, mailtrap).', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::MAIL:HOST', ], [ 'value' => env('MAIL_HOST', 'localhost'), 'type' => 'string', - 'description' => 'Mailer Host Address', + 'description' => 'Mailer Host Address.', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::MAIL:PORT', ], [ 'value' => env('MAIL_PORT', '25'), 'type' => 'string', - 'description' => 'Mailer Server Port', + 'description' => 'Mailer Server Port.', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::MAIL:USERNAME', ], [ 'value' => env('MAIL_USERNAME', ''), 'type' => 'string', - 'description' => 'Mailer Username', + 'description' => 'Mailer Username.', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::MAIL:PASSWORD', ], [ 'value' => env('MAIL_PASSWORD', ''), 'type' => 'string', - 'description' => 'Mailer Password', + 'description' => 'Mailer Password.', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::MAIL:ENCRYPTION', ], [ 'value' => env('MAIL_ENCRYPTION', 'tls'), 'type' => 'string', - 'description' => 'Mailer Encryption (tls, ssl)', + 'description' => 'Mailer Encryption (tls, ssl).', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::MAIL:FROM_ADDRESS', ], [ 'value' => env('MAIL_FROM_ADDRESS', ''), 'type' => 'string', - 'description' => 'Mailer From Address', + 'description' => 'Mailer From Address.', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::MAIL:FROM_NAME', ], [ 'value' => env('APP_NAME', 'Controlpanel'), 'type' => 'string', - 'description' => 'Mailer From Name', + 'description' => 'Mailer From Name.', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::REFERRAL::ENABLED', ], [ 'value' => 'false', 'type' => 'string', - 'description' => 'Enable or disable the referral system', + 'description' => 'Enable or disable the referral system.', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::REFERRAL::ALWAYS_GIVE_COMMISSION', @@ -518,7 +518,7 @@ public function run() ], [ 'value' => 100, 'type' => 'integer', - 'description' => 'The Percentage Value a referred user gets', + 'description' => 'The Percentage value a referred user gets.', ]); Settings::firstOrCreate([ @@ -526,28 +526,28 @@ public function run() ], [ 'value' => '', 'type' => 'string', - 'description' => 'The Client API Key of an Pterodactyl Admin Account', + 'description' => 'The Client API Key of an Pterodactyl Admin Account.', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::SYSTEM:ENABLE_UPGRADE', ], [ 'value' => 'false', 'type' => 'boolean', - 'description' => 'Enables the updgrade/downgrade feature for servers', + 'description' => 'Enables the updgrade/downgrade feature for servers.', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::SYSTEM:CREATION_OF_NEW_SERVERS', ], [ 'value' => 'true', 'type' => 'boolean', - 'description' => 'Enable/disable the creation of new servers', + 'description' => 'Enable creation of new servers', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::SYSTEM:CREATION_OF_NEW_USERS', ], [ - 'value' => 'false', + 'value' => 'true', 'type' => 'boolean', - 'description' => 'Enable/disable the creation of new users', + 'description' => 'Enable creation of new users', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::SYSTEM:SHOW_IMPRINT', @@ -555,7 +555,7 @@ public function run() 'value' => "false", 'type' => 'boolean', - 'description' => 'Enable/disable imprint in footer' + 'description' => 'Enable imprint in footer.' ]); Settings::firstOrCreate([ @@ -564,7 +564,7 @@ public function run() 'value' => "false", 'type' => 'boolean', - 'description' => 'Enable/disable privacy policy in footer' + 'description' => 'Enable privacy policy in footer.' ]); Settings::firstOrCreate([ @@ -572,7 +572,7 @@ public function run() ], [ 'value' => 'false', 'type' => 'boolean', - 'description' => 'Enable/disable Terms of Service in footer', + 'description' => 'Enable Terms of Service in footer.', ]); Settings::firstOrCreate([ @@ -580,14 +580,14 @@ public function run() ], [ 'value' => 'false', 'type' => 'boolean', - 'description' => 'Enable/disable Alerts on Homepage', + 'description' => 'Enable Alerts on Homepage.', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::SYSTEM:ALERT_TYPE', ], [ 'value' => 'dark', 'type' => 'text', - 'description' => 'Changes the Color of the Alert', + 'description' => 'Changes the Color of the Alert.', ]); Settings::firstOrCreate([ @@ -595,14 +595,14 @@ public function run() ], [ 'value' => '', 'type' => 'text', - 'description' => 'Changes the Content the Alert', + 'description' => 'Changes the Content the Alert.', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::SYSTEM:THEME', ], [ 'value' => 'default', 'type' => 'text', - 'description' => 'Current active theme', + 'description' => 'Current active theme.', ]); Settings::firstOrCreate([ @@ -610,7 +610,7 @@ public function run() ], [ 'value' => 'true', 'type' => 'boolean', - 'description' => 'Enable/disable Useful Links on Homepage', + 'description' => 'Enable Useful Links on Homepage.', ]); Settings::firstOrCreate([ @@ -618,7 +618,7 @@ public function run() ], [ 'value' => 'true', 'type' => 'boolean', - 'description' => 'Enable/disable MOTD on Homepage', + 'description' => 'Enable MOTD on Homepage.', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::SYSTEM:MOTD_MESSAGE', @@ -628,14 +628,14 @@ public function run()

If you have any questions, make sure to join our Discord

(you can change this message in the Settings )

', 'type' => 'text', - 'description' => 'MOTD Message', + 'description' => 'MOTD Message.', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::SYSTEM:SEO_TITLE', ], [ 'value' => 'Controlpanel.gg', 'type' => 'text', - 'description' => 'The SEO Title', + 'description' => 'The SEO Title.', ]); Settings::firstOrCreate([ @@ -643,14 +643,14 @@ public function run() ], [ 'value' => 'Billing software for Pterodactyl Dashboard!', 'type' => 'text', - 'description' => 'SEO Description', + 'description' => 'SEO Description.', ]); Settings::firstOrCreate([ 'key' => 'SETTINGS::TICKET:NOTIFY', ], [ 'value' => 'all', 'type' => 'text', - 'description' => 'Who will get a Email Notifcation on new Tickets', + 'description' => 'Who will get a Email Notifcation on new Tickets.', ]); } } diff --git a/package.json b/package.json index ff8eff9a0..fff86627a 100644 --- a/package.json +++ b/package.json @@ -20,4 +20,4 @@ "vite": "^4.0.4", "laravel-vite-plugin": "^0.7.3" } -} \ No newline at end of file +} diff --git a/themes/default/views/admin/settings/tabs/system.blade.php b/themes/default/views/admin/settings/tabs/system.blade.php index d5986b14b..5aaa7965d 100644 --- a/themes/default/views/admin/settings/tabs/system.blade.php +++ b/themes/default/views/admin/settings/tabs/system.blade.php @@ -178,7 +178,7 @@ class="btn btn-secondary">{{ __('Test API') }} type="checkbox"> + data-content="{{ __('Enable the registration of new users on the system.') }}"> @@ -265,7 +265,7 @@ class="fas fa-info-circle"> @@ -475,7 +475,7 @@ class="form-control @error('motd-message') is-invalid @enderror"> - diff --git a/themes/default/views/admin/usefullinks/create.blade.php b/themes/default/views/admin/usefullinks/create.blade.php index 078a9fd29..2c09571a1 100644 --- a/themes/default/views/admin/usefullinks/create.blade.php +++ b/themes/default/views/admin/usefullinks/create.blade.php @@ -128,6 +128,7 @@ class="form-control @error('description') is-invalid @enderror"> @endsection diff --git a/themes/default/views/admin/usefullinks/edit.blade.php b/themes/default/views/admin/usefullinks/edit.blade.php index 817b26d0f..72d8c9a69 100644 --- a/themes/default/views/admin/usefullinks/edit.blade.php +++ b/themes/default/views/admin/usefullinks/edit.blade.php @@ -112,6 +112,7 @@ class="form-control @error('description') is-invalid @enderror"> @enderror +
diff --git a/webpack.mix.js b/webpack.mix.js deleted file mode 100644 index 1a2a9583e..000000000 --- a/webpack.mix.js +++ /dev/null @@ -1,16 +0,0 @@ -const mix = require('laravel-mix'); - -/* - |-------------------------------------------------------------------------- - | Mix Asset Management - |-------------------------------------------------------------------------- - | - | Mix provides a clean, fluent API for defining some Webpack build steps - | for your Laravel application. By default, we are compiling the Sass - | file for the application as well as bundling up all the JS files. - | - */ - -mix.js('resources/js/app.js', 'public/js') - .sass('resources/sass/app.scss', 'public/css') - .sourceMaps();