Nein; auch dieser Code verursacht leider diese Fehlermeldung, wenn man eine Begründung fürs Editieren angibt. Die Aktualisierung auf phpBB-Version 3.0.2 (
klick) hatte ich zuvor für Deinen Code ausgeführt. Um die ursprüngliche Code-Änderung trotzdem durchzuführen, siehe ggf. auch nachfolgenden Beitrag von mir, um das mit dem Editor Vim automatisch auszuführen!
Jeden eigenen Beitrag löschen +Editierhinweis immer anzeigen • phpBB.de
Diesen Mod zeigt Editierhinweise erst mal immer an. Nebenbei speichert er alle Editierversionen ab, die ein User mit der Berechtigung für Beitragsdetails sofort einsehen kann. Falls er auch die Berechtigung zum Löschen hat, kann er auch Beitragversionen sofort löschen. Dieser Mod ist für die phpBB-Version 3.0.2, und ich habe diesen auch getestet bei dieser phpBB-Version. Es funktioniert alles einwandfrei.
Wenn man möchte, dass auch jeder registrierte Teilnehmer alle Beitragsversionen sehen kann, braucht man der Gruppe der registrierten Benutzer nur Moderrechte zuweisen, mit denen man Beitragsdetails sehen kann. Dazu am besten unter >BERECHTIGUNGEN - Moderatorrollen< eine neue Rolle für registrierte Benutzer anlegen; und diese dann unter 'Gruppenrechte' der Gruppe der registrierten Benutzer zuweisen! Auf diese Weise kann man sogar auch für Gäste das Einsehen aller Beitragsversionen ermöglichen.
Bei der neusten Version (Installationsanweisung im Hauptordner) kann jeder User mit der Moderatorenberechtigung Beitragsdetails einzusehen, alle Beitragsversionen ansehen. Löscht er alle außer einer, wird diese Beitragsversion angezeigt und der Editierhinweis verschwindet, falls es der letzte Beitrag im Thread ist.
phpBB.com • View topic - [RC] Prime Post Revisions - View all edits to posts
Um das 'Prime Post Revisions' Version 1.2.3 (alle Editierhinweise anzeigen mit Anzeige aller Beitragsversionen) auf phpBB 3.0.2 zu installieren, zuerst Datei- und Datenbankbackup durchführen! Um die Veränderungen an der Datenbank durchzuführen, bspw. aus dem entpackten Zip-Archiv die Datei Prime Post Revisions\contrib\db_install.php ins Root-Verzeichnis des Forums hochladen! Das ist dort, wo bspw. die Datei posting.php ist. Dann die URL zu dieser Datei im Web-Browser aufrufen! Die Meldung erscheint dann, dass das erledigt ist. Und dann diese Datei löschen!
Nachfolgende Dateien hochladen für die Sprachen Englisch und Deutsch!
Kopieren: root/includes/prime_post_revisions.php
Nach: includes/prime_post_revisions.php
Kopieren: root/language/en/mods/prime_post_revisions.php
Nach: language/en/mods/prime_post_revisions.php
Kopieren: root/language/de/mods/prime_post_revisions.php
Nach: language/de_x_sie/mods/prime_post_revisions.php
Kopieren: root/language/de/mods/prime_post_revisions.php
Nach: language/de/mods/prime_post_revisions.php
Für niederländisch ggf. auch wie nachfolgend angegeben entsprechend hochladen! In der Original-Installationsanleitung ist übrigens bei niederländisch der Dateiname falsch geschrieben.
Kopieren: root/language/nl/mods/prime_post_revisions.php
Nach: language/nl/mods/prime_post_revisions.php
Datei
includes/constants.php downloaden (einmal als Backup und einmal zur Bearbeitung), mit Editor Vim wie nachfolgend beschrieben nachfolgenden Ersetzungsbefehl ausführen und wieder hochladen!
Code: Alles auswählen
:%s#.*define('POSTS_TABLE',\s*\$table_prefix . 'posts');.*#&\r//-- mod: Prime Post Revisions ----------------------------------------------//\rdefine('POST_REVISIONS_TABLE', $table_prefix . 'post_revisions');\r//-- end: Prime Post Revisions ----------------------------------------------//
includes/functions_admin.php
Code: Alles auswählen
:%s#.*$table_ary = array(POSTS_TABLE, REPORTS_TABLE);.*#&\r//-- mod: Prime Post Revisions ----------------------------------------------//\r $table_ary[] = POST_REVISIONS_TABLE; // To delete the post's edit history\r//-- end: Prime Post Revisions ----------------------------------------------//
posting.php
Code: Alles auswählen
:%s#.*$data\['topic_replies'\] = \$post_data\['topic_replies'\];.*#&\r//-- mod: Prime Post Revisions ----------------------------------------------//\r include($phpbb_root_path . 'includes/prime_post_revisions.' . $phpEx);\r store_post_revision_info($data, $post_data);\r//-- end: Prime Post Revisions ----------------------------------------------//
viewtopic.php
Code: Alles auswählen
:%s#.*\$max_post_time = 0;.*#&\r//-- mod: Prime Post Revisions ----------------------------------------------//\rinclude($phpbb_root_path . 'includes/prime_post_revisions.' . $phpEx);\r$prime_post_revisions = new prime_post_revisions($post_list, $forum_id, $topic_id, $post_id);\r//-- end: Prime Post Revisions ----------------------------------------------//
Code: Alles auswählen
:%s#\s*\/\/ Posts are stored in the \$rowset.*#//-- mod: Prime Post Revisions ----------------------------------------------//\r$prime_post_revisions->get_revision_info($post_list, $result, $viewtopic_url, $viewtopic_title);\r//-- end: Prime Post Revisions ----------------------------------------------//\r&
Code: Alles auswählen
:%s#\s*\/\/ Posts are stored in the \$rowset array while \$attach_list, \$user_cache\n\/\/ and the global bbcode_bitfield are built\nwhile (\$row = \$db->sql_fetchrow(\$result))\n\s*{.*#&\r//-- mod: Prime Post Revisions ----------------------------------------------//\r $prime_post_revisions->merge_revision_info($post_list, $result, $row);\r//-- end: Prime Post Revisions ----------------------------------------------//
Code: Alles auswählen
:%s#\s*// Editing information.*#//-- mod: Prime Post Revisions ----------------------------------------------//\r $prime_post_revisions->set_edit_count($row);\r//-- end: Prime Post Revisions ----------------------------------------------//\r&
Code: Alles auswählen
:%s#.*\$l_edit_time_total = (\$row\['post_edit_count'\] == 1) ? \$user->lang\['EDITED_TIME_TOTAL'\] : \$user->lang\['EDITED_TIMES_TOTAL'\];.*#//-- mod: Prime Post Revisions ----------------------------------------------//\r $prime_post_revisions->inject_user_data($row);\r//-- end: Prime Post Revisions ----------------------------------------------//\r&
Code: Alles auswählen
:%s#.*if (isset(\$cp_row\['row'\]) && sizeof(\$cp_row\['row'\])).*#//-- mod: Prime Post Revisions ----------------------------------------------//\r $prime_post_revisions->update_postrow($post_list, $i, $rowset, $postrow);\r//-- end: Prime Post Revisions ----------------------------------------------//\r&
Code: Alles auswählen
:%s#.*page_header(\$user->lang\['VIEW_TOPIC'\].*#&\r//-- mod: Prime Post Revisions ----------------------------------------------//\r$prime_post_revisions->assign_template_variables($viewtopic_url, $viewtopic_title);\r//-- end: Prime Post Revisions ----------------------------------------------//
Den Freeware-Editor Vim gibt es hier:
Klick! Für Windows wäre das die Datei gvim72.exe. Die zu bearbeitende Datei am besten mit Rechtsmaustastenklick auf diese Datei öffnen. Mit wiederholtem <Esc> in den Befehlsmodus (Voreinstellung) gehen! Dann einen Doppelpunkt : tippen und einen dieser Ersetzungsbefehle ausführen, indem man diesen bei Windows mit <Strg> + <C> kopiert und dann mit <Strg> + <V> einfügt, und dann die Enter-Taste (Return) drückt! Wenn am Anfang zwei Doppelpunkte sind, schadet das nicht. Vor dem Schließen den Kursor mit gg an den Anfang bringen! Siehe dazu auch diesen Beitrag von mir:
Klick!