2017-09-14 22:21:00 +03:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Http\Controllers\Install;
|
|
|
|
|
|
|
|
use App\Http\Requests\Install\Database as Request;
|
2018-02-20 17:05:58 +03:00
|
|
|
use App\Utilities\Installer;
|
2017-09-14 22:21:00 +03:00
|
|
|
use Illuminate\Routing\Controller;
|
|
|
|
|
2018-02-20 17:05:58 +03:00
|
|
|
class Database extends Controller
|
|
|
|
{
|
2018-02-20 17:17:39 +03:00
|
|
|
/**
|
|
|
|
* Show the form for creating a new resource.
|
|
|
|
*
|
|
|
|
* @return Response
|
|
|
|
*/
|
|
|
|
public function create()
|
2018-02-20 17:05:58 +03:00
|
|
|
{
|
2023-02-15 17:04:59 +03:00
|
|
|
return view('install.database.create', [
|
|
|
|
'host' => env('DB_HOST' , 'localhost'),
|
2023-02-16 10:16:39 +03:00
|
|
|
'username' => env('DB_USERNAME', ''),
|
2023-02-15 17:04:59 +03:00
|
|
|
'password' => env('DB_PASSWORD', ''),
|
2023-02-16 10:16:39 +03:00
|
|
|
'database' => env('DB_DATABASE', ''),
|
2023-02-15 17:04:59 +03:00
|
|
|
]);
|
2018-02-20 17:17:39 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Store a newly created resource in storage.
|
|
|
|
*
|
|
|
|
* @param Request $request
|
|
|
|
*
|
|
|
|
* @return Response
|
|
|
|
*/
|
|
|
|
public function store(Request $request)
|
2018-02-20 17:05:58 +03:00
|
|
|
{
|
2020-04-26 06:07:27 -04:00
|
|
|
$connection = config('database.default','mysql');
|
|
|
|
|
2019-11-16 10:21:14 +03:00
|
|
|
$host = $request['hostname'];
|
2020-04-26 06:07:27 -04:00
|
|
|
$port = config("database.connections.$connection.port", '3306');
|
2018-02-20 17:17:39 +03:00
|
|
|
$database = $request['database'];
|
|
|
|
$username = $request['username'];
|
|
|
|
$password = $request['password'];
|
2017-12-31 05:21:10 +11:00
|
|
|
|
2018-02-20 17:17:39 +03:00
|
|
|
// Check database connection
|
|
|
|
if (!Installer::createDbTables($host, $port, $database, $username, $password)) {
|
2019-11-16 10:21:14 +03:00
|
|
|
$response = [
|
|
|
|
'status' => null,
|
|
|
|
'success' => false,
|
|
|
|
'error' => true,
|
|
|
|
'message' => trans('install.error.connection'),
|
|
|
|
'data' => null,
|
|
|
|
'redirect' => null,
|
|
|
|
];
|
|
|
|
}
|
2017-12-31 05:21:10 +11:00
|
|
|
|
2019-11-16 10:21:14 +03:00
|
|
|
if (empty($response)) {
|
|
|
|
$response['redirect'] = route('install.settings');
|
2018-02-20 17:17:39 +03:00
|
|
|
}
|
2017-12-31 05:21:10 +11:00
|
|
|
|
2019-11-16 10:21:14 +03:00
|
|
|
return response()->json($response);
|
2018-02-20 17:17:39 +03:00
|
|
|
}
|
2017-09-14 22:21:00 +03:00
|
|
|
}
|