This commit is contained in:
denisdulici 2017-09-23 18:43:09 +03:00
parent 8bb636d7ad
commit 447f314eb5
9 changed files with 47 additions and 19 deletions

View File

@ -27,7 +27,7 @@ class Kernel extends ConsoleKernel
protected function schedule(Schedule $schedule)
{
// Not installed yet
if (env('DB_DATABASE', '') == '') {
if (!env('APP_INSTALLED')) {
return;
}

View File

@ -61,7 +61,7 @@ class Database extends Controller
'database' => $request['database'],
'username' => $request['username'],
'password' => $request['password'],
'driver' => 'mysql',
'driver' => env('DB_CONNECTION', 'mysql'),
'port' => env('DB_PORT', '3306'),
]);
@ -105,18 +105,20 @@ class Database extends Controller
],
])->save();
$con = env('DB_CONNECTION', 'mysql');
// Change current connection
$mysql = Config::get('database.connections.mysql');
$db = Config::get('database.connections.' . $con);
$mysql['host'] = $request['hostname'];
$mysql['database'] = $request['database'];
$mysql['username'] = $request['username'];
$mysql['password'] = $request['password'];
$mysql['prefix'] = $prefix;
$db['host'] = $request['hostname'];
$db['database'] = $request['database'];
$db['username'] = $request['username'];
$db['password'] = $request['password'];
$db['prefix'] = $prefix;
Config::set('database.connections.mysql', $mysql);
Config::set('database.connections.' . $con, $db);
DB::purge('mysql');
DB::reconnect('mysql');
DB::purge($con);
DB::reconnect($con);
}
}

View File

@ -3,6 +3,7 @@
namespace App\Http\Controllers\Install;
use DotenvEditor;
use File;
use Illuminate\Routing\Controller;
class Requirements extends Controller
@ -19,7 +20,9 @@ class Requirements extends Controller
if (empty($requirements)) {
// Create the .env file
$this->createEnvFile();
if (!File::exists(base_path('.env'))) {
$this->createEnvFile();
}
redirect('install/language')->send();
} else {
@ -80,6 +83,10 @@ class Requirements extends Controller
$requirements[] = trans('install.requirements.extension', ['extension' => 'cURL']);
}
if (!extension_loaded('xml')) {
$requirements[] = trans('install.requirements.extension', ['extension' => 'XML']);
}
if (!extension_loaded('zip')) {
$requirements[] = trans('install.requirements.extension', ['extension' => 'ZIP']);
}
@ -120,13 +127,17 @@ class Requirements extends Controller
'key' => 'APP_ENV',
'value' => 'production',
],
[
'key' => 'APP_INSTALLED',
'value' => 'false',
],
[
'key' => 'APP_KEY',
'value' => 'base64:'.base64_encode(random_bytes(32)),
],
[
'key' => 'APP_DEBUG',
'value' => 'false',
'value' => 'true',
],
[
'key' => 'APP_LOG_LEVEL',

View File

@ -6,6 +6,7 @@ use Artisan;
use App\Http\Requests\Install\Setting as Request;
use App\Models\Auth\User;
use App\Models\Company\Company;
use DotenvEditor;
use File;
use Illuminate\Routing\Controller;
use Setting;
@ -85,6 +86,18 @@ class Settings extends Controller
//Artisan::call('config:cache');
//Artisan::call('route:cache');
// Update .env file
DotenvEditor::setKeys([
[
'key' => 'APP_INSTALLED',
'value' => 'true',
],
[
'key' => 'APP_DEBUG',
'value' => 'false',
],
])->save();
// Rename the robots.txt file
try {
File::move(base_path('robots.txt.dist'), base_path('robots.txt'));

View File

@ -34,7 +34,7 @@ class Kernel extends HttpKernel
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\App\Http\Middleware\CheckIfInstalled::class,
\App\Http\Middleware\RedirectIfNotInstalled::class,
\App\Http\Middleware\LoadSettings::class,
],

View File

@ -3,8 +3,9 @@
namespace App\Http\Middleware;
use Closure;
use File;
class CheckIfInstalled
class RedirectIfNotInstalled
{
/**
* Handle an incoming request.
@ -15,8 +16,8 @@ class CheckIfInstalled
*/
public function handle($request, Closure $next)
{
// DB_DATABASE not empty means installed
if (env('DB_DATABASE', '') != '') {
// Check if .env file exists
if (File::exists(base_path('.env'))) {
return $next($request);
}

View File

@ -18,7 +18,7 @@ class All
public function compose(View $view)
{
// Make sure it's installed
if (env('DB_DATABASE', '') != '') {
if (env('APP_INSTALLED')) {
// Share date format
$view->with(['date_format' => $this->getCompanyDateFormat()]);
}

View File

@ -31,7 +31,7 @@ class AppServiceProvider extends ServiceProvider
*/
public function register()
{
if (env('APP_DEBUG')) {
if (env('APP_INSTALLED') && env('APP_DEBUG')) {
$this->app->register(\Barryvdh\Debugbar\ServiceProvider::class);
}

View File

@ -133,6 +133,7 @@ Route::group(['middleware' => ['guest', 'language']], function () {
});
Route::group(['prefix' => 'install'], function () {
Route::get('/', 'Install\Requirements@show');
Route::get('requirements', 'Install\Requirements@show');
Route::get('language', 'Install\Language@create');