⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.1
Server IP:
185.238.29.86
Server:
Linux server2 6.8.12-6-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-6 (2024-12-19T19:05Z) x86_64
Server Software:
nginx/1.18.0
PHP Version:
8.1.31
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
var
/
www
/
work
/
modules
/
Core
/
Installer
/
View File Name :
EnvironmentController.php
<?php namespace Modules\Core\Installer; use Exception; use Illuminate\Http\Request; use Illuminate\Routing\Controller; use Illuminate\Routing\Redirector; use Illuminate\Support\Facades\DB; use RachidLaasri\LaravelInstaller\Events\EnvironmentSaved; use RachidLaasri\LaravelInstaller\Helpers\EnvironmentManager; use Validator; class EnvironmentController extends \RachidLaasri\LaravelInstaller\Controllers\EnvironmentController { /** * Processes the newly saved environment configuration (Form Wizard). * * @param Request $request * @param Redirector $redirect * @return \Illuminate\Http\RedirectResponse */ public function saveWizard(Request $request, Redirector $redirect) { $rules = config('installer.environment.form.rules'); $messages = [ 'environment_custom.required_if' => trans('installer_messages.environment.wizard.form.name_required'), ]; $validator = Validator::make($request->all(), $rules, $messages); if ($validator->fails()) { return $redirect->route('LaravelInstaller::environmentWizard')->withInput()->withErrors($validator->errors()); } if (! $this->checkDatabaseConnection($request)) { return $redirect->route('LaravelInstaller::environmentWizard')->withInput()->withErrors([ 'database_connection' => trans('installer_messages.environment.wizard.form.db_connection_failed'), ]); } $results = $this->EnvironmentManager->saveFileWizard($request); event(new EnvironmentSaved($request)); return $redirect->route('LaravelInstaller::database',["admin_email"=>$request->input('admin_email'),"admin_password"=>bcrypt($request->input('admin_password'))]) ->with(['results' => $results]); } /** * TODO: We can remove this code if PR will be merged: https://github.com/RachidLaasri/LaravelInstaller/pull/162 * Validate database connection with user credentials (Form Wizard). * * @param Request $request * @return bool */ private function checkDatabaseConnection(Request $request) { $connection = $request->input('database_connection'); $settings = config("database.connections.$connection"); config([ 'database' => [ 'default' => $connection, 'connections' => [ $connection => array_merge($settings, [ 'driver' => $connection, 'host' => $request->input('database_hostname'), 'port' => $request->input('database_port'), 'database' => $request->input('database_name'), 'username' => $request->input('database_username'), 'password' => $request->input('database_password'), ]), ], ], ]); DB::purge(); try { DB::connection()->getPdo(); return true; } catch (Exception $e) { return false; } } }