You've already forked Atomcms-edit
05fc7b04bc
Added proper return types (View, RedirectResponse, JsonResponse, Collection) to 40+ controller methods across 16 controllers. Also added missing imports for Illuminate response types and tightened parameter types (e.g. InstallationController::showStep now uses int instead of mixed).
40 lines
1.1 KiB
PHP
Executable File
40 lines
1.1 KiB
PHP
Executable File
<?php
|
|
|
|
namespace App\Http\Controllers\Miscellaneous;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\Miscellaneous\WebsiteSetting;
|
|
use Illuminate\Http\JsonResponse;
|
|
use Illuminate\Http\RedirectResponse;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\View\View;
|
|
|
|
class LogoGeneratorController extends Controller
|
|
{
|
|
public function index(): View|RedirectResponse
|
|
{
|
|
if (! hasPermission('generate_logo')) {
|
|
return to_route('me.show')->with([
|
|
'message' => __('You do not have permission to do this.'),
|
|
]);
|
|
}
|
|
|
|
return view('logo-generator');
|
|
}
|
|
|
|
public function store(Request $request): JsonResponse
|
|
{
|
|
$request->validate(['logo' => 'required|image|mimes:jpeg,png,gif,webp|max:5120']);
|
|
|
|
$path = $request->file('logo')->store('generated-logos', 'public');
|
|
|
|
$setting = WebsiteSetting::where('key', 'cms_logo')->first();
|
|
|
|
$setting?->update([
|
|
'value' => '/storage/' . $path,
|
|
]);
|
|
|
|
return response()->json(['success' => true, 'message' => 'Logo updated!']);
|
|
}
|
|
}
|