[3.3] [CDB]Recent Topics NG

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: 879
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [3.3] [CDB]Recent Topics NG

Beitrag von IMC »

LukeWCS hat geschrieben: 27.12.2025 15:40 edit: Was RTNG angeht, wenns ohne grosse Umbauten ginge, würde ich auf assign_block_vars() verzichten wollen.
Kein Problem. Werde ich mit Umsetzen.
phpBB Doku: hat geschrieben:Editing arrays is a quite trivial task for any piece of code.
Ich habe auch noch S_FIRST_ROW und ähnliche Einträge im HTML-Code gefunden und durch Twig ersetzt. Ich bin mir fast sicher, dass wir jetzt zu 100 % Twig-Code haben.
ich hatte vor vielen Jahren mal das Problem, das ich bei einer Ext nachträglich ein Template Array auslesen
Kann ich nachvollziehen. Ich hatte vor kurzen die Methode retrieve_block_vars() getestet. Da hatte ich auch nicht das gewünschte Ergebnis bekommen.
Gruß, Thorsten

Meine Extensions
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 3297
Registriert: 15.12.2014 10:19

Re: [3.3] [CDB]Recent Topics NG

Beitrag von LukeWCS »

IMC hat geschrieben: 27.12.2025 19:04 Ich habe auch noch S_FIRST_ROW und ähnliche Einträge im HTML-Code gefunden und durch Twig ersetzt.
Ahja okay, Twig hat für solche Abfragen ja eh native loop. Variablen.
Ich bin mir fast sicher, dass wir jetzt zu 100 % Twig-Code haben.
Und selbst wenn nicht; solange wir phpBB 3.3 haben, ist eh noch der Twig Konverter im Core, der die alte Syntax behandelt.

Ich muss mich da übrigens korrigieren:
LukeWCS hat geschrieben: 26.12.2025 21:19 Bei Exts schon lange nicht mehr gesehen, ich dachte wir hätten den ganzen alten Kram entsorgt.
Bei EMP hatte ich loops. bis 1.0.8 (2023) verwendet, dann entfernt. Seit 3.0.0 habe ich das aber versehentlich wieder drin, weil ich das Template mit dem Twig Converter vom original phpBB Template exportiert hatte. Dann habe ich das komplette Template bezüglich Twig modernisiert und an EMP angepasst und dabei dann offensichtlich dieses Detail übersehen. :oops: Heute entdeckt.

https://github.com/LukeWCS/ext-mgr-plus ... .html#L102

Und noch eine weitere Zeile.
Da hatte ich auch nicht das gewünschte Ergebnis bekommen.
Jupp, dann bist du ja im Boot. Es geht mit dieser Funktion, aber da muss vorher noch was anderes erledigt werden und selbst dann, muss man jedes Element einzeln extrahieren. Man kann also nicht das ganze Array auf einmal extrahieren. Ich sagte ja: umständlich.
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
Benutzeravatar
IMC
Mitglied
Beiträge: 879
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [3.3] [CDB]Recent Topics NG

Beitrag von IMC »

LukeWCS hat geschrieben: 28.12.2025 00:37Man kann also nicht das ganze Array auf einmal extrahieren. Ich sagte ja: umständlich.
Ja, bei mir kam nur das letzte Element vom Array. Die Beschreibung "empty array gets all vars" stimmte so nicht. War auch nur zum Testen. Hatte weiter keinen Grund.

assign_block_vars() werde ich in der RTNG Funktion fill_template() nicht weg bekommen. In der Schleife werden für größere Topics Paginationen erzeugt. Wenn es irgendwie funktioniert ist mit Sicherheit der Aufwand zu hoch.
Gruß, Thorsten

Meine Extensions
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 3297
Registriert: 15.12.2014 10:19

Re: [3.3] [CDB]Recent Topics NG

Beitrag von LukeWCS »

Ach da hängt die Pagination von phpBB dran? Okay, dann natürlich nicht, dann hat sich mein Einwand auch schon erledigt. Die Funktion tut ja, ich mag sie nur nicht. :wink: Eben aus den genannten Gründen.

Ich hab mich jetzt auch schon mal bezüglich meiner Änderungen bei RTNG "warm" gemacht, also gesichtet, wo ich was einbauen und ändern muss. Sobald du deine genannten Änderungen im Dev Branch hast, würde ich weitermachen. Damit wir uns nicht gegenseitig in die Parade fahren und wir nicht unnötig Merge Konflikte beheben müssen.
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
Benutzeravatar
IMC
Mitglied
Beiträge: 879
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [3.3] [CDB]Recent Topics NG

Beitrag von IMC »

Ich babe meine Änderungen in den Dev Branch geschoben.
  • PHP min aufgrund der Verwendung von str_starts_with() auf v8.0 geändert.
  • „rtng_user_data” in Array zwischengespeicht um DB-Abfragen zu reduzieren.
  • SQL-Abfrage für die Topic-Zählung verbessert, um eine bessere Leistung zu erzielen.
  • assign_block_vars() in main_listener ersetzt.
  • assign_block_vars() in page_controller ersetzt.
  • phpBB Template-Code durch Twig-Syntax ersetzt.
Gruß, Thorsten

Meine Extensions
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 3297
Registriert: 15.12.2014 10:19

Re: [3.3] [CDB]Recent Topics NG

Beitrag von LukeWCS »

Servus

Habe gestern Nacht dann auch direkt mit Umstellung auf CPP begonnen, was sich bei RTNG auch durchaus lohnt. Da wirst du evtl. main_listener.php interessant finden, weil es da im Vergleich zu den 6 anderen RTNG Klassen die einzige Besonderheit bez. CPP gibt, da die Collapsible Klasse einerseits bei RTNG mit private deklariert war und andererseits optional ist und auch null sein kann. Dann siehst gleich, wie auch das auf CPP gehievt werden kann. Ich berücksichtige hier auch schon die Richtlinien von phpBB 4.0 bez. Typ Deklarationen. Bietet sich ja an, da PHP 8.0 eh unsere neue Code Basis ist.

Dann, mir ist im dev Branch aufgefallen, das es keine Erhöhung der Dev Version gab. Solange nur wir beide da am werkeln sind, ist das kein Problem, da wir uns insbesondere bei überschneidenden Tätigkeiten eh absprechen. Aber da du jetzt auch 2 DB Optimierungen vorgenommen hast und als nächstes - wenn wir beide unsere aktuellen Änderungen drin haben - die Mitarbeit von halil16 in Bezug auf Test und Rückmeldung anstehen würde, müssen wir dafür sorgen, das unsere Dev Versionen im ExtMgr auch zweifelsfrei identifiziert werden können. Und das ist schlecht möglich, wenn das Ding bei jeder Änderung konstant 1.1.0-dev heisst. Und ein solches "Chaos" bei der Zuordenbarkeit wie bei der Satanasov Gallerie kann ich nicht brauchen und du sicher auch nicht ^^.

Deswegen mache ich mit dev9 weiter, da mein CPP Umbau dann der 9te Commit seit 1.0.1 Merge im dev Branch ist.
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
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 3297
Registriert: 15.12.2014 10:19

Re: [3.3] [CDB]Recent Topics NG

Beitrag von LukeWCS »

Beide Commits sind im dev Branch. Dabei habe ich auch kleine Änderungen bei Template- und Sprach-Variablen vorgenommen.
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
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 3297
Registriert: 15.12.2014 10:19

Re: [3.3] [CDB]Recent Topics NG

Beitrag von LukeWCS »

Gibt nochmal ein Commit. Einerseits habe ich bei dev10 was vergessen zu entfernen, andererseits hat Udo bei einer seiner Exts ne Macke bei der Pagination entdeckt, die auch Mike betrifft und in ähnlicher Form auch uns bei RTNG.

Siehe ab hier: Re: Seiten Pagination

edit: Im Forenindex zeigt RTNG gar nichts mehr an, sämtliche RTNG UI Elemente fehlen dann. Auf der vereinfachten Seite wird immerhin das angezeigt:
Es sind keine neuen Themen vorhanden.
Besser wie gar nichts, aber trotzdem falsch, denn es gibt ja Themen zum Anzeigen. Durch meinen Fix verhält sich RTNG in dem Fall identisch zu phpBB, das heisst es wird dann einfach die letzt-mögliche RTNG Seite angezeigt.
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
Benutzeravatar
IMC
Mitglied
Beiträge: 879
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [3.3] [CDB]Recent Topics NG

Beitrag von IMC »

LukeWCS hat geschrieben: 30.12.2025 16:20 Gibt nochmal ein Commit.
...........
edit: Im Forenindex zeigt RTNG gar nichts mehr an, sämtliche RTNG UI Elemente fehlen dann. Auf der vereinfachten Seite wird immerhin das angezeigt:
Dann warte ich deinen Commit ab und teste danach meinen Paginations-Fix nochmal ausgiebig. Um Funktionaufrufe zu minimieren muss ich $rtng_start zu einer Eigenschaft oder Referenz machen. Mit großer Wahrscheinlichkeit wird es eine Eigenschaft der Klasse.

Dein beschriebenes Verhalten von RTNG konnte ich trotz verschiedener Einstellungen bei mir nicht nachstellen. Ich bin gespannt wie sich mein Fix sich bei dir verhält.
Gruß, Thorsten

Meine Extensions
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 3297
Registriert: 15.12.2014 10:19

Re: [3.3] [CDB]Recent Topics NG

Beitrag von LukeWCS »

Okay, wie nebenan geschrieben, scheint sich das Symptom unterschiedlich zu zeigen, womit auch immer das zusammenhängt. Aber damit du siehst, wie sich das bei mir verhält, hier die verantwortliche Code Stelle:

rtng_functions.php

Code: Alles auswählen

		// Return if there are no topics available to display.
		if (count($topic_list) == 0)
		{
			return;
		}
Deaktiviere einfach mal nur die Zeile mit if, dann passiert - zumindest bei mir - exakt das gleiche wie das folgende:

Wenn ich bei der Pagination im Eingabefeld 1 Seite mehr angebe, als möglich sind, dann generiert gettopiclist() ein leeres Array für $topic_list, wodurch die oben gezeigte Bedingung true ergibt und somit RTNG sofort beendet wird. Gefunden hatte ich die Stelle mit mehreren Debugs, bis ich mich der Stelle genähert hatte. Und da habe ich schnell gemerkt, das count($topic_list) den Wert 0 ergab und somit war für mich sofort klar, warum sich RTNG im Index und auf der separaten Seite so verhält. Mir ist jetzt nur unklar, warum du das gar nicht reproduzieren kannst. :-?

edit: Im letzten Abschnitt den ersten Satz korrigiert. Falscher Satz war:
Wenn ich bei der Pagination im Eingabefeld 1 Seite mehr angebe, als möglich sind, dann gibt gettopiclist() den Wert 0 zurück, wodurch die oben gezeigte Bedingung true ergibt und somit RTNG sofort beendet wird.
edit2: Und mein Fix ist übrigens käse, ich hatte was übersehen. Damit mein Fix vollständig funktioniert, muss ich gettopiclist() zweimal ausführen. :roll:
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
Antworten

Zurück zu „Extensions in Entwicklung“