fixed #20
This commit is contained in:
parent
8bb636d7ad
commit
447f314eb5
@ -27,7 +27,7 @@ class Kernel extends ConsoleKernel
|
|||||||
protected function schedule(Schedule $schedule)
|
protected function schedule(Schedule $schedule)
|
||||||
{
|
{
|
||||||
// Not installed yet
|
// Not installed yet
|
||||||
if (env('DB_DATABASE', '') == '') {
|
if (!env('APP_INSTALLED')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -61,7 +61,7 @@ class Database extends Controller
|
|||||||
'database' => $request['database'],
|
'database' => $request['database'],
|
||||||
'username' => $request['username'],
|
'username' => $request['username'],
|
||||||
'password' => $request['password'],
|
'password' => $request['password'],
|
||||||
'driver' => 'mysql',
|
'driver' => env('DB_CONNECTION', 'mysql'),
|
||||||
'port' => env('DB_PORT', '3306'),
|
'port' => env('DB_PORT', '3306'),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
@ -105,18 +105,20 @@ class Database extends Controller
|
|||||||
],
|
],
|
||||||
])->save();
|
])->save();
|
||||||
|
|
||||||
|
$con = env('DB_CONNECTION', 'mysql');
|
||||||
|
|
||||||
// Change current connection
|
// Change current connection
|
||||||
$mysql = Config::get('database.connections.mysql');
|
$db = Config::get('database.connections.' . $con);
|
||||||
|
|
||||||
$mysql['host'] = $request['hostname'];
|
$db['host'] = $request['hostname'];
|
||||||
$mysql['database'] = $request['database'];
|
$db['database'] = $request['database'];
|
||||||
$mysql['username'] = $request['username'];
|
$db['username'] = $request['username'];
|
||||||
$mysql['password'] = $request['password'];
|
$db['password'] = $request['password'];
|
||||||
$mysql['prefix'] = $prefix;
|
$db['prefix'] = $prefix;
|
||||||
|
|
||||||
Config::set('database.connections.mysql', $mysql);
|
Config::set('database.connections.' . $con, $db);
|
||||||
|
|
||||||
DB::purge('mysql');
|
DB::purge($con);
|
||||||
DB::reconnect('mysql');
|
DB::reconnect($con);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
namespace App\Http\Controllers\Install;
|
namespace App\Http\Controllers\Install;
|
||||||
|
|
||||||
use DotenvEditor;
|
use DotenvEditor;
|
||||||
|
use File;
|
||||||
use Illuminate\Routing\Controller;
|
use Illuminate\Routing\Controller;
|
||||||
|
|
||||||
class Requirements extends Controller
|
class Requirements extends Controller
|
||||||
@ -19,7 +20,9 @@ class Requirements extends Controller
|
|||||||
|
|
||||||
if (empty($requirements)) {
|
if (empty($requirements)) {
|
||||||
// Create the .env file
|
// Create the .env file
|
||||||
$this->createEnvFile();
|
if (!File::exists(base_path('.env'))) {
|
||||||
|
$this->createEnvFile();
|
||||||
|
}
|
||||||
|
|
||||||
redirect('install/language')->send();
|
redirect('install/language')->send();
|
||||||
} else {
|
} else {
|
||||||
@ -80,6 +83,10 @@ class Requirements extends Controller
|
|||||||
$requirements[] = trans('install.requirements.extension', ['extension' => 'cURL']);
|
$requirements[] = trans('install.requirements.extension', ['extension' => 'cURL']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!extension_loaded('xml')) {
|
||||||
|
$requirements[] = trans('install.requirements.extension', ['extension' => 'XML']);
|
||||||
|
}
|
||||||
|
|
||||||
if (!extension_loaded('zip')) {
|
if (!extension_loaded('zip')) {
|
||||||
$requirements[] = trans('install.requirements.extension', ['extension' => 'ZIP']);
|
$requirements[] = trans('install.requirements.extension', ['extension' => 'ZIP']);
|
||||||
}
|
}
|
||||||
@ -120,13 +127,17 @@ class Requirements extends Controller
|
|||||||
'key' => 'APP_ENV',
|
'key' => 'APP_ENV',
|
||||||
'value' => 'production',
|
'value' => 'production',
|
||||||
],
|
],
|
||||||
|
[
|
||||||
|
'key' => 'APP_INSTALLED',
|
||||||
|
'value' => 'false',
|
||||||
|
],
|
||||||
[
|
[
|
||||||
'key' => 'APP_KEY',
|
'key' => 'APP_KEY',
|
||||||
'value' => 'base64:'.base64_encode(random_bytes(32)),
|
'value' => 'base64:'.base64_encode(random_bytes(32)),
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'key' => 'APP_DEBUG',
|
'key' => 'APP_DEBUG',
|
||||||
'value' => 'false',
|
'value' => 'true',
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'key' => 'APP_LOG_LEVEL',
|
'key' => 'APP_LOG_LEVEL',
|
||||||
|
@ -6,6 +6,7 @@ use Artisan;
|
|||||||
use App\Http\Requests\Install\Setting as Request;
|
use App\Http\Requests\Install\Setting as Request;
|
||||||
use App\Models\Auth\User;
|
use App\Models\Auth\User;
|
||||||
use App\Models\Company\Company;
|
use App\Models\Company\Company;
|
||||||
|
use DotenvEditor;
|
||||||
use File;
|
use File;
|
||||||
use Illuminate\Routing\Controller;
|
use Illuminate\Routing\Controller;
|
||||||
use Setting;
|
use Setting;
|
||||||
@ -85,6 +86,18 @@ class Settings extends Controller
|
|||||||
//Artisan::call('config:cache');
|
//Artisan::call('config:cache');
|
||||||
//Artisan::call('route: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
|
// Rename the robots.txt file
|
||||||
try {
|
try {
|
||||||
File::move(base_path('robots.txt.dist'), base_path('robots.txt'));
|
File::move(base_path('robots.txt.dist'), base_path('robots.txt'));
|
||||||
|
@ -34,7 +34,7 @@ class Kernel extends HttpKernel
|
|||||||
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
|
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
|
||||||
\App\Http\Middleware\VerifyCsrfToken::class,
|
\App\Http\Middleware\VerifyCsrfToken::class,
|
||||||
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||||
\App\Http\Middleware\CheckIfInstalled::class,
|
\App\Http\Middleware\RedirectIfNotInstalled::class,
|
||||||
\App\Http\Middleware\LoadSettings::class,
|
\App\Http\Middleware\LoadSettings::class,
|
||||||
],
|
],
|
||||||
|
|
||||||
|
@ -3,8 +3,9 @@
|
|||||||
namespace App\Http\Middleware;
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
use Closure;
|
use Closure;
|
||||||
|
use File;
|
||||||
|
|
||||||
class CheckIfInstalled
|
class RedirectIfNotInstalled
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Handle an incoming request.
|
* Handle an incoming request.
|
||||||
@ -15,8 +16,8 @@ class CheckIfInstalled
|
|||||||
*/
|
*/
|
||||||
public function handle($request, Closure $next)
|
public function handle($request, Closure $next)
|
||||||
{
|
{
|
||||||
// DB_DATABASE not empty means installed
|
// Check if .env file exists
|
||||||
if (env('DB_DATABASE', '') != '') {
|
if (File::exists(base_path('.env'))) {
|
||||||
return $next($request);
|
return $next($request);
|
||||||
}
|
}
|
||||||
|
|
@ -18,7 +18,7 @@ class All
|
|||||||
public function compose(View $view)
|
public function compose(View $view)
|
||||||
{
|
{
|
||||||
// Make sure it's installed
|
// Make sure it's installed
|
||||||
if (env('DB_DATABASE', '') != '') {
|
if (env('APP_INSTALLED')) {
|
||||||
// Share date format
|
// Share date format
|
||||||
$view->with(['date_format' => $this->getCompanyDateFormat()]);
|
$view->with(['date_format' => $this->getCompanyDateFormat()]);
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ class AppServiceProvider extends ServiceProvider
|
|||||||
*/
|
*/
|
||||||
public function register()
|
public function register()
|
||||||
{
|
{
|
||||||
if (env('APP_DEBUG')) {
|
if (env('APP_INSTALLED') && env('APP_DEBUG')) {
|
||||||
$this->app->register(\Barryvdh\Debugbar\ServiceProvider::class);
|
$this->app->register(\Barryvdh\Debugbar\ServiceProvider::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,6 +133,7 @@ Route::group(['middleware' => ['guest', 'language']], function () {
|
|||||||
});
|
});
|
||||||
|
|
||||||
Route::group(['prefix' => 'install'], function () {
|
Route::group(['prefix' => 'install'], function () {
|
||||||
|
Route::get('/', 'Install\Requirements@show');
|
||||||
Route::get('requirements', 'Install\Requirements@show');
|
Route::get('requirements', 'Install\Requirements@show');
|
||||||
|
|
||||||
Route::get('language', 'Install\Language@create');
|
Route::get('language', 'Install\Language@create');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user