Files
ploi-core/app/Http/Controllers/SiteSettingController.php
Dennis Smink 5b48d204a0 Wip
2020-09-24 15:26:26 +02:00

51 lines
1.4 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Jobs\Sites\ChangePhpVersion;
class SiteSettingController extends Controller
{
public function show($id)
{
$site = auth()->user()->sites()->findOrFail($id);
$this->authorize('update', $site);
$availablePhpVersions = $site->server->available_php_versions;
return inertia('Sites/Settings', [
'site' => $site,
'available_php_versions' => $availablePhpVersions
]);
}
public function update(Request $request, $id)
{
$site = $request->user()->sites()->findOrFail($id);
$this->authorize('update', $site);
$site->update($request->all());
return redirect()->route('sites.settings.show', $id)->with('success', __('Site settings have been updated'));
}
public function changePhpVersion(Request $request, $id)
{
$site = $request->user()->sites()->findOrFail($id);
$this->authorize('update', $site);
dispatch(new ChangePhpVersion($site, $request->input('version')));
$request->user()->systemLogs()->create([
'title' => 'Site PHP version has changed',
'description' => 'PHP version changed for site :site'
])->model()->associate($site)->save();
return redirect()->route('sites.settings.show', $id)->with('success', __('Site PHP version is changing'));
}
}