diff --git a/admin/src/App/AuroraAdmin.php b/admin/src/App/AuroraAdmin.php index 64d480e..15b0ff5 100644 --- a/admin/src/App/AuroraAdmin.php +++ b/admin/src/App/AuroraAdmin.php @@ -47,6 +47,7 @@ use AuroraAdmin\Media\SvgUploads; use AuroraAdmin\Media\MediaFolders; use AuroraAdmin\ImageFormats\ImageFormats; use AuroraAdmin\Security\Security; +use AuroraAdmin\Code\CodeInjection; use AuroraAdmin\Rest\MediaFolderData; use AuroraAdmin\Rest\BugReportData; use AuroraAdmin\Rest\CompanionPluginData; @@ -99,6 +100,7 @@ class AuroraAdmin new MediaFolders(); new ImageFormats(); new Security(); + new CodeInjection(); new MediaFolderData(); new BugReportData(); new CompanionPluginData(); diff --git a/admin/src/Code/CodeInjection.php b/admin/src/Code/CodeInjection.php new file mode 100644 index 0000000..0fc1b23 --- /dev/null +++ b/admin/src/Code/CodeInjection.php @@ -0,0 +1,72 @@ + Code). + * + * Four admin-authored fields, only settable by manage_options users on the + * settings page: + * - Admin CSS → wrapped in a ", "", $css); + echo "\n\n"; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- admin-authored stylesheet, output raw inside a stripped above to prevent breakout. + } + + public static function admin_js() + { + $js = trim((string) Settings::get("custom_admin_js", "")); + if ($js === "") { + return; + } + $js = str_ireplace("", "<\\/script>", $js); + echo "\n\n"; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- admin-authored script, output raw inside a ', + }, + { + key: 'footer_scripts', + type: 'textarea', + mono: true, + rows: 8, + label: 'Footer scripts', + description: + 'Raw HTML/JS printed just before on the front end. Include the full ', + }, + ], + }, + ], + }, { id: 'add-ons', title: 'Add-ons', diff --git a/aurora-admin.php b/aurora-admin.php index 8dce3e3..349ef4c 100644 --- a/aurora-admin.php +++ b/aurora-admin.php @@ -61,6 +61,7 @@ require AURORA_ADMIN_PATH . "admin/src/Media/SvgUploads.php"; require AURORA_ADMIN_PATH . "admin/src/Media/MediaFolders.php"; require AURORA_ADMIN_PATH . "admin/src/ImageFormats/ImageFormats.php"; require AURORA_ADMIN_PATH . "admin/src/Security/Security.php"; +require AURORA_ADMIN_PATH . "admin/src/Code/CodeInjection.php"; require AURORA_ADMIN_PATH . "admin/src/Rest/MediaFolderData.php"; require AURORA_ADMIN_PATH . "admin/src/Rest/BugReportData.php"; require AURORA_ADMIN_PATH . "admin/src/Rest/CompanionPluginData.php";