prepare('SELECT * FROM admin'); $result = $stmt->execute(); $settings = $result->fetchArray(SQLITE3_ASSOC); $oidcConfiguration = wallos_get_effective_oidc_configuration($db); $oidcSettings = $oidcConfiguration['settings']; $oidcManagedFields = $oidcConfiguration['managed_fields']; $oidcNotes = $oidcConfiguration['notes']; $ssrfConfiguration = wallos_get_effective_ssrf_allowlist($db); $ssrfManagedFields = $ssrfConfiguration['is_managed'] ? ['allowlist' => 'SSRF_ALLOWLIST'] : []; function oidc_input_attrs($field, $managedFields) { return isset($managedFields[$field]) ? 'disabled data-managed-by="' . htmlspecialchars($managedFields[$field]) . '"' : ''; } // get user accounts $stmt = $db->prepare('SELECT id, username, email FROM user ORDER BY id ASC'); $result = $stmt->execute(); $users = []; while ($row = $result->fetchArray(SQLITE3_ASSOC)) { $users[] = $row; } $userCount = is_array($users) ? count($users) : 0; $loginDisabledAllowed = $userCount == 1 && $settings['registrations_open'] == 0; ?>

/>

/>

/>

= 0) { ?>

onchange="toggleOidcEnabled()" />
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>

OIDC fields managed by environment variables are shown here but cannot be edited in the UI.

/>
/>
/>

/>

prepare($query); $result = $stmt->execute(); $logosOnDisk = []; $logosOnDB = []; while ($row = $result->fetchArray(SQLITE3_ASSOC)) { $logosOnDB[] = $row['logo']; $logosOnDB[] = $row['logo_variant']; } // Get all logos in the payment_methods table $query = 'SELECT icon FROM payment_methods'; $stmt = $db->prepare($query); $result = $stmt->execute(); while ($row = $result->fetchArray(SQLITE3_ASSOC)) { if (!strstr($row['icon'], "images/uploads/icons/")) { $logosOnDB[] = $row['icon']; } } $logosOnDB = array_unique($logosOnDB); // Get all logos in the uploads folder $uploadDir = 'images/uploads/logos/'; $uploadFiles = scandir($uploadDir); foreach ($uploadFiles as $file) { if ($file != '.' && $file != '..' && $file != 'avatars') { $logosOnDisk[] = ['logo' => $file]; } } // Find unused logos $unusedLogos = []; foreach ($logosOnDisk as $disk) { $found = false; foreach ($logosOnDB as $dbLogo) { if ($disk['logo'] == $dbLogo) { $found = true; break; } } if (!$found) { $unusedLogos[] = $disk; } } $logosToDelete = count($unusedLogos); ?>

.

:

:

onchange="toggleUpdateNotification()" />

/>