mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Refactor to a simpler style
This commit is contained in:
@@ -26,11 +26,57 @@
|
||||
namespace App\Http\Controllers\Install;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use LibreNMS\DB\Eloquent;
|
||||
|
||||
class InstallationController extends Controller
|
||||
{
|
||||
protected $connection = 'setup';
|
||||
protected $steps = [
|
||||
'checks' => \App\Http\Controllers\Install\ChecksController::class,
|
||||
'database' => \App\Http\Controllers\Install\DatabaseController::class,
|
||||
'migrate' => \App\Http\Controllers\Install\DatabaseMigrationController::class,
|
||||
'user' => \App\Http\Controllers\Install\MakeUserController::class,
|
||||
'finish' => \App\Http\Controllers\Install\FinalizeController::class,
|
||||
];
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
if (is_string(config('librenms.install'))) {
|
||||
$this->steps = array_intersect_key($this->steps, array_flip(explode(',', config('librenms.install'))));
|
||||
}
|
||||
$this->configureDatabase();
|
||||
}
|
||||
|
||||
public function baseIndex()
|
||||
{
|
||||
return redirect()->route('install.checks');
|
||||
}
|
||||
|
||||
public function invalid()
|
||||
{
|
||||
abort(404);
|
||||
}
|
||||
|
||||
final protected function formatData($data = [])
|
||||
{
|
||||
$data['steps'] = $this->steps;
|
||||
return $data;
|
||||
}
|
||||
|
||||
protected function configureDatabase()
|
||||
{
|
||||
$db = session('db');
|
||||
if (!empty($db)) {
|
||||
Eloquent::setConnection(
|
||||
$this->connection,
|
||||
$db['host'] ?? 'localhost',
|
||||
$db['username'] ?? 'librenms',
|
||||
$db['password'] ?? null,
|
||||
$db['database'] ?? 'librenms',
|
||||
$db['port'] ?? 3306,
|
||||
$db['socket'] ?? null,
|
||||
);
|
||||
config(['database.default', $this->connection]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user