+
+
{% include 'overall_footer.html' %}
diff --git a/language/en/acp_consentmanager.php b/language/en/acp_consentmanager.php
index dc415b9..95aca51 100644
--- a/language/en/acp_consentmanager.php
+++ b/language/en/acp_consentmanager.php
@@ -27,16 +27,24 @@
'ACP_CONSENTMANAGER_MARKETING_EXPLAIN' => 'Allows advertising and marketing integrations to be presented to users and loaded after consent.',
'ACP_CONSENTMANAGER_MEDIA' => 'Enable embedded media category',
'ACP_CONSENTMANAGER_MEDIA_EXPLAIN' => 'Allows videos, players, widgets, and other iframe-based external media to be loaded after consent.',
- 'ACP_CONSENTMANAGER_INTEGRATIONS' => 'ACP-managed integrations',
- 'ACP_CONSENTMANAGER_INTEGRATIONS_EXPLAIN' => 'Use this to add simple third-party analytics, marketing, or scripts directly from the ACP instead of through an extension. These entries appear in the consent UI and are only loaded after consent.
Provide a JSON array of integrations.
Each object must include: id, category, src. The id may only use letters, numbers, dots, underscores, colons, and hyphens. The category must be necessary, analytics, or marketing. The src must be a valid http, https, or relative script URL.
Optional fields: label, description, async, defer.',
+ 'ACP_CONSENTMANAGER_INTEGRATIONS' => 'Manual integrations',
+ 'ACP_CONSENTMANAGER_INTEGRATIONS_EXPLAIN' => 'Use this to add third-party analytics, marketing, or other scripts directly from the ACP. These integrations appear in the consent UI and are only loaded after the required consent has been granted.
Provide a JSON array of integrations.
Each object must include: id, category, src. The id may only use letters, numbers, dots, underscores, colons, and hyphens. The category must be necessary, analytics, or marketing. The src must be a valid http, https, or relative script URL.
Optional fields: label, description, async, defer.',
'ACP_CONSENTMANAGER_INTEGRATIONS_EXAMPLE_LABEL' => 'Example Analytics',
'ACP_CONSENTMANAGER_INTEGRATIONS_EXAMPLE_DESC' => 'Loads a simple analytics library after consent.',
+ 'ACP_CONSENTMANAGER_REGISTRATIONS' => 'Registered integrations',
+ 'ACP_CONSENTMANAGER_REGISTRATIONS_EXPLAIN' => 'These services are registered with Consent Manager and automatically respect consent settings.',
+ 'ACP_CONSENTMANAGER_REGISTRATIONS_NONE' => 'No services are currently registered with Consent Manager.',
'ACP_CONSENTMANAGER_VERSION' => 'Current consent version',
'ACP_CONSENTMANAGER_VERSION_EXPLAIN' => 'Increase the version to force a fresh prompt for every visitor when the consent text or integrations materially change.',
'ACP_CONSENTMANAGER_FORCE_REPROMPT' => 'Force re-prompt',
'ACP_CONSENTMANAGER_REPROMPT_SUCCESS' => 'Consent version increased. Visitors will be asked to review their settings again.',
'ACP_CONSENTMANAGER_INVALID_INTEGRATIONS' => 'The integrations field must contain a valid JSON array.',
'ACP_CONSENTMANAGER_INVALID_INTEGRATION_ENTRY' => 'Integration entry %1$s is invalid. Each entry must include a safe id, supported category, and valid script source URL.',
+ 'ACP_CONSENTMANAGER_INVALID_JSON' => 'Invalid JSON',
+ 'CONSENTMANAGER_CATEGORY_NECESSARY' => 'Necessary',
+ 'CONSENTMANAGER_CATEGORY_ANALYTICS' => 'Analytics',
+ 'CONSENTMANAGER_CATEGORY_MARKETING' => 'Marketing',
+ 'CONSENTMANAGER_CATEGORY_MEDIA' => 'Media',
'EXAMPLE' => 'Example',
// Consent logs
diff --git a/service/acp_manager.php b/service/acp_manager.php
index 12d67e2..264feae 100644
--- a/service/acp_manager.php
+++ b/service/acp_manager.php
@@ -100,6 +100,7 @@ public function get_settings_template_data()
'S_CONSENTMANAGER_MARKETING' => (bool) $this->config['consentmanager_marketing_enabled'],
'S_CONSENTMANAGER_MEDIA' => (bool) $this->config['consentmanager_media_enabled'],
'CONSENTMANAGER_VERSION' => (int) $this->config['consentmanager_consent_version'],
+ 'CONSENTMANAGER_SERVICES' => $this->consent_manager->get_services(),
'CONSENTMANAGER_INTEGRATIONS' => $this->get_integrations_json(),
'CONSENTMANAGER_INTEGRATIONS_EXAMPLE' => $this->get_integrations_example_json(),
];