[3.3][CDB] Extension Manager Plus (verbesserte Erweiterungsverwaltung)

In diesem Forum können Extension-Autoren ihre Extensions vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Benutzeravatar
IMC
Mitglied
Beiträge: 541
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [3.3] [3.2] Extension Manager Plus

Beitrag von IMC »

LukeWCS hat geschrieben: 14.06.2022 18:46 Das ist mir grad nicht klar was du damit meinst, könntest du das mal umformulieren?
War nur eine Vermutung die wie ich schon gesehen habe nicht zutrifft.
LukeWCS hat geschrieben: 14.06.2022 18:46 ist aber erst ab 3.3.0 möglich.
Danke! So weit hatte ich gar nicht zurückgeschaut.
Um kompatibel zu bleiben werde ich den Code um folgendes ergänzen. Wenn man nur einen String hat muss er natürlich angepasst werden.

Code: Alles auswählen

if (phpbb_version_compare($config['version'], '3.3.0', '<') && !empty($error_message))
{
	$error_message = implode('<br>', $error_message);
	trigger_error($error_message, E_USER_WARNING);
}
Gruß, Thorsten
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2109
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [3.3] [3.2] Extension Manager Plus

Beitrag von LukeWCS »

IMC hat geschrieben: 14.06.2022 19:43 Um kompatibel zu bleiben werde ich den Code um folgendes ergänzen. Wenn man nur einen String hat muss er natürlich angepasst werden.
Sinnvoll, denn die ext.php sollte im Idealfall unter jeder phpBB Version (3.1 - 3.3) funktionieren, weil deren primäre Aufgabe darin besteht, Voraussetzungen zu prüfen.

Okay, Branch 1.0.2 ist online, damit kannst du deine Ext Änderungen direkt mit EMP testen. Damit verhält sich EMP exakt so wie phpBB 3.3.0+ was die Reaktion auf ext.php angeht.

Im Detail:

Rückgabewert -> Reaktion
  • Explizites true -> Ext wird aktiviert.
  • Implizites false (false oder '') -> Ext wird nicht aktiviert. Standardmeldung EXTENSION_NOT_ENABLEABLE wird ausgegeben.
  • String -> Ext wird nicht aktiviert. String wird ausgegeben.
  • Array -> Ext wird nicht aktiviert. Array wird ausgegeben, mit einem Element pro Zeile.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
IMC
Mitglied
Beiträge: 541
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [3.3] [3.2] Extension Manager Plus

Beitrag von IMC »

Der Test hat hervorragend funktioniert.
Ich bin begeistert wie schnell du die Änderungen eingepflegt hast.
Tolle Extension! Super Arbeit!
Gruß, Thorsten
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2109
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [3.3] [3.2] Extension Manager Plus

Beitrag von LukeWCS »

Danke dir!

Mir war schon bei diesem Beitrag von dir klar, dass das auch von EMP berücksichtigt werden muss.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1075
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: [3.3] [3.2] Extension Manager Plus

Beitrag von Mike-on-Tour »

So, ich habe mal eine ext.php entsprechend umgebaut, einschließlich Weiche für Fehlermeldung per trigger_error() bzw. per Rückgabe-Array und das mit EMP 1.0.2 getestet: Funktioniert unter 3.2.11 und unter 3.3.7 wie es soll :thumbsup:
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2109
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [3.3] [3.2] Extension Manager Plus

Beitrag von LukeWCS »

Mike, werde die Array/String Methode ebenfalls nutzen, wenn ich sie brauche. Mit zwei Versionsweichen für 3.1 und 3.3 in ext.php auch kein Problem, dann ist die universell einsetzbar von 3.1 aufwärts mit Optimum unter 3.3.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1075
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: [3.3] [3.2] Extension Manager Plus

Beitrag von Mike-on-Tour »

Wieso 2 Weichen? Eine genügt doch, um den trigger_error() aufzurufen, wenn die Version von phpBB kleiner als 3.3.0 ist, und dann gibst du anschließend das Array zurück:

Code: Alles auswählen

if (phpbb_version_compare(PHPBB_VERSION, '3.3.0', '<'))
{
	$this->error_message = implode('<br>', $this->error_message);
	trigger_error($this->error_message, E_USER_WARNING);
}
return empty($this->error_message) ? true : $this->error_message;
Oder ist das unter 3.1 nochmal anders? Aber das sollte heute eh keiner mehr einsetzen, das hat doch EoL.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2109
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [3.3] [3.2] Extension Manager Plus

Beitrag von LukeWCS »

Mike-on-Tour hat geschrieben: 15.06.2022 22:30 Wieso 2 Weichen?
...
Oder ist das unter 3.1 nochmal anders?
Ja, da wird das Sprachobjekt anders angesprochen und auch eine andere Funktion zum Laden einer Sprachdatei genutzt.
Aber das sollte heute eh keiner mehr einsetzen, das hat doch EoL.
Völlig richtig. Aber die ext.php sollte dort genauso funktionieren. Die Aufgabe der ext.php ist u.a. die Prüfung der Voraussetzungen. Es wäre ein wenig paradox wenn man mindestens phpBB 3.2 bräuchte um den Benutzer darauf hinweisen zu können, dass er die Ext unter phpBB 3.1 nicht nutzen kann. :wink:

Wenn man keine individuellen Fehlermeldungen braucht, kann man die ext.php sehr einfach universell definieren. Beispiele:

https://github.com/LukeWCS/lf-who-was-h ... re/ext.php
https://github.com/DrDeath/phpbb-ext-f1 ... op/ext.php

Diese funktionieren universell unter allen phpBB Versionen, weil sie a) keine individuellen Fehlermeldungen generieren und b) keine eigene Anzeige auslösen (trigger_error).

Sobald man jedoch individuelle Fehlermeldungen braucht, muss man explizit das passende Sprachobjekt einbinden und eine Sprachdatei laden. Und ab dem Moment spielt es eine Rolle, welche phpBB Version vorhanden ist. Die Methoden von 3.2+ für das Sprachobjekt funktionieren nicht unter 3.1 (würden dort einen Fatal verursachen) und das alte 3.1 Objekt wird irgendwann wegfallen. Möglicherweise bei 4?
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1075
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: [3.3] [3.2] Extension Manager Plus

Beitrag von Mike-on-Tour »

Okay, die Unterschiede im Laden der Sprache hatte ich jetzt nicht auf dem Schirm, aber 3.1 habe ich übersprungen.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2109
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [3.3] [3.2] Extension Manager Plus

Beitrag von LukeWCS »

Mike-on-Tour hat geschrieben: 16.06.2022 06:49 Okay, die Unterschiede im Laden der Sprache hatte ich jetzt nicht auf dem Schirm, aber 3.1 habe ich übersprungen.
Ja, als du angefangen hast, war vermutlich 3.1 schon irrelevant, bei mir war 3.0 irrelevant.

Im Prinzip ist das aber auch schmerzfrei. Man braucht für 3.1 und 3.2+ bezüglich Sprachobjekt jeweils exakt gleich viel Code/Funktionsaufrufe. Es gibt nur bei der lokalen Zuweisung des Sprach-Objekts einen Unterschied, beim Laden der Sprachdatei und beim Ansprechen der Sprachvariablen. Wobei man letzteres aber auch gleich so gestalten kann, dass man redundanten Code von vorneherein vermeiden kann. Dann kann man die Funktion lang() sowohl für 3.1 als auch 3.2+ gleichermassen nutzen.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Antworten

Zurück zu „Extensions in Entwicklung“