$logs, 'global_logs_pagination' => $logsPagination, 'global_logs_strings' => MSZ_AUDIT_LOG_STRINGS, ]); break; case 'emoticons': if (!perms_check($generalPerms, MSZ_PERM_GENERAL_MANAGE_EMOTICONS)) { echo render_error(403); break; } echo tpl_render('manage.general.emoticons'); break; case 'settings': if (!perms_check($generalPerms, MSZ_PERM_GENERAL_MANAGE_SETTINGS)) { echo render_error(403); break; } echo tpl_render('manage.general.settings'); break; case 'blacklist': if (!perms_check($generalPerms, MSZ_PERM_GENERAL_MANAGE_BLACKLIST)) { echo render_error(403); break; } $notices = []; if (!empty($_POST)) { if (!csrf_verify('ip_blacklist', $_POST['csrf'] ?? '')) { $notices[] = 'Verification failed.'; } else { header(csrf_http_header('ip_blacklist')); if (!empty($_POST['blacklist']['remove']) && is_array($_POST['blacklist']['remove'])) { foreach ($_POST['blacklist']['remove'] as $cidr) { if (!ip_blacklist_remove($cidr)) { $notices[] = sprintf('Failed to remove "%s" from the blacklist.', $cidr); } } } if (!empty($_POST['blacklist']['add']) && is_string($_POST['blacklist']['add'])) { $cidrs = explode("\n", $_POST['blacklist']['add']); foreach ($cidrs as $cidr) { $cidr = trim($cidr); if (empty($cidr)) { continue; } if (!ip_blacklist_add($cidr)) { $notices[] = sprintf('Failed to add "%s" to the blacklist.', $cidr); } } } } } echo tpl_render('manage.general.blacklist', [ 'notices' => $notices, 'blacklist' => ip_blacklist_list(), ]); break; }