File manager - Edit - /var/www/payraty/inventory_main/app/Http/Controllers/Installer/InstallerController.php
Back
<?php namespace App\Http\Controllers\Installer; use App\Http\Controllers\Controller; use App\Http\Requests\InstallRequest; use App\Models\SystemSettings; use App\Models\User; use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\DB; use mysqli; class InstallerController extends Controller { public function index() { return view('install.index'); } public function getInstall(InstallRequest $request) { try { // Verify the hash token if (!Hash::check(session()->get('hash_token'), $request->random_token)) { return response()->json([ 'error' => __('Something went wrong. Please try again.'), ]); } // Set the application URL in the environment envWrite('APP_URL', url('/')); // Set max execution time to 900 seconds ini_set('max_execution_time', 900); // Database connection details $host = $request->host; $db_user = $request->db_user; $db_name = $request->db_name; $db_password = $request->db_password ?? ''; $purchase_code = $request->purchase_code; // Check for valid database connection try { $mysqli = new mysqli($host, $db_user, $db_password, $db_name); if ($mysqli->connect_error) { throw new \Exception($mysqli->connect_error); } } catch (\Throwable $th) { return response()->json([ 'error' => __('Please input -- valid database information.'), ]); } $mysqli->close(); // Store database connection details in session session()->put('email', $request->email); session()->put('name', $request->name); session()->put('login_password', $request->password); session()->put('purchase_code', $purchase_code); // Verify the purchase code try { $verification = verify_purchase_code($purchase_code); } catch (\Throwable $e) { return response()->json([ 'error' => $e->getMessage(), ]); } if ($verification === true) { // Write database connection details to environment file envWrite('DB_HOST', $host); envWrite('DB_DATABASE', $db_name); envWrite('DB_USERNAME', $db_user); envWrite('DB_PASSWORD', $db_password); sleep(3); return response()->json([ 'route' => route('install.finalize'), 'success' => true, ]); } else { return response()->json([ 'success' => false, 'error' => $verification, ]); } } catch (\Exception $e) { Log::error('Error during installation: ' . $e->getMessage()); return response()->json([ 'error' => __('An unexpected error occurred. Please try again later.'), ]); } } public function final() { try { // Run necessary Artisan commands for setup Artisan::call('db:wipe --drop-views --force'); Artisan::call('key:generate'); Artisan::call('optimize:clear'); Artisan::call('migrate'); Artisan::call('db:seed'); envWrite('APP_DEBUG', false); envWrite('IS_DEMO_MODE', false); envWrite('MIX_ASSET_URL', url('/') . '/public'); envWrite('MIX_ENV_MODE', 'production'); try { Artisan::call('storage:link --force'); envWrite('FILESYSTEM_DRIVER', 'public'); } catch (\Throwable $t) { envWrite('FILESYSTEM_DRIVER', 'public_path'); } try { Artisan::call('jwt:secret'); } catch (\Throwable $t) { Log::error($t->getMessage()); } // Update user details $user = User::find(1); $user->email = session()->get('email'); $user->name = session()->get('name'); $user->password = bcrypt(session()->get('login_password')); $user->save(); // Store purchase code storePurchaseCode(session()->get('purchase_code')); Storage::put('installed.txt', session()->get('0ef2fa40-1d48-40fb-aea6-9942901fb00c')); envWrite('APP_PURCHASE_CODE', session()->get('purchase_code')); envWrite('APP_INSTALLED', true); return response()->json([ 'success' => true, 'message' => "Installation is Successful", 'route' => route('admin.auth.login'), ]); } catch (\Exception $e) { Log::error('Error during final installation step: ' . $e->getMessage()); return response()->json([ 'error' => __('An unexpected error occurred during the final installation step. Please try again later.'), ]); } } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.30 | Generation time: 0 |
proxy
|
phpinfo
|
Settings