Seite 1 von 1

[3.3] Bearbeitungszeit für ein Forum ändern

Verfasst: 03.07.2023 19:30
von eumelchen
Hallo zusammen,

mein Board: phpBB 3.3.10, PHP 8, modifiziertes Prosilver-Template.

Ich habe mein Board so eingestellt, dass User innerhalb von 120 Minuten Änderungen an ihren Postings vornehmen können.

Bei einem Forum möchte ich das gerne ändern, da soll die Bearbeitungszeit unbegrenzt sein.

Wie könnte ich das lösen?

LG Rolf (eumelchen)

Re: [3.3] Bearbeitungszeit für ein Forum ändern

Verfasst: 03.07.2023 20:20
von Kirk
Hallo
Mit Boardeigenen Mitteln ist es nicht möglich, da es für alle Beiträge gilt. Eine EXT die dies ermöglicht, ist mir nicht bekannt.

Re: [3.3] Bearbeitungszeit für ein Forum ändern

Verfasst: 03.07.2023 20:32
von eumelchen
Hallo Kirk,

das hatte ich befürchtet, ich bin aber gerne bereit auch Änderungen am Code vorzunehmen, auch wenn das bedeutet bei einem Update diese Code-Änderungen jedes Mal neu vorzunehmen.

Ich müsste nur wissen wo ich was ändern muss.

Re: [3.3] Bearbeitungszeit für ein Forum ändern

Verfasst: 04.07.2023 10:20
von chris1278
Hi vielleicht hilft dir dies weiter. Das ist eine Anleitung wie man ein extension baut. Ich würde dir raten das ganze über eine Erweiterung zu machen dann braucht man nicht jedes mal den Code in den Dateien zu ändern



https://area51.phpbb.com/docs/dev/3.3.x ... asics.html

Re: [3.3] Bearbeitungszeit für ein Forum ändern

Verfasst: 04.07.2023 16:48
von eumelchen
Hallo chris1278,

da fehlt mir das Wissen und die Befähigung!

Ich habe aber jetzt hier auf phpBB folgenden Beitrag aus dem Jahr 2013 gefunden:
viewtopic.php?t=228102

Das wäre scheinbar genau das, was ich suche.
Leider sehen die beschriebenen Stellen in der viewtopic.php und posting.php heute anders aus.

Vielleicht ist das eine Info oder ein Denkanstoß, mit der mir jemand sagen kann, wie der Befehl lauten muss, den ich an welchen Stellen in den beiden genannten Dateien einfügen muss?

LG Rolf (eumelchen)

Re: [3.3] Bearbeitungszeit für ein Forum ändern

Verfasst: 04.07.2023 17:20
von IMC
Finde in der posting.php Zeile 471.

Code: Alles auswählen

	$s_cannot_edit = $user->data['user_id'] != $post_data['poster_id'];
	$s_cannot_edit_time = $config['edit_time'] && $post_data['post_time'] <= time() - ($config['edit_time'] * 60);
	$s_cannot_edit_locked = $post_data['post_edit_locked'];
Ersetze mit

Code: Alles auswählen

	$s_cannot_edit = $user->data['user_id'] != $post_data['poster_id'];
	$s_cannot_edit_time = $config['edit_time'] && $post_data['post_time'] <= time() - ($config['edit_time'] * 60);
	$s_cannot_edit_locked = $post_data['post_edit_locked'];
	
	if (in_array($forum_id, array(1,2,3)))
	{
		$s_cannot_edit_time = false;
	}
Finde in der viewtopic.php Zeile 1931.

Code: Alles auswählen

	$s_cannot_edit = !$auth->acl_get('f_edit', $forum_id) || $user->data['user_id'] != $poster_id;
	$s_cannot_edit_time = $config['edit_time'] && $row['post_time'] <= time() - ($config['edit_time'] * 60);
	$s_cannot_edit_locked = ($topic_data['topic_status'] == ITEM_LOCKED && !$auth->acl_get('m_lock', $forum_id)) || $row['post_edit_locked'];
Ersetze mit

Code: Alles auswählen

	$s_cannot_edit = !$auth->acl_get('f_edit', $forum_id) || $user->data['user_id'] != $poster_id;
	$s_cannot_edit_time = $config['edit_time'] && $row['post_time'] <= time() - ($config['edit_time'] * 60);
	$s_cannot_edit_locked = ($topic_data['topic_status'] == ITEM_LOCKED && !$auth->acl_get('m_lock', $forum_id)) || $row['post_edit_locked'];

	if (in_array($forum_id, array(1,2,3)))
	{
		$s_cannot_edit_time = false;
	}
array(1,2,3) hier musst du die gewünschten Foren angeben.

Damit sollte die Zeitvorgaben für die von dir angegebenen Forums ID's außer Kraft gesetzt werden. Das ganze als Extension wäre natürlich schöner. Ist grundsätzlich auch nicht so schwer dies zu realisieren.

Änderungen in den Kern Code solltest du sehr gut dokumentieren. Diese geraten schnell in Vergessenheit und können bei Updates Probleme verursachen.

Edit:
2 Leerzeichen hinzugefügt damit es der Codingrichtline entspricht.

Re: [3.3] Bearbeitungszeit für ein Forum ändern

Verfasst: 04.07.2023 17:27
von eumelchen
Vielen Dank IMC,

werde ich jetzt mal testen.

Eine Frage noch, bei mir handelt es sich nur um ein Forum, kann ich

Code: Alles auswählen

if(in_array($forum_id, array(1,2,3)))
ändern in

Code: Alles auswählen

if($forum_id == xxx)
xxx ist die Foren-ID.

Re: [3.3] Bearbeitungszeit für ein Forum ändern

Verfasst: 04.07.2023 17:41
von IMC
Ja.

Re: [3.3] Bearbeitungszeit für ein Forum ändern

Verfasst: 10.07.2023 18:59
von eumelchen
So, ich habe die Änderung jetzt vorgenommen und ich und auch ein paar User haben es getestet, funktioniert einwandfrei!

Vielen Dank.