Seite 1 von 2

[FINAL] [3.3] CF Change Post time

Verfasst: 14.07.2024 23:05
von chris1278
Name der Erweiterung: CF Change Posttime

Autor: Chris1278

Version der Erweiterung: 2.0.1

Kompatibel für folgende PHPBB-Version:
  • phpBB 3.3.0 -> <4.0@dev
Weitere Bedingungen:
  • php 7.0 -> 8.3@dev
Information:

CF Change Post Time ist eine Weiterentwicklung von Change Post Time (ext 3.1; 3.2) und basiert auf Change Post Time (MOD).

P.S.:Des Weiteren habe ich die Extension so eingerichtet, dass man das Datum bis zum aktuellen Datum ändern kann. Versucht man dann ein Datum einzugeben, welches in der Zukunft liegt, wird ein Hinweis angezeigt und im besten Fall die Aktion abgebrochen. Der Grund ist, dass bei der Eingabe eines Datums/Uhrzeit, welches in der Zukunft liegt, der Beitrag immer als ungelesen markiert wird, auch wenn man diesen Beitrag gelesen bzw. als gelesen markiert hat. Dies bleibt so lange so, bis das zukünftige Datum tatsächlich erreicht ist. Das Problem bestand aber auch bei der Extension, von der ich es adaptiert habe.

Da der Autor der Erweiterung diese nicht mehr pflegt, habe ich sie als Fork erstellt, um die Funktion nutzbar zu halten.

Download der Erweiterung:

Die Erweiterung kann in der phpbb.com Erweiterung Datenbank als Validierte Version hier heruntergeladen werden!

Beschreibung der Erweiterung:
Diese Erweiterung basiert auf Change Post Time von javiexin.

Ich habe den Code ein wenig angepasst und ihn mit phpbb 3.3.0 und höher kompatibel gemacht.

Die Funktion ist wie folgt:
  • Fügt einem Moderator die Möglichkeit hinzu, das Veröffentlichungsdatum und die Veröffentlichungszeit eines einzelnen Beitrags zu ändern.
  • Die Konfiguration erfolgt über die MCP-Seite zur Beitragsmoderation, wo ein neuer Block das Einstellen des neuen Datums und der neuen Uhrzeit ermöglicht, wann der Beitrag erstellt wurde.
  • Berücksichtigt die Änderung, um Thema und Forum entsprechend zu aktualisieren.
  • Berechtigungsbasiert, verwendet eine neue Moderator Berechtigung (sowohl global als auch Forum), „Kann Datum/Uhrzeit des Beitrags ändern“, die die Konfiguration von „Kann Poster ändern“ in dem Forum kopiert, in dem sie installiert ist.

Re: [FINAL] [3.3] CF Change Post time

Verfasst: 15.07.2024 15:20
von Joe Kolade
Hallo Chris,

und vielen Dank, dass Du Dich dieser Erweiterung angenommen hast!

Unter https://www.phpbb.com/customise/db/exte ... post_time/ wird darauf hingewiesen, dass die Erweiterung ab Version 3.3.11 kompatibel ist. Funktioniert sie auch noch unter 3.3.10? Oder gibt es hier bekannte Änderungen, die Probleme bringen könnten?

Deine Anpassung bezüglich einem in der Zukunft liegenden Datums kann ich aufgrund des bisherigen Fehlers verstehen. Aber lässt sich die Erweiterung nicht so "ausbauen", dass eben auch Datumsänderungen in die Zukunft hinein möglich sind? Ich denke da an die Erweiterung schedulePost von nekstati (siehe auch viewtopic.php?p=1426528#p1426528).
Eine Kombination wäre klasse und würde auch dem Namen der Erweiterung "Change Post time" gerecht(er) werden.

Für Tests und sonstige Unterstützung stehe ich gerne zur Verfügung.

Gruß Joe

Re: [FINAL] [3.3] CF Change Post time

Verfasst: 15.07.2024 18:47
von chris1278
Also ich denke, das sollte auch mit 3.3.10 funktionieren. Dazu einfach die ext.php löschen und aktivieren.
Deine Anpassung bezüglich eines in der Zukunft liegenden Datums kann ich aufgrund des bisherigen Fehlers verstehen. Aber lässt sich die Erweiterung nicht so ausbauen, dass eben auch Datumsänderungen in die Zukunft hinein möglich sind?
Das habe ich bewusst so gemacht, eben wegen des Problems, dass man den Beitrag immer als neu markiert bekommt, bis das angegebene Datum erreicht wird. Es wird auch in Zukunft keine Option geben, wie man dies umgehen kann. Das ist auch nicht der Sinn der Erweiterung.

Du darfst gerne diese Prüfung deaktivieren. Dazu musst du in der Listener.php nur das hier ändern:


finde dort diesen code teil:

Code: Alles auswählen

if ($year . '-' . $month . '-' . $day > date('Y-m-d'))
		{
			trigger_error('CF_ERROR_DATE');
		}
und ersetze mit:

Code: Alles auswählen

	/*
		if ($year . '-' . $month . '-' . $day > date('Y-m-d'))
		{
			trigger_error('CF_ERROR_DATE');
		}
		*/

Damit solltest du auch ein Datum/Zeit in Zukunft angeben können. Sei aber gewarnt das dann der Beitrag für jeden der das Forum öffnet immer als neu bzw. ungelesen markiert wird egal wie oft er diesen Beitrag öffnet oder die Option nutzt "forum als gelesen zu markieren".

Diese Änderung musst du dann auch nach jedem Update wiederholen.

Re: [FINAL] [3.3] CF Change Post time

Verfasst: 15.07.2024 19:05
von Joe Kolade
Die Erweiterung läuft auch unter 3.3.10!

Meine Frage zu der Datumsänderung mit einem in der Zukunft liegenden Datum hast zu falsch interpretiert.

Mir geht es darum, ein zukünftiges Datum (und Uhrzeit) einzutragen und der Beitrag auch dann erst veröffentlicht wird. Der Beitrag wird so nicht bis zum eigentlichen Veröffentlichungstermin als ungelesen markiert, sondern erst zu diesem Datum angezeigt.
Entsprechend auch mein Hinweis aus schedulePost.

Wäre halt pfiffig, beide "Funktionen" in einer Erweiterung zu haben.

Gruß Joe

Re: [FINAL] [3.3] CF Change Post time

Verfasst: 15.07.2024 19:07
von chris1278
Nein das wäre eine andere Funktionsweise die so nicht vorgesehen ist. Tut mir leid das ist mit dieser so nicht möglich.

Re: [FINAL] [3.3] CF Change Post time

Verfasst: 15.07.2024 19:40
von Joe Kolade
Kein Problem!

[FINAL] [3.3] CF Change Post time

Verfasst: 17.07.2024 01:38
von Wolkenbruch
Ich habe ein kleines Problem.

Das Forum läuft auf UTC +02:00, somit sind alle Beiträge unter dieser Uhrzeit gespeichert.
Ich selbst bin in einem anderen Land und habe eine andere Uhrzeit auf meinem Rechner. Genau gesagt 7 Stunden früher.

Lange Rede, kurzen Sinn.
Hier der erstellte Beitrag: [ externes Bild ]
Hier der fehlgeschlagene Versuch das Datum zu ändern: [ externes Bild ]

Gibt es eine Lösung?

Re: [FINAL] [3.3] CF Change Post time

Verfasst: 17.07.2024 07:57
von chris1278
Verstehe ish das richtig das der Fehler auftritt wenn mdu die zeit nach hinten also früher versetzen möchtest?

Ich kann das nicht reproduzieren.

Probiere mal die Änderung der Listener.php aus die ich hier gepostet habe:

viewtopic.php?p=1427882#p1427882

Sollte das dann gehen hab ich vielleicht eine Möglichkeit das zu verbessern.

Im moment wird einfach mittels date geprüft ohne berücksichtigung der User zeitzone. Da kann man dann evtl. die Prüfung etwas optimieren.

Re: [FINAL] [3.3] CF Change Post time

Verfasst: 17.07.2024 15:25
von Wolkenbruch
Seit dem Posting waren 2 Stunden vergangen und ich wollte es nur um eine Stunde vorverlegen. Also von 00:45 auf 01:45.
Da die Erweiterung früher oder später weltweit genutzt wird, könnten auch andere das Problem haben.

Im Moment bin ich wieder auf die alte Erweiterung von @javiexin umgestiegen.

Gerne probiere ich die von Dir vorgeschlagene Änderung aus.

Vielen Dank für die rasche Antwort.

Re: [FINAL] [3.3] CF Change Post time

Verfasst: 17.07.2024 18:34
von chris1278
Also ich werde die nächste version etwas ändern.

Wenn es klappt wird es dann ein Admin Panel geben wo man ziwschen 4 optionen entscheiden kann (min. aber drei mus ich dan testen)

Option 1: Ist das so wie bisher das einfach das datum mittels date() funktion als grenze gesetzt wird. Was aber keinerlei zeitzonen berücksichtigt.
Option 2: Zeiteinstellung des Moderators werden berücksichtigt und diese legen die Grenze fest.
Option 3: Zeiteinstellung des Forums werden als mass genommen und legen die begrenzung fest
Option 4: Keine Begrenzung (wobei dies nicht empfohlen wird. würde aber das anliegen von Joe Kolade mit berücksichtigen. Wobei auch nur wenns auf com genehmigt wird)

Zeitzonen immer vorrausgesetzt ich kriege hin wie das umgesetzt wird.