Files
ismysiteup.online/app/Http/Controllers/SettingsController.php
T
2026-01-17 13:46:20 +02:00

59 lines
1.7 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class SettingsController extends Controller
{
public function index()
{
$preferences = auth()->user()->notification_preferences ?? [
'uptime' => ['mail'],
'ssl' => ['mail'],
'broken_links' => ['mail']
];
$slackWebhook = env('SLACK_WEBHOOK_URL', '');
return view('settings', compact('preferences', 'slackWebhook'));
}
public function updateNotifications(Request $request)
{
$request->validate([
'uptime' => 'nullable|array',
'uptime.*' => 'in:mail,slack',
'ssl' => 'nullable|array',
'ssl.*' => 'in:mail,slack',
'broken_links' => 'nullable|array',
'broken_links.*' => 'in:mail,slack',
]);
$preferences = [
'uptime' => $request->input('uptime', []),
'ssl' => $request->input('ssl', []),
'broken_links' => $request->input('broken_links', []),
];
auth()->user()->update([
'notification_preferences' => $preferences
]);
return redirect()->route('settings')
->with('success', 'Notification preferences updated successfully.');
}
public function updateSlack(Request $request)
{
$request->validate([
'slack_webhook' => 'nullable|url'
]);
// Note: In a production app, you would store this in the user's settings or env
// For now, we'll just return a message
return redirect()->route('settings')
->with('success', 'Slack webhook URL saved. Please add it to your .env file as SLACK_WEBHOOK_URL.');
}
}