Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Q
queue
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Cristian Mauricio Diaz Canales
queue
Commits
fc58db0d
Commit
fc58db0d
authored
Dec 23, 2022
by
Cristian Mauricio Diaz Canales
💬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit desde el servidor
parent
5e455b9d
Pipeline
#670
canceled with stages
Changes
16
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
1 addition
and
683 deletions
+1
-683
app/Http/Controllers/InstallerController.php
app/Http/Controllers/InstallerController.php
+0
-134
app/Repositories/InstallerRepository.php
app/Repositories/InstallerRepository.php
+0
-382
config/installer.php
config/installer.php
+0
-128
routes/install.php
routes/install.php
+1
-12
storage/.gitignore
storage/.gitignore
+0
-2
storage/app/.gitignore
storage/app/.gitignore
+0
-3
storage/app/public/tokens_for_callpage.json
storage/app/public/tokens_for_callpage.json
+0
-0
storage/app/public/tokens_for_display.json
storage/app/public/tokens_for_display.json
+0
-0
storage/framework/.gitignore
storage/framework/.gitignore
+0
-9
storage/framework/cache/.gitignore
storage/framework/cache/.gitignore
+0
-3
storage/framework/cache/data/.gitignore
storage/framework/cache/data/.gitignore
+0
-2
storage/framework/sessions/.gitignore
storage/framework/sessions/.gitignore
+0
-2
storage/framework/testing/.gitignore
storage/framework/testing/.gitignore
+0
-2
storage/framework/views/.gitignore
storage/framework/views/.gitignore
+0
-2
storage/logs/.gitignore
storage/logs/.gitignore
+0
-2
storage/logs/laravel.log
storage/logs/laravel.log
+0
-0
No files found.
app/Http/Controllers/InstallerController.php
deleted
100644 → 0
View file @
5e455b9d
<?php
namespace
App\Http\Controllers
;
use
App\Consts\AppVersion
;
use
App\Repositories\InstallerRepository
;
use
Exception
;
use
Illuminate\Http\Request
;
use
Illuminate\Support\Facades\DB
;
class
InstallerController
extends
Controller
{
protected
$installer
;
public
function
__construct
(
InstallerRepository
$installer
)
{
$this
->
installer
=
$installer
;
}
public
function
index
(
Request
$request
)
{
if
(
$request
->
getSchemeAndHttpHost
()
.
'/'
.
$request
->
route
()
->
uri
==
$request
->
url
())
$sub_directory
=
'false'
;
else
$sub_directory
=
'true'
;
return
view
(
'vendor.installer.installer'
,
[
'sub_directory'
=>
$sub_directory
,
'app_version'
=>
AppVersion
::
VERSION
,
'timezones'
=>
json_encode
(
timezone_identifiers_list
()),
'host'
=>
str_replace
(
"install"
,
""
,
$request
->
url
())]);
}
public
function
requirements
()
{
$phpSupportInfo
=
$this
->
installer
->
checkPHPversion
(
config
(
'installer.core.minPhpVersion'
)
);
$requirements
=
$this
->
installer
->
check
(
config
(
'installer.requirements'
)
);
$html
=
view
(
'vendor.installer.requirements'
,
compact
(
'requirements'
,
'phpSupportInfo'
))
->
render
();
$status
=
false
;
if
(
!
isset
(
$requirements
[
'errors'
])
&&
$phpSupportInfo
[
'supported'
])
{
$status
=
true
;
}
return
response
()
->
json
([
'html'
=>
$html
,
'status'
=>
$status
]);
}
public
function
permissions
()
{
$permissions
=
$this
->
installer
->
checkPermission
(
config
(
'installer.permissions'
)
);
$html
=
view
(
'vendor.installer.permissions'
,
compact
(
'permissions'
))
->
render
();
$status
=
false
;
if
(
!
isset
(
$permissions
[
'errors'
]))
$status
=
true
;
return
response
()
->
json
([
'html'
=>
$html
,
'status'
=>
$status
]);
}
public
function
environmentWizard
()
{
$envConfig
=
$this
->
installer
->
getEnvContent
();
return
view
(
'vendor.installer.environment-wizard'
,
compact
(
'envConfig'
));
}
public
function
saveWizard
(
Request
$request
)
{
$data
=
$request
->
all
();
$rules
=
config
(
'installer.environment.form.rules'
);
try
{
$request
->
validate
(
$rules
);
$this
->
validateCustomerData
(
$data
[
'customer_details'
]);
$app_url
=
str_replace
(
"environment/save"
,
""
,
$request
->
url
());
$res
=
$this
->
installer
->
saveFileWizard
(
$request
->
all
(),
$app_url
);
$data
[
'customer_details'
][
'host'
]
=
$app_url
;
$same_directory
=
false
;
if
(
$request
->
getSchemeAndHttpHost
()
.
'/'
.
$request
->
route
()
->
uri
==
$request
->
url
())
$same_directory
=
true
;
if
(
$res
[
'results'
])
{
$outputLog
=
$this
->
installer
->
migrateAndSeed
();
if
(
$outputLog
[
'message'
]
==
'error'
)
return
response
()
->
json
([
'status_code'
=>
500
,
'errors'
=>
$outputLog
[
'status'
]]);
$final
=
$this
->
installer
->
finish
(
$same_directory
,
$data
[
'customer_details'
],
$data
[
'app_timezone'
]);
}
else
return
response
()
->
json
([
'status_code'
=>
500
,
'errors'
=>
$res
[
'message'
]]);
}
catch
(
\Exception
$e
)
{
if
(
$e
instanceof
\Illuminate\Validation\ValidationException
)
{
$errors
=
$e
->
errors
();
return
response
()
->
json
([
'status_code'
=>
422
,
'errors'
=>
$errors
,]);
}
return
response
()
->
json
([
'status_code'
=>
500
,
'errors'
=>
'something went wrong'
]);
}
return
response
()
->
json
([
'status_code'
=>
200
,
'dbOutputLog'
=>
$outputLog
[
'dbOutputLog'
],
'final'
=>
$final
]);
}
public
function
testDBConnection
(
Request
$request
)
{
try
{
$request
->
validate
([
'database_connection'
=>
'required'
,
'database_hostname'
=>
'required'
,
'database_port'
=>
'required'
,
'database_name'
=>
'required'
,
'database_user_name'
=>
'required'
,
'database_password'
=>
'nullable'
]);
$database
=
config
(
'database.connections.'
.
$request
->
database_connection
);
$database
[
"host"
]
=
$request
->
database_hostname
;
$database
[
"port"
]
=
$request
->
database_port
;
$database
[
"database"
]
=
$request
->
database_name
;
$database
[
"username"
]
=
$request
->
database_user_name
;
$database
[
"password"
]
=
$request
->
database_password
;
config
([
'database.connections.test_connection'
=>
$database
]);
DB
::
connection
(
'test_connection'
)
->
getPdo
();
}
catch
(
\Exception
$e
)
{
if
(
$e
instanceof
\Illuminate\Validation\ValidationException
)
{
$errors
=
$e
->
errors
();
return
response
()
->
json
([
'status_code'
=>
422
,
'errors'
=>
$errors
,
'message'
=>
'something went wrong'
]);
}
return
response
()
->
json
([
'status_code'
=>
500
,
'errors'
=>
null
,
'message'
=>
'connection does not exists'
]);
}
return
response
()
->
json
([
'status_code'
=>
200
,
'data'
=>
null
,
'message'
=>
'success'
]);
}
public
function
validateCustomerData
(
$data
)
{
validator
(
$data
,
[
'purchase_code'
=>
'bail|required'
,
'name'
=>
'bail|required'
,
'company_name'
=>
'bail|required'
,
'email'
=>
'email|bail|required'
,
'phone'
=>
'bail|required'
,
'city'
=>
'bail|required'
,
'country'
=>
'bail|required'
,
'username'
=>
'bail|required'
,
])
->
validate
();
}
}
app/Repositories/InstallerRepository.php
deleted
100644 → 0
View file @
5e455b9d
<?php
namespace
App\Repositories
;
use
App\Models\Setting
;
use
Exception
;
use
Illuminate\Support\Facades\Artisan
;
use
Illuminate\Support\Facades\Http
;
use
Illuminate\Support\Facades\Storage
;
use
Illuminate\Support\Str
;
use
Symfony\Component\Console\Output\BufferedOutput
;
use
Throwable
;
class
InstallerRepository
{
protected
$results
=
[];
public
function
__construct
()
{
$this
->
envPath
=
base_path
(
'.env'
);
$this
->
envExamplePath
=
base_path
(
'.env.example'
);
}
public
function
checkPHPversion
(
string
$minPhpVersion
=
null
)
{
$minVersionPhp
=
$minPhpVersion
;
$currentPhpVersion
=
$this
->
getPhpVersionInfo
();
$supported
=
false
;
if
(
$minPhpVersion
==
null
)
{
$minVersionPhp
=
$this
->
getMinPhpVersion
();
}
if
(
version_compare
(
$currentPhpVersion
[
'version'
],
$minVersionPhp
)
>=
0
)
{
$supported
=
true
;
}
$phpStatus
=
[
'full'
=>
$currentPhpVersion
[
'full'
],
'current'
=>
$currentPhpVersion
[
'version'
],
'minimum'
=>
$minVersionPhp
,
'supported'
=>
$supported
,
];
return
$phpStatus
;
}
private
static
function
getPhpVersionInfo
()
{
$currentVersionFull
=
PHP_VERSION
;
preg_match
(
"#^\d+(\.\d+)*#"
,
$currentVersionFull
,
$filtered
);
$currentVersion
=
$filtered
[
0
];
return
[
'full'
=>
$currentVersionFull
,
'version'
=>
$currentVersion
,
];
}
protected
function
getMinPhpVersion
()
{
return
$this
->
_minPhpVersion
;
}
public
function
check
(
array
$requirements
)
{
$results
=
[];
foreach
(
$requirements
as
$type
=>
$requirement
)
{
switch
(
$type
)
{
// check php requirements
case
'php'
:
foreach
(
$requirements
[
$type
]
as
$requirement
)
{
$results
[
'requirements'
][
$type
][
$requirement
]
=
true
;
if
(
!
extension_loaded
(
$requirement
))
{
$results
[
'requirements'
][
$type
][
$requirement
]
=
false
;
$results
[
'errors'
]
=
true
;
}
}
break
;
// check apache requirements
case
'apache'
:
foreach
(
$requirements
[
$type
]
as
$requirement
)
{
// if function doesn't exist we can't check apache modules
if
(
function_exists
(
'apache_get_modules'
))
{
$results
[
'requirements'
][
$type
][
$requirement
]
=
true
;
if
(
!
in_array
(
$requirement
,
apache_get_modules
()))
{
$results
[
'requirements'
][
$type
][
$requirement
]
=
false
;
$results
[
'errors'
]
=
true
;
}
}
}
break
;
}
}
return
$results
;
}
public
function
checkPermission
(
array
$folders
)
{
foreach
(
$folders
as
$folder
=>
$permission
)
{
if
(
!
(
$this
->
getPermission
(
$folder
)
>=
$permission
))
{
$this
->
addFileAndSetErrors
(
$folder
,
$permission
,
false
);
}
else
{
$this
->
addFile
(
$folder
,
$permission
,
true
);
}
}
return
$this
->
results
;
}
private
function
getPermission
(
$folder
)
{
return
substr
(
sprintf
(
'%o'
,
fileperms
(
base_path
(
$folder
))),
-
4
);
}
/**
* Add the file to the list of results.
*
* @param $folder
* @param $permission
* @param $isSet
*/
private
function
addFile
(
$folder
,
$permission
,
$isSet
)
{
if
(
!
isset
(
$this
->
results
[
'permissions'
]))
$this
->
results
[
'permissions'
]
=
[];
array_push
(
$this
->
results
[
'permissions'
],
[
'folder'
=>
$folder
,
'permission'
=>
$permission
,
'isSet'
=>
$isSet
,
]);
}
/**
* Add the file and set the errors.
*
* @param $folder
* @param $permission
* @param $isSet
*/
private
function
addFileAndSetErrors
(
$folder
,
$permission
,
$isSet
)
{
$this
->
addFile
(
$folder
,
$permission
,
$isSet
);
$this
->
results
[
'errors'
]
=
true
;
}
public
function
getEnvContent
()
{
if
(
!
file_exists
(
$this
->
envPath
))
{
if
(
file_exists
(
$this
->
envExamplePath
))
{
copy
(
$this
->
envExamplePath
,
$this
->
envPath
);
}
else
{
touch
(
$this
->
envPath
);
}
}
return
file_get_contents
(
$this
->
envPath
);
}
public
function
saveFileWizard
(
$request
,
$app_url
)
{
$results
=
true
;
$message
=
'Your .env file settings have been saved.'
;
$envFileData
=
'APP_NAME=\''
.
$request
[
'app_name'
]
.
"'
\n
"
.
'APP_ENV=local'
.
"
\n
"
.
'APP_KEY='
.
'base64:'
.
base64_encode
(
Str
::
random
(
32
))
.
"
\n
"
.
'APP_DEBUG=true'
.
"
\n
"
.
'APP_LOG_LEVEL=debug'
.
"
\n
"
.
'APP_URL='
.
$app_url
.
"
\n\n
"
.
'DB_CONNECTION='
.
$request
[
'database_connection'
]
.
"
\n
"
.
'DB_HOST='
.
$request
[
'database_hostname'
]
.
"
\n
"
.
'DB_PORT='
.
$request
[
'database_port'
]
.
"
\n
"
.
'DB_DATABASE='
.
$request
[
'database_name'
]
.
"
\n
"
.
'DB_USERNAME='
.
$request
[
'database_username'
]
.
"
\n
"
.
'DB_PASSWORD='
.
$request
[
'database_password'
]
.
"
\n\n
"
;
try
{
file_put_contents
(
$this
->
envPath
,
$envFileData
);
$database
=
config
(
'database.connections.'
.
$request
[
'database_connection'
]);
$database
[
"host"
]
=
$request
[
'database_hostname'
];
$database
[
"port"
]
=
$request
[
'database_port'
];
$database
[
"database"
]
=
$request
[
'database_name'
];
$database
[
"username"
]
=
$request
[
'database_username'
];
$database
[
"password"
]
=
$request
[
'database_password'
];
config
([
'database.connections.'
.
$request
[
'database_connection'
]
=>
$database
]);
}
catch
(
Exception
$e
)
{
$results
=
false
;
$message
=
'Unable to save the .env file, Please create it manually.'
;
}
return
[
'results'
=>
$results
,
'message'
=>
$message
];
}
public
function
migrateAndSeed
()
{
$outputLog
=
new
BufferedOutput
();
return
$this
->
migrate
(
$outputLog
);
}
private
function
migrate
(
BufferedOutput
$outputLog
)
{
try
{
Artisan
::
call
(
'optimize:clear'
);
Artisan
::
call
(
'optimize'
);
Artisan
::
call
(
'migrate'
,
[
'--force'
=>
true
],
$outputLog
);
}
catch
(
Exception
$e
)
{
return
$this
->
response
(
$e
->
getMessage
(),
'error'
,
$outputLog
);
}
return
$this
->
seed
(
$outputLog
);
}
private
function
seed
(
BufferedOutput
$outputLog
)
{
try
{
Artisan
::
call
(
'db:seed'
,
[
'--force'
=>
true
],
$outputLog
);
}
catch
(
Exception
$e
)
{
return
$this
->
response
(
$e
->
getMessage
(),
'error'
,
$outputLog
);
}
return
$this
->
response
(
'Successfully Completed'
,
'success'
,
$outputLog
);
}
private
function
response
(
$message
,
$status
,
BufferedOutput
$outputLog
)
{
return
[
'status'
=>
$status
,
'message'
=>
$message
,
'dbOutputLog'
=>
$outputLog
->
fetch
(),
];
}
public
function
finish
(
$same_directory
,
$customer_details
,
$timezone
)
{
$finalMessages
=
$this
->
runFinal
(
$same_directory
);
$this
->
setTimezone
(
$timezone
);
$this
->
setCustomerDetails
(
$customer_details
);
$this
->
updateInstalledStatus
();
$finalStatusMessage
=
$this
->
create
();
$finalEnvFile
=
$this
->
getEnvContent
();
return
[
'finalMessages'
=>
$finalMessages
,
'finalStatusMessage'
=>
$finalStatusMessage
,
'finalEnvFile'
=>
$finalEnvFile
];
}
public
function
runFinal
(
$same_directory
)
{
$outputLog
=
new
BufferedOutput
;
$this
->
generateKey
(
$outputLog
);
$this
->
publishVendorAssets
(
$outputLog
);
$this
->
linkStorage
(
$outputLog
);
if
(
!
$same_directory
)
$this
->
clearRoute
(
$outputLog
);
$this
->
createFile
();
return
$outputLog
->
fetch
();
}
private
static
function
publishVendorAssets
(
BufferedOutput
$outputLog
)
{
try
{
if
(
config
(
'installer.final.publish'
))
{
Artisan
::
call
(
'vendor:publish'
,
[
'--all'
=>
true
],
$outputLog
);
}
}
catch
(
Exception
$e
)
{
return
static
::
response
(
'error'
,
$e
->
getMessage
(),
$outputLog
);
}
return
$outputLog
;
}
private
static
function
generateKey
(
BufferedOutput
$outputLog
)
{
try
{
if
(
config
(
'installer.final.key'
))
{
Artisan
::
call
(
'key:generate'
,
[
'--force'
=>
true
],
$outputLog
);
}
}
catch
(
Exception
$e
)
{
return
static
::
response
(
'error'
,
$e
->
getMessage
(),
$outputLog
);
}
return
$outputLog
;
}
private
static
function
linkStorage
(
BufferedOutput
$outputLog
)
{
try
{
if
(
config
(
'installer.final.key'
))
{
Artisan
::
call
(
'storage:link'
);
}
}
catch
(
Exception
$e
)
{
return
null
;
}
return
$outputLog
;
}
private
static
function
updateInstalledStatus
()
{
$settings
=
Setting
::
first
();
$settings
->
installed
=
1
;
$settings
->
save
();
return
$settings
;
}
private
static
function
setTimezone
(
$timezone
)
{
try
{
$settings
=
Setting
::
first
();
$settings
->
timezone
=
$timezone
;
$settings
->
save
();
}
catch
(
Throwable
$th
)
{
return
null
;
}
return
true
;
}
private
static
function
clearRoute
(
BufferedOutput
$outputLog
)
{
try
{
if
(
config
(
'installer.final.key'
))
{
Artisan
::
call
(
'route:clear'
);
}
}
catch
(
Exception
$e
)
{
return
null
;
}
return
$outputLog
;
}
private
static
function
createFile
()
{
$data
=
[];
Storage
::
put
(
'public/tokens_for_callpage.json'
,
json_encode
(
$data
));
Storage
::
put
(
'public/tokens_for_display.json'
,
json_encode
(
$data
));
}
public
function
create
()
{
// $installedLogFile = storage_path('installed');
// $dateStamp = date('Y/m/d h:i:sa');
//if (!file_exists($installedLogFile)) {
$message
=
'JL Token Installer successfully INSTALLED on'
.
date
(
'Y/m/d h:i:sa'
)
.
"
\n
"
;
// file_put_contents($installedLogFile, $message);
// } else {
// $message = 'JL Token Installer successfully UPDATED on' . $dateStamp;
// file_put_contents($installedLogFile, $message . PHP_EOL, FILE_APPEND | LOCK_EX);
// }
return
$message
;
}
public
function
setCustomerDetails
(
$data
)
{
try
{
$response
=
Http
::
withoutVerifying
()
->
withOptions
([
"verify"
=>
false
])
->
post
(
config
(
'services.key_verification.set_customer_details'
),
$data
);
if
(
$response
->
successful
()
&&
isset
(
$response
->
collect
()[
'status_code'
])
&&
$response
->
collect
()[
'status_code'
]
==
200
)
{
return
'Success'
;
}
throw
new
Exception
(
'verification api error'
);
}
catch
(
\Throwable
$th
)
{
throw
new
Exception
(
'verification api error'
);
}
}
}
config/installer.php
deleted
100644 → 0
View file @
5e455b9d
<?php
return
[
/*
|--------------------------------------------------------------------------
| Server Requirements
|--------------------------------------------------------------------------
|
| This is the default Laravel server requirements, you can add as many
| as your application require, we check if the extension is enabled
| by looping through the array and run "extension_loaded" on it.
|
*/
'core'
=>
[
'minPhpVersion'
=>
'7.3.0'
,
],
'final'
=>
[
'key'
=>
true
,
'publish'
=>
false
,
],
'requirements'
=>
[
'php'
=>
[
'openssl'
,
'pdo'
,
'mbstring'
,
'tokenizer'
,
'JSON'
,
'cURL'
,
'bcmath'
,
'ctype'
,
'fileinfo'
,
'xml'
,
],
'apache'
=>
[
'mod_rewrite'
,
],
],
/*
|--------------------------------------------------------------------------
| Folders Permissions
|--------------------------------------------------------------------------
|
| This is the default Laravel folders permissions, if your application
| requires more permissions just add them to the array list bellow.
|
*/
'permissions'
=>
[
'storage/framework/'
=>
'775'
,
'storage/app/'
=>
'775'
,
'storage/logs/'
=>
'775'
,
'bootstrap/cache/'
=>
'775'
,
],
/*
|--------------------------------------------------------------------------
| Environment Form Wizard Validation Rules & Messages
|--------------------------------------------------------------------------
|
| This are the default form field validation rules. Available Rules:
| https://laravel.com/docs/5.4/validation#available-validation-rules
|
*/
'environment'
=>
[
'form'
=>
[
'rules'
=>
[
'app_name'
=>
'required|string|max:50'
,
'database_connection'
=>
'required|string|max:50'
,
'database_hostname'
=>
'required|string|max:50'
,
'database_port'
=>
'required|numeric'
,
'database_name'
=>
'required|string|max:50'
,
'database_username'
=>
'required|string|max:50'
,
'database_password'
=>
'nullable|string|max:50'
,
'customer_details'
=>
'required'
,
'app_timezone'
=>
'required'
],
],
],
/*
|--------------------------------------------------------------------------
| Installed Middleware Options
|--------------------------------------------------------------------------
| Different available status switch configuration for the
| canInstall middleware located in `canInstall.php`.
|
*/
'installed'
=>
[
'redirectOptions'
=>
[
'route'
=>
[
'name'
=>
'welcome'
,
'data'
=>
[],
],
'abort'
=>
[
'type'
=>
'404'
,
],
'dump'
=>
[
'data'
=>
'Dumping a not found message.'
,
],
],
],
/*
|--------------------------------------------------------------------------
| Selected Installed Middleware Option
|--------------------------------------------------------------------------
| The selected option fo what happens when an installer instance has been
| Default output is to `/resources/views/error/404.blade.php` if none.
| The available middleware options include:
| route, abort, dump, 404, default, ''
|
*/
'installedAlreadyAction'
=>
''
,
/*
|--------------------------------------------------------------------------
| Updater Enabled
|--------------------------------------------------------------------------
| Can the application run the '/update' route with the migrations.
| The default option is set to False if none is present.
| Boolean value
|
*/
'updaterEnabled'
=>
'true'
,
];
routes/install.php
View file @
fc58db0d
<?php
\ No newline at end of file
use
App\Http\Controllers\InstallerController
;
use
Illuminate\Support\Facades\Route
;
Route
::
get
(
'/install'
,
[
InstallerController
::
class
,
'index'
])
->
name
(
'install'
);
Route
::
get
(
'/requirements'
,
[
InstallerController
::
class
,
'requirements'
])
->
name
(
'requirements'
);
Route
::
get
(
'/permissions'
,
[
InstallerController
::
class
,
'permissions'
])
->
name
(
'permissions'
);
Route
::
get
(
'/environment'
,
[
InstallerController
::
class
,
'environmentWizard'
])
->
name
(
'environment'
);
Route
::
post
(
'/test-connection'
,
[
InstallerController
::
class
,
'testDBConnection'
])
->
name
(
'test-connection'
);
Route
::
post
(
'/environment/save'
,
[
InstallerController
::
class
,
'saveWizard'
])
->
name
(
'set-env'
);
storage/.gitignore
deleted
100644 → 0
View file @
5e455b9d
*
!.gitignore
storage/app/.gitignore
deleted
100644 → 0
View file @
5e455b9d
*
!public/
!.gitignore
storage/app/public/tokens_for_callpage.json
deleted
100644 → 0
View file @
5e455b9d
storage/app/public/tokens_for_display.json
deleted
100644 → 0
View file @
5e455b9d
storage/framework/.gitignore
deleted
100644 → 0
View file @
5e455b9d
compiled.php
config.php
down
events.scanned.php
maintenance.php
routes.php
routes.scanned.php
schedule-*
services.json
storage/framework/cache/.gitignore
deleted
100644 → 0
View file @
5e455b9d
*
!data/
!.gitignore
storage/framework/cache/data/.gitignore
deleted
100644 → 0
View file @
5e455b9d
*
!.gitignore
storage/framework/sessions/.gitignore
deleted
100644 → 0
View file @
5e455b9d
*
!.gitignore
storage/framework/testing/.gitignore
deleted
100644 → 0
View file @
5e455b9d
*
!.gitignore
storage/framework/views/.gitignore
deleted
100644 → 0
View file @
5e455b9d
*
!.gitignore
storage/logs/.gitignore
deleted
100644 → 0
View file @
5e455b9d
*
!.gitignore
storage/logs/laravel.log
deleted
100644 → 0
View file @
5e455b9d
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment