Seite 2 von 2

Verfasst: 03.09.2007 20:25
von Kleopatras_Sister
Mr.Streeter hat geschrieben:Nun Doc,

dann sollte der Poster nächstes Mal dazu schreiben, was er meint.
*g* bis dich Ärger :D

also selbst ich als Super noobin hab verstanden was er sucht (was ich ja auch such) *hrhrh*

8)

Verfasst: 03.09.2007 20:33
von Mr.Streeter
Tja Doc,

ich ging halt davon aus, dass man das mit dem entsprechenden Häkchen verhindern kann.
Dass sich dies so hinterhältig gestaltet, hätte ich nicht gedacht. Anscheinend muss ich da umdenken lernen - fällt schwer...

Verfasst: 03.09.2007 20:35
von Mr.Streeter
Kleopatras_Sister hat geschrieben:also selbst ich als Super noobin hab verstanden was er sucht (was ich ja auch such) *hrhrh* 8)
Ich sag's doch immer, verehrte Sister: man kann auch von einem Newbie noch 'was lernen :lol:

Verfasst: 03.09.2007 23:07
von dieweltist
Ein zweiter Makel kommt noch hinzu, nämlich dem Admin wird aufgrund der Einstellungsmöglichkeiten suggeriert, dass der Editierhinweis ggf. in jedem Fall erscheinen wird. Tatsächlich betrifft diese Option aber nur Editierungen von eigenen Beiträgen.

Die Idee mit dem Sperren von Beiträgen ist hier aber überhaupt keine Lösung. Das verhindert doch nur, dass die so gesperrten Beiträge verändert werden können.

Verfasst: 06.09.2007 21:21
von nickvergessen

Verfasst: 17.08.2008 20:23
von dieweltist
Beziehungsweise auch in nachfolgendem Thread findet man eine gute Lösung für dieses Problem. Übrigens werden auch Editiervermerke von Moderatoren immer angezeigt, wenn sie eine Begründung angeben.

Zuletzt bearbeitet von ... immer anzeigen phpBB.de

Edit: Aber leider funktioniert dieser Mod nicht. Weil eine Editierung bei meinem Forum zu nachfolgender Fehlerseite führt, wenn man eine Begründung angibt, hatte ich zum Test das Forum noch mal neu ohne Modifikationen installiert. Aber bei diesem funktioniert das genauso nicht.

Code: Alles auswählen

500 - Fehler: Internal Server Error. 
500 - Error: Internal Server Error. 

Problem gelöst?

Verfasst: 13.09.2008 22:54
von Sindy
Versuche es mal hiermit:

Code: Alles auswählen

			if ($data['post_edit_reason'] || (!$auth->acl_get($post_mode == 'edit' || $post_mode == 'edit_first_post')))
			{
				$data['post_edit_reason']		= truncate_string($data['post_edit_reason'], 255, 255, false);

				$sql_data[POSTS_TABLE]['sql']	= array(
					'post_edit_time'	=> $current_time,
					'post_edit_reason'	=> $data['post_edit_reason'],
					'post_edit_user'	=> (int) $data['post_edit_user'],
				);

				$sql_data[POSTS_TABLE]['stat'][] = 'post_edit_count = post_edit_count + 1';
			}
			else if (!$data['post_edit_reason'] && $mode == 'edit')
			{
				$sql_data[POSTS_TABLE]['sql'] = array(
					'post_edit_reason'	=> '',
				);
			}

Beitragsversionen und Editierhinweis immer anzeigen

Verfasst: 06.01.2009 18:55
von dieweltist
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
nickvergessen hat geschrieben:http://www.phpbb.com/community/viewtopi ... 0&t=572129 könnte interessant sein
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!