'UTC', 'America/New_York' => 'Eastern Time (US)', 'America/Chicago' => 'Central Time (US)', 'America/Denver' => 'Mountain Time (US)', 'America/Los_Angeles' => 'Pacific Time (US)', 'Europe/London' => 'London', 'Europe/Paris' => 'Paris', 'Asia/Tokyo' => 'Tokyo', 'Australia/Sydney' => 'Sydney' ]; // Determine which preset is selected $selectedPreset = 'custom'; foreach ($notificationPresets as $key => $preset) { if ($preset['value'] === $currentNotificationDays) { $selectedPreset = $key; break; } } // Cached update state for Updates tab (tab badge + modal on load) $cachedUpdateAvailable = false; $cachedUpdateData = null; $currentVer = $appSettings['app_version'] ?? '0'; $latestVer = $updateSettings['latest_available_version'] ?? null; $updateChannel = $updateSettings['update_channel'] ?? 'stable'; $commitsBehind = (int)($updateSettings['commits_behind_count'] ?? 0); if ($latestVer && version_compare($latestVer, $currentVer, '>')) { $cachedUpdateAvailable = true; $cachedUpdateData = [ 'available' => true, 'type' => 'release', 'current_version' => $currentVer, 'latest_version' => $latestVer, 'release_notes' => $updateSettings['latest_release_notes'] ?? '', 'release_url' => $updateSettings['latest_release_url'] ?? '', 'published_at' => $updateSettings['latest_release_published_at'] ?? null, 'channel' => $updateChannel, ]; } elseif ($updateChannel === 'latest' && $commitsBehind > 0) { $cachedUpdateAvailable = true; $cachedUpdateData = [ 'available' => true, 'type' => 'hotfix', 'current_version' => $currentVer, 'commits_behind' => $commitsBehind, 'commit_messages' => [], 'channel' => $updateChannel, ]; } ?>

Application Settings

Configure basic application information

Name displayed in the interface

Base URL for the application (used in emails and links)

Application timezone for dates and times

User Registration

class="w-4 h-4 text-primary border-gray-300 rounded focus:ring-primary">

Allow new users to create accounts via registration form

class="w-4 h-4 text-primary border-gray-300 rounded focus:ring-primary">

Users must verify their email address before accessing the system