Danke für die tolle Ext, spart jede Menge Zeit.
[3.3][CDB] Extension Manager Plus (verbesserte Erweiterungsverwaltung)
- Mike-on-Tour
- Supporter
- Beiträge: 1274
- Registriert: 13.01.2020 21:09
- Kontaktdaten:
Re: [3.3] [3.2] Extension Manager Plus
Version 1.0.1 ausprobiert, läuft 
Danke für die tolle Ext, spart jede Menge Zeit.
Danke für die tolle Ext, spart jede Menge Zeit.
Re: [3.3] [3.2] Extension Manager Plus
Area51@4seven | Area51@4seven / Reloaded | Kein Support via PN
Club goin up, on a Tuesday...
Club goin up, on a Tuesday...
Re: [3.3] [3.2] Extension Manager Plus
Dem kann ich mich nur anschließen.Mike-on-Tour hat geschrieben: 13.06.2022 18:19 Version 1.0.1 ausprobiert, läuft
Danke für die tolle Ext, spart jede Menge Zeit.
Ich habe die Diskussion auch zu Anlass genommen mich mit der Funktion
is_enableable()
auseinander zusetzen. Ich werde in Zukunft meine Fehlertexte vom phpBB Kern ausgeben lassen und verabschiede mich von trigger_error()
.Gruß, Thorsten
Re: [3.3] [3.2] Extension Manager Plus
@Mike
@BNa
@IMC
Danke für eure Rückmeldungen.
Davon abgesehen, klingt interessant was du vorhast. Wie genau willst das realisieren? Ich selbst nutze zwar kein
@BNa
@IMC
Danke für eure Rückmeldungen.

IMC, eine Sache, nicht das du mich da missverstanden hast. Eigene Fehlerbehandlung inIMC hat geschrieben: 13.06.2022 21:11 Ich habe die Diskussion auch zu Anlass genommen mich mit der Funktionis_enableable()
auseinander zusetzen. Ich werde in Zukunft meine Fehlertexte vom phpBB Kern ausgeben lassen und verabschiede mich vontrigger_error()
.
ext.php
ist nicht per se schlecht. Bei deinem "Image upload use ImageMagick" ist es ja absolut sinnvoll, den Admin auf ein fehlendes Imagick Modul hinzuweisen. In dem Fall fängt EMP das auch ab und "verpackt" deine Meldung in ein Info-Gerüst bestehend aus den zusätzlichen Anzeigen von Anzeigename und technischer Namen der Ext, damit der Admin präzise erfährt, welche Ext den Vorgang unterbrochen hat und mit welcher Meldung. Was allerdings auch nur zum tragen kommt, wenn die Ext schon installiert ist und beim erneuten Aktivieren eine Voraussetzung nicht mehr passen würde. Von daher ist das Problem eher nicht gegeben. Davon abgesehen, klingt interessant was du vorhast. Wie genau willst das realisieren? Ich selbst nutze zwar kein
trigger_error
in ext.php
, aber sowas lässt sich ja nicht immer vermeiden.Möge das Backup mit dir sein. Immer.
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen bezüglich Vorgaben und Kompatibilität
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen bezüglich Vorgaben und Kompatibilität
Re: [3.3] [3.2] Extension Manager Plus
Die Fehlerbehandlung mache ich natürlich immer noch in der
Ich füge hier mal den Code ein den ich künftig verwende. So war es sicher auch von den Entwicklern von phpBB vorgesehen. Die Fehlerausgabe ist auch Benutzerfreundlicher als
ext.php
nur anders.Ich füge hier mal den Code ein den ich künftig verwende. So war es sicher auch von den Entwicklern von phpBB vorgesehen. Die Fehlerausgabe ist auch Benutzerfreundlicher als
trigger_error()
. Habe ich allerdings noch nicht mit EMP getestet.
Code: Alles auswählen
public function is_enableable()
{
$language = $this->container->get('language');
$language->add_lang('imgupload_acp', 'imcger/imgupload');
$error_message = [];
/* Imagick library installed? */
if (!class_exists('Imagick'))
{
$error_message += ['error1' => $language->lang('IMCGER_IM_REQUIRE_IMAGICK'),];
}
/* phpBB version greater equal 3.2.4 and less then 4.0 */
$config = $this->container->get('config');
if (phpbb_version_compare($config['version'], '3.2.4', '<') || phpbb_version_compare($config['version'], '4.0.0', '>='))
{
$error_message += ['error2' => $language->lang('IMCGER_IM_REQUIRE_PHPBB'),];
}
/* php version equal or greater 7.0.0 and less 8.2 */
if (version_compare(PHP_VERSION, '7.0.0', '<') || version_compare(PHP_VERSION, '8.2', '>='))
{
$error_message += ['error3' => $language->lang('IMCGER_IM_REQUIRE_PHP'),];
}
return empty($error_message) ? true : $error_message;
}
Gruß, Thorsten
Re: [3.3] [3.2] Extension Manager Plus
Moin IMC
Das ist sehr interessant! Demnach könnte man nicht nur ein explizites Bool zurückgeben, sondern auch ein assoziatives Array, welches in logischer Konsequenz als explizites
Dabei wäre gerade das eine sehr wichtige Info für Ext Coder was
Wenn das tatsächlich so funktioniert wie ich denke, werde ich das zügig in EMP nachrüsten.
Das ist sehr interessant! Demnach könnte man nicht nur ein explizites Bool zurückgeben, sondern auch ein assoziatives Array, welches in logischer Konsequenz als explizites
false
gewertet würde. Okay, also gibt es demnach bereits einen Mechanismus für Fehlermeldungen in ext.php
. Davon steht im entsprechenden Abschnitt der Doku jedoch keine Silbe. 
ext.php
betrifft.Wenn das tatsächlich so funktioniert wie ich denke, werde ich das zügig in EMP nachrüsten.
Möge das Backup mit dir sein. Immer.
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen bezüglich Vorgaben und Kompatibilität
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen bezüglich Vorgaben und Kompatibilität
Re: [3.3] [3.2] Extension Manager Plus
Die version ähnelt der welche auch vom php skeleton fürs acp controller verwendet wird.
Re: [3.3] [3.2] Extension Manager Plus
Danke für den Hinweis Chris. Ja, dort werden die Sprachvariablen zwar anders aufbereitet, aber das Prinzip ist das gleiche.
@IMC
Ich habe im Source gestöbert und festgestellt, dass es diese Funktionalität erst ab 3.3 gibt. Das heisst bei 3.2 und 3.1 muss das noch "klassisch" mit
Eigentlich wäre die Array Methode vorzuziehen, weil man dann Fehlermeldungen sauber an den übergeordneten Code zurückgeben kann und phpBB nicht "gewaltsam" beenden muss (
@IMC
Ich habe im Source gestöbert und festgestellt, dass es diese Funktionalität erst ab 3.3 gibt. Das heisst bei 3.2 und 3.1 muss das noch "klassisch" mit
trigger_error
behandelt werden, sofern die Standard Meldung von phpBB nicht genügt.Eigentlich wäre die Array Methode vorzuziehen, weil man dann Fehlermeldungen sauber an den übergeordneten Code zurückgeben kann und phpBB nicht "gewaltsam" beenden muss (
trigger_error
). Auf jeden Fall muss ich diese Methode bei EMP berücksichtigen, dass ist momentan nicht der Fall. Wenn eine Ext auf diese Weise Fehlermeldungen generiert, dann wird die Ext trotzdem von EMP aktiviert, was natürlich nicht im Sinne des Erfinders ist. Es ist absehbar, dass sich diese Methode der Fehlerbehandlung in ext.php
durchsetzen wird, weil sie Vorteile hat. Darum muss EMP das natürlich auch unterstützen.Möge das Backup mit dir sein. Immer.
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen bezüglich Vorgaben und Kompatibilität
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen bezüglich Vorgaben und Kompatibilität
Re: [3.3] [3.2] Extension Manager Plus
Ich hatte noch keine Zeit das zu testen. Ich vermute aber das dies schon gehen könnte da die Textausgabe die gleiche ist als wenn man einLukeWCS hat geschrieben: 14.06.2022 11:57Auf jeden Fall muss ich diese Methode bei EMP berücksichtigen, dass ist momentan nicht der Fall.
false
zurück gegeben wird. Siehe \phpbb\console\command\extension\enable.php
Zeile 49.Ich habe gesucht und bin drauf gestossen da in der Doko steht das
is_enableable()
ein Array zurück gibt.Gruß, Thorsten
Re: [3.3] [3.2] Extension Manager Plus
Wie geschrieben, EMP unterstützt das noch nicht. Kann es auch gar nicht, bislang war mir als mögliche Rückmeldung ja nur
true/false
bekannt, darauf ist der Code auch ausgerichtet. Das direkt Fehlermeldungen zurückgegeben werden können, war bislang schlicht nicht vorgesehen. 1.0.2 wird das dann unterstützen. Habe bereits eine funktionierende Beta, ich veröffentliche später den 1.0.2 Branch zum testen.Das ist mir grad nicht klar was du damit meinst, könntest du das mal umformulieren?Ich vermute aber das dies schon gehen könnte da die Textausgabe die gleiche ist als wenn man einfalse
zurück gegeben wird. Siehe
Ja und nicht nur ein Array, auch ein String ist möglich. Beides ist aber erst ab 3.3.0 möglich. Wobei das auch nur in der API Doku steht mit dem Array wie ich vorhin gesehen habe. In der Ext Doku wird dazu jedoch nichts erwähnt. Und das auch ein String möglich ist, erfährt man erst, wenn man weiter im Source stöbert. Das ist nirgends dokumentiert.Ich habe gesucht und bin drauf gestossen da in der Doko steht dasis_enableable()
ein Array zurück gibt.
Direkt aus dem Source (
extension_interface.php
):3.2
Code: Alles auswählen
/**
* Indicate whether or not the extension can be enabled.
*
* @return bool
*/
public function is_enableable();
Code: Alles auswählen
/**
* Indicate whether or not the extension can be enabled.
*
* @return bool|array True if extension is enableable, array of reasons
* if not, false for generic reason.
*/
public function is_enableable();
Möge das Backup mit dir sein. Immer.
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen bezüglich Vorgaben und Kompatibilität
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen bezüglich Vorgaben und Kompatibilität