59 lines
1.4 KiB
PHP
Raw Normal View History

2017-09-14 22:21:00 +03:00
<?php
namespace App\Http\Controllers\Install;
use Artisan;
use App\Http\Requests\Install\Database as Request;
use App\Utilities\AppConfigurer;
2017-09-14 22:21:00 +03:00
use Illuminate\Routing\Controller;
class Database extends Controller {
/**
* Show the form for creating a new resource.
*
* @return Response
*/
public function create() {
return view( 'install.database.create' );
}
/**
* Store a newly created resource in storage.
*
* @param Request $request
*
* @return Response
*/
public function store( Request $request ) {
$host = $request['hostname'];
$port = env( 'DB_PORT', '3306' );
$database = $request['database'];
$username = $request['username'];
$password = $request['password'];
// Check database connection
if ( ! AppConfigurer::isDbValid($host,$port,$database,$username,$password) ) {
$message = trans( 'install.error.connection' );
flash( $message )->error()->important();
return redirect( 'install/database' )->withInput();
}
// Set database details
AppConfigurer::saveDbVariables($host, $port, $database, $username, $password);
// Try to increase the maximum execution time
set_time_limit( 300 ); // 5 minutes
// Create tables
Artisan::call( 'migrate', [ '--force' => true ] );
// Create Roles
Artisan::call( 'db:seed', [ '--class' => 'Database\Seeds\Roles', '--force' => true ] );
return redirect( 'install/settings' );
}
2017-09-14 22:21:00 +03:00
}