Skip to content

Commit 0dbb1db

Browse files
authored
Merge pull request #16 from iMattPro/prep
Next release
2 parents 7b38152 + 419f786 commit 0dbb1db

6 files changed

Lines changed: 37 additions & 8 deletions

File tree

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,20 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## 0.4.0-dev - 2026-05-16
6+
7+
### Added
8+
9+
- Added a registry of active services registered with Consent Manager to the ACP.
10+
- Added live JSON validation to the manual (ACP-managed) integrations field.
11+
12+
### Changed
13+
14+
- Improved the ACP description of the manual (ACP-managed) integrations.
15+
- Improved formatting of buttons in the Consent Manager modal on mobile devices.
16+
- Improved CSRF protections when deleting consent logs.
17+
- Switched the Privacy settings link to a new lock icon.
18+
519
## 0.3.0-dev - 2026-05-12
620

721
### Added

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
Consent Manager is a GDPR-ready privacy/cookie consent management solution built for phpBB forums.
1010

11-
It adds a consent banner, settings modal, and category-based controls, allowing visitors to accept all, reject all, or choose specific tracking types. A footer link lets users revisit and update their preferences at any time.
11+
It adds a consent banner, settings modal, and category-based controls, allowing visitors to accept all, reject all, or choose specific cookie types. A footer link lets users revisit and update their preferences at any time.
1212

1313
The extension also provides an easy integration point for other phpBB extensions, enabling them to make their non-essential scripts compliant.
1414

adm/style/consentmanager_acp.html

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,19 @@ <h3>{{ lang('WARNING') }}</h3>
7373
<fieldset>
7474
<legend>{{ lang('ACP_CONSENTMANAGER_INTEGRATIONS') }}</legend>
7575
<dl>
76-
<dt><label for="consentmanager_integrations">{{ lang('ACP_CONSENTMANAGER_INTEGRATIONS') ~ lang('COLON') }}</label><br><span>{{ lang('ACP_CONSENTMANAGER_INTEGRATIONS_EXPLAIN') }}</span><br><br>
77-
<span><strong>{{ lang('EXAMPLE') ~ lang('COLON') }}</strong></span><br>
78-
<pre><samp class="error">{{ CONSENTMANAGER_INTEGRATIONS_EXAMPLE }}</samp></pre>
76+
<dt><label for="consentmanager_integrations">{{ lang('ACP_CONSENTMANAGER_INTEGRATIONS') ~ lang('COLON') }}</label>
77+
<br>
78+
{{ lang('ACP_CONSENTMANAGER_INTEGRATIONS_EXPLAIN') }}<br>
79+
<br>
80+
{{ lang('ACP_CONSENTMANAGER_INTEGRATIONS_FORMAT') }}<br>
81+
<pre><samp class="error">{{ CONSENTMANAGER_INTEGRATIONS_EXAMPLE }}</samp></pre><br>
82+
<strong>{{ lang('ACP_CONSENTMANAGER_INTEGRATIONS_REQUIRED') ~ lang('COLON') }}</strong><br>
83+
&bull; <samp class="error">id</samp>{{ lang('COLON')}} {{ lang('ACP_CONSENTMANAGER_INTEGRATIONS_REQUIRED_ID') }}<br>
84+
&bull; <samp class="error">category</samp>{{ lang('COLON')}} {{ lang('ACP_CONSENTMANAGER_INTEGRATIONS_REQUIRED_CAT') }} <samp class="error">necessary</samp>, <samp class="error">analytics</samp>, <samp class="error">marketing</samp>, <samp class="error">media</samp>.<br>
85+
&bull; <samp class="error">src</samp>{{ lang('COLON')}} {{ lang('ACP_CONSENTMANAGER_INTEGRATIONS_REQUIRED_SRC') }}<br>
86+
<br>
87+
<strong>{{ lang('ACP_CONSENTMANAGER_INTEGRATIONS_OPTIONAL') ~ lang('COLON') }}</strong><br>
88+
&bull; <samp class="error">label</samp>, <samp class="error">description</samp>, <samp class="error">async</samp>, <samp class="error">defer</samp>
7989
</dt>
8090
<dd>
8191
<div style="position: relative; display: inline-block;">

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"type": "phpbb-extension",
44
"description": "Centralized GDPR-compliant consent and deferred script loading for phpBB forums.",
55
"homepage": "https://www.phpbb.com/",
6-
"version": "0.3.0-dev",
6+
"version": "0.4.0-dev",
77
"keywords": ["phpbb", "extension", "gdpr", "consent", "cookies"],
88
"license": "GPL-2.0-only",
99
"authors": [

language/en/acp_consentmanager.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,13 @@
2828
'ACP_CONSENTMANAGER_MEDIA' => 'Enable embedded media category',
2929
'ACP_CONSENTMANAGER_MEDIA_EXPLAIN' => 'Allows videos, players, widgets, and other iframe-based external media to be loaded after consent.',
3030
'ACP_CONSENTMANAGER_INTEGRATIONS' => 'Manual integrations',
31-
'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.<br><br>Provide a JSON array of integrations.<br><br>Each object must include: <samp class="error">id</samp>, <samp class="error">category</samp>, <samp class="error">src</samp>. The <samp class="error">id</samp> may only use letters, numbers, dots, underscores, colons, and hyphens. The <samp class="error">category</samp> must be <samp class="error">necessary</samp>, <samp class="error">analytics</samp>, or <samp class="error">marketing</samp>. The <samp class="error">src</samp> must be a valid http, https, or relative script URL.<br><br>Optional fields: <samp class="error">label</samp>, <samp class="error">description</samp>, <samp class="error">async</samp>, <samp class="error">defer</samp>.',
31+
'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.',
32+
'ACP_CONSENTMANAGER_INTEGRATIONS_FORMAT' => 'Provide a JSON array of integrations. For example:',
33+
'ACP_CONSENTMANAGER_INTEGRATIONS_REQUIRED' => 'Required properties',
34+
'ACP_CONSENTMANAGER_INTEGRATIONS_REQUIRED_ID' => 'may only use letters, numbers, dots, underscores, colons, and hyphens.',
35+
'ACP_CONSENTMANAGER_INTEGRATIONS_REQUIRED_CAT' => 'must be one of these values:',
36+
'ACP_CONSENTMANAGER_INTEGRATIONS_REQUIRED_SRC' => 'must be a valid http, https, or relative script URL.',
37+
'ACP_CONSENTMANAGER_INTEGRATIONS_OPTIONAL' => 'Optional properties',
3238
'ACP_CONSENTMANAGER_INTEGRATIONS_EXAMPLE_LABEL' => 'Example Analytics',
3339
'ACP_CONSENTMANAGER_INTEGRATIONS_EXAMPLE_DESC' => 'Loads a simple analytics library after consent.',
3440
'ACP_CONSENTMANAGER_REGISTRATIONS' => 'Registered integrations',
@@ -45,7 +51,6 @@
4551
'CONSENTMANAGER_CATEGORY_ANALYTICS' => 'Analytics',
4652
'CONSENTMANAGER_CATEGORY_MARKETING' => 'Marketing',
4753
'CONSENTMANAGER_CATEGORY_MEDIA' => 'Media',
48-
'EXAMPLE' => 'Example',
4954

5055
// Consent logs
5156
'ACP_CONSENTMANAGER_EXPORT_EXPLAIN' => 'Download a CSV file of stored consent log records or permanently delete matching records from the database. All fields are optional; leave them blank to work with the full log.',
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{% if S_CONSENTMANAGER_ENABLED %}
22
<li class="rightside" data-last-responsive="true" id="consent-manager-link-item" hidden="hidden">
33
<a href="#" id="consent-manager-link" role="menuitem" aria-controls="consent-manager-modal">
4-
<i class="icon fa-sliders fa-fw" aria-hidden="true"></i><span>{{ lang('CONSENTMANAGER_SETTINGS_TITLE') }}</span>
4+
<i class="icon fa-lock fa-fw" aria-hidden="true"></i><span>{{ lang('CONSENTMANAGER_SETTINGS_TITLE') }}</span>
55
</a>
66
</li>
77
{% endif %}

0 commit comments

Comments
 (0)