Skip to content

Commit 550e236

Browse files
committed
1.3.0-b1
1 parent afd0ecd commit 550e236

8 files changed

Lines changed: 54 additions & 17 deletions

File tree

lukewcs/togglectrl/adm/style/acp_togglectrl_settings.html

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
{% INCLUDE 'overall_header.html' %}
1414

15-
{% set switch_type = TOGGLECTRL_TYPE ?? 'toggle' %}
15+
{#% set switch_type = TOGGLECTRL_TYPE ?? 'toggle' %#}
1616

1717
<a id="maincontent"></a>
1818

@@ -31,7 +31,8 @@ <h1>{{ lang('TOGGLECTRL_CONFIG_TITLE') }}</h1>
3131
<span>{{ lang('TOGGLECTRL_ENABLED_EXP') }}</span>
3232
</dt>
3333
<dd>
34-
{{ _self.switch('togglectrl_enabled', TOGGLECTRL_ENABLED, switch_type) }}
34+
{#{ _self.switch('togglectrl_enabled', TOGGLECTRL_ENABLED, switch_type) }#}
35+
{{ _self.switch('togglectrl_enabled', TOGGLECTRL_ENABLED) }}
3536
</dd>
3637
</dl>
3738

@@ -65,7 +66,9 @@ <h1>{{ lang('TOGGLECTRL_CONFIG_TITLE') }}</h1>
6566
{% INCLUDECSS '@lukewcs_togglectrl/acp_togglectrl_settings.css' %}
6667
{% INCLUDEJS '@lukewcs_togglectrl/acp_togglectrl_settings.js' %}
6768

68-
{% macro switch(name, checked = false, type = 'toggle') -%}
69+
{#% macro switch(name, checked = false, type = 'toggle') -%#}
70+
{% macro switch(name, checked = false, type = null) -%}
71+
{% set type = type ?? TOGGLECTRL_TYPE ?? 'toggle' %}
6972
{% if type == 'toggle' || type == 'checkbox' -%}
7073
<input type="checkbox" class="{{ type }}" name="{{ name }}" value="1"{{ checked ? ' checked' }}>
7174
{%- elseif type == 'radio' -%}
@@ -103,7 +106,7 @@ <h1>{{ lang('TOGGLECTRL_CONFIG_TITLE') }}</h1>
103106
{{ metadata.ext_name }} {{ metadata.ext_ver }} &copy; {{ metadata.ext_copyright }}
104107
{% if metadata.lang_ver is defined %}
105108
<br>
106-
{{ metadata.lang_desc|e('html') }} {{ metadata.lang_ver|e('html') }} &bull; {{ metadata.lang_author|e('html') }}
109+
{{ metadata.lang_desc|e('html') }} {{ metadata.lang_ver|e('html') }} &copy; {{ metadata.lang_author|e('html') }}
107110
{% endif %}
108111
</p>
109112
{% endmacro %}

lukewcs/togglectrl/composer.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
"type": "phpbb-extension",
44
"description": "Makes it possible to decide centrally for all extensions which visual style should be used for yes/no switches, provided extensions support Toggle Control.",
55
"homepage": "https://github.com/LukeWCS/toggle-control",
6-
"version": "1.2.0",
7-
"time": "2025-10-20",
6+
"version": "1.3.0-b1",
7+
"time": "2026-03-25",
88
"license": "GPL-2.0-only",
99
"authors": [
1010
{
@@ -14,7 +14,7 @@
1414
}
1515
],
1616
"require": {
17-
"php": ">=8.0.0,<8.5.0@dev",
17+
"php": ">=8.0.0,<8.6.0@dev",
1818
"composer/installers": "~1.0.0"
1919
},
2020
"extra": {

lukewcs/togglectrl/config/services.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ services:
33
class: lukewcs\togglectrl\event\listener
44
arguments:
55
- '@config'
6-
- '@template'
6+
# - '@template'
7+
- '@template.twig.environment'
78
tags:
89
- { name: event.listener }
910
lukewcs.togglectrl.controller.acp:

lukewcs/togglectrl/controller/acp_togglectrl_controller.php

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,19 +55,28 @@ public function module_settings(): void
5555
$notes[] = $lang_outdated_msg;
5656
}
5757

58-
$template_vars = [
58+
// $template_vars = [
59+
// 'TOGGLECTRL_NOTES' => $notes,
60+
// 'TOGGLECTRL_ENABLED' => (bool) $this->config['togglectrl_enabled'],
61+
// 'TOGGLECTRL_TYPES' => $this->select_struct((string) $this->config['togglectrl_type'], [
62+
// 'TOGGLECTRL_TYPE_TOGGLE' => 'toggle',
63+
// 'TOGGLECTRL_TYPE_CHECKBOX' => 'checkbox',
64+
// 'TOGGLECTRL_TYPE_RADIO' => 'radio',
65+
// ]),
66+
// ];
67+
// $template_vars += !$this->config['togglectrl_enabled'] ? [
68+
// 'TOGGLECTRL_TYPE' => (string) $this->config['togglectrl_type'],
69+
// ] : [];
70+
// $this->template->assign_vars($template_vars);
71+
$this->template->assign_vars([
5972
'TOGGLECTRL_NOTES' => $notes,
6073
'TOGGLECTRL_ENABLED' => (bool) $this->config['togglectrl_enabled'],
6174
'TOGGLECTRL_TYPES' => $this->select_struct((string) $this->config['togglectrl_type'], [
6275
'TOGGLECTRL_TYPE_TOGGLE' => 'toggle',
6376
'TOGGLECTRL_TYPE_CHECKBOX' => 'checkbox',
6477
'TOGGLECTRL_TYPE_RADIO' => 'radio',
6578
]),
66-
];
67-
$template_vars += !$this->config['togglectrl_enabled'] ? [
68-
'TOGGLECTRL_TYPE' => (string) $this->config['togglectrl_type'],
69-
] : [];
70-
$this->template->assign_vars($template_vars);
79+
]);
7180

7281
add_form_key('togglectrl');
7382
}

lukewcs/togglectrl/event/listener.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ class listener implements EventSubscriberInterface
1919
{
2020
public function __construct(
2121
protected \phpbb\config\config $config,
22-
protected \phpbb\template\template $template,
22+
// protected \phpbb\template\template $template,
23+
protected \phpbb\template\twig\environment $twig_env,
2324
)
2425
{
2526
}
@@ -37,7 +38,8 @@ public function generate_template_vars(): void
3738
{
3839
if ($this->config['togglectrl_enabled'])
3940
{
40-
$this->template->assign_var('TOGGLECTRL_TYPE', (string) $this->config['togglectrl_type']);
41+
// $this->template->assign_var('TOGGLECTRL_TYPE', (string) $this->config['togglectrl_type']);
42+
$this->twig_env->addGlobal('TOGGLECTRL_TYPE', (string) $this->config['togglectrl_type']);
4143
}
4244
}
4345
}

lukewcs/togglectrl/ext.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class ext extends \phpbb\extension\base
1818
public function is_enableable()
1919
{
2020
$valid_phpbb = phpbb_version_compare(PHPBB_VERSION, '3.3.0', '>=') && phpbb_version_compare(PHPBB_VERSION, '3.4.0-dev', '<');
21-
$valid_php = phpbb_version_compare(PHP_VERSION, '8.0.0', '>=') && phpbb_version_compare(PHP_VERSION, '8.5.0-dev', '<');
21+
$valid_php = phpbb_version_compare(PHP_VERSION, '8.0.0', '>=') && phpbb_version_compare(PHP_VERSION, '8.6.0-dev', '<');
2222

2323
return $valid_phpbb && $valid_php;
2424
}

toggle-control_build_changelog.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
#### 1.3.0-b1
2+
* Optimierung der TC Schnittstelle:
3+
* Die Zeile mit der Deklaration für `switch_type` am Anfang des Templates entfällt komplett.
4+
* Der dritte Parameter `type` bei `switch()` entfällt bei sämtlichen Schaltern. Somit reduziert sich der Makro Aufruf auf das Nötigste.
5+
* Die Template Variable `TOGGLECTRL_TYPE` wird nicht mehr über das Template System lokal generiert, sondern über Twig direkt als globale Variable.
6+
* Neues Makro `switch()` das mit der neuen globalen Template Variable arbeitet.
7+
* Sämtlicher alter Code ist kurzfristig noch vorhanden, aber deaktiviert.
8+
* Der eingestellte Schalter-Stil wird nur dann angewendet, wenn die TC Funktion auch aktiviert ist.
9+
* PHP Voraussetzung:
10+
* Max. 8.4.0 -> 8.5.0.
11+
112
### 1.2.0
213
* Release (2025-10-20)
314
* Auf Construktor Property Promotion umgestellt.

toggle-control_changelog_de.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
### 1.3.0
2+
WIP
3+
4+
* Die Voraussetzungen haben sich geändert:
5+
* PHP: 8.0.0 - 8.5.x (Bisher: 8.0.0 - 8.4.x)
6+
* Für Erweiterungen Entwickler ist die Integration der TC Schnittstelle einfacher geworden:
7+
* Die Zeile mit der Deklaration für `switch_type` am Anfang des Templates entfällt komplett.
8+
* Der dritte Parameter `type` bei `switch()` entfällt bei sämtlichen Schaltern. Somit reduziert sich der Makro Aufruf auf das Nötigste.
9+
* Die oben genannten Eigenschaften sind deswegen nicht mehr nötig, da TC jetzt eine echte globale Template Variable generieren kann, die auch im Makro verfügbar ist. Es muss also lediglich das neue `switch()` Makro integriert werden um TC Kompatibilität zu schaffen, um alles Weitere kümmert sich das Makro.
10+
* Bisher hatte TC unabhängig vom Aktivierungszustand der TC Funktion immer den eingestellten Schalter-Stil angezeigt. Jetzt verhält sich TC konsequent wie jeder andere Erweiterung, das heisst der eingestellte Schalter-Stil wird nur dann angewendet, wenn die TC Funktion auch aktiviert ist.
11+
112
### 1.2.0
213
(2025-10-20)
314

0 commit comments

Comments
 (0)