Seite 1 von 2

Angabe von Bearbeitungsgrund auch für User

Verfasst: 04.01.2010 22:22
von modernist
Hallo!

Gibt es eigentlich eine MOD, die es auch normalen Usern ermöglicht, bei Beitragsänderungen in einer Extrazeile den Grund für die Bearbeitung ihres eigenen Beitrags anzugeben. Also ähnlich wie es bei Moderatoren bzw. beim Admin der Fall ist, falls er Beiträge editiert.
Zwar kann der Nutzer das auch in den normalen Text schreiben, aber ich fände es schöner, wenn das am Ende des Textes zusammengefasst stünde:
Zuletzt geändert von User am xx.xx.xxxx, xx:xx, insgesamt 1-mal geändert.
Grund: bla bla bla

Re: Angabe von Bearbeitungsgrund auch für User

Verfasst: 04.01.2010 23:08
von hoerbie
Ich bin jetzt nicht ganz sicher, aber das sollte doch jeder normale user können!

update: ich bin wohl zuviel als mod unterwegs :oops: Kann man da nicht etwas an den Berechtigungen schrauben?

Re: Angabe von Bearbeitungsgrund auch für User

Verfasst: 04.01.2010 23:15
von modernist
Nö, bei mir im Forum sehe ich da mit einem normalen Useraccount keine Extrazeile mit "Grund für die Bearbeitung" wie es als Admin der Fall ist.
Oder gibt's da eine Einstellung im ACP dazu, die ich übersehen habe?

Re: Angabe von Bearbeitungsgrund auch für User

Verfasst: 04.01.2010 23:18
von hoerbie
Nein, ich habe auch nichts gefunden :-? Ich dachte echt, das würde für alle gelten.

Re: Angabe von Bearbeitungsgrund auch für User

Verfasst: 06.01.2010 12:07
von Testusmania99
LOOOOL voll einfach ehh. *schallendlach*

Ich dachte mir eben, na, schauste halt selbst nach. Vielleicht findeste ja was. Und siehe da, ich habe die Lösung gefunden!!!!

Sucht in Eurem Template die posting_body.html.

Sucht:

Code: Alles auswählen

<!-- IF S_EDIT_REASON -->
	<tr>
		<td class="row1" valign="top"><b class="genmed">{L_EDIT_REASON}:</b></td>
		<td class="row2"><input class="post" type="text" name="edit_reason" size="50" value="{EDIT_REASON}" /></td>
	</tr>
<!-- ENDIF -->
...und entfernt:
<!-- IF S_EDIT_REASON -->
und
<!-- ENDIF -->
~~~
Fertig!

Das Ding ist jetzt nur, dass jetzt "jeder" diese Funktion hat.
Aber mich stört's nicht wirklich, da Gäste bei mir eh nicht editieren dürfen.

Liebe Grüße, Testusmania

EDIT:
Oh ich seh grad, dass zwar das Feld da ist, aber der Grund wird nach dem editieren nicht mit angezeigt. ô.O

EDIT 2:
Ich denke, es müsste noch etwas in der viewtopic_body.html angepasst werden oder?

Edit 3:
Hmm, also viewtopic_body kann es nicht sein. Irgendein Befehl muss noch zusätzlich geändert werden. Aber ich weiß nicht wo. -.-"

Re: Angabe von Bearbeitungsgrund auch für User

Verfasst: 06.01.2010 16:10
von modernist
Klappte bei mir auch nicht...wobei die prosilver-posting_body.html-Datei keine Tabellen verwendet wie dein zitiertes Beispiel.

Und die Zeile mit "Grund..." war auch schon sichtbar, wenn es sich um ein Originalposting handelt, also ohne, daß es eine Bearbeitung war.

In der viewtopic_body.html findet sich noch

Code: Alles auswählen

<!-- IF postrow.EDIT_REASON --><br /><strong>{L_REASON}:</strong> <em>{postrow.EDIT_REASON}</em><!-- ENDIF -->
Entferne ich das das <!-- IF postrow.EDIT_REASON --> und <!-- ENDIF -->, so wird zwar "Grund" mit angezeigt, der für die Bearbeitung angegeben Grund wird aber nicht mitangezeigt und wurde wohl auch nicht gespeichert.

Vielleicht hat noch jemand anders hier eine Idee, wie man das umsetzen könnte?

Re: Angabe von Bearbeitungsgrund auch für User

Verfasst: 07.01.2010 09:31
von Testusmania99
Ich habe mal in meinem Styleforum einen Thread aufgesetzt.
Denke mir mal, wir werden das Problem bald gelöst haben. Ich melde mich dann hier wieder. (ich lösche diesen Beitrag und setze dann einen neuen auf, wegen Doppelposting etc pp, falls hier noch keiner nach mir schreiben sollte)

Hoffnungsvoll Euer, Testus ^^

Re: Angabe von Bearbeitungsgrund auch für User

Verfasst: 07.01.2010 11:12
von wolfman24
Warum denn so kompliziert und im Template ändern(muß dann ja in jedem Template geändert werden)? Außerdem muß dann ja immer wieder der Cache gelöscht werden. Ändert es doch in der posting.php. Sucht einfach die beiden Zeilen mit

Code: Alles auswählen

$mode == 'edit' && $auth->acl_get('m_edit', $forum_id)
und entfernt den Moderator Teil

Code: Alles auswählen

&& $auth->acl_get('m_edit', $forum_id)
Achtung: Die oben genannte Suche sollte 3 Ergebnisse bringen, den Schalter (Switch) 'S_LOCK_POST_ALLOWED' natürlich nicht ändern!

Re: Angabe von Bearbeitungsgrund auch für User

Verfasst: 07.01.2010 11:35
von Testusmania99
Goil, das funktioniert ja. :D
Danke Dir!!!!!!!
Wie haste das bloß herausgefunden?

Achja, eine Frage habe ich noch:
Als Admin kann man ja den Grund wieder entfernen und wird dann auch nicht mehr angezeigt.
Ein User, welcher mit Grund editiert und dann wieder den Grund entfernen will, kann diesen nicht wieder löschen.
Kann man das noch ändern, so dass man wie ein admin quasi den Grund-text erneut komplett herausnehmen kann?
Wäre echt genial!

Danke Dir!!!!

Re: Angabe von Bearbeitungsgrund auch für User

Verfasst: 07.01.2010 14:26
von wolfman24
Testusmania99 hat geschrieben:Wie haste das bloß herausgefunden?
Durch logisches Nachdenken. Die Angabe des Änderungsgrundes wird wahrscheinlich durch einen Schalter gesteuert (wahrscheinlich S_EDIT_REASON) und siehe da, in der posting.php existiert dieser Schalter. Schaut man sich diese Zeile an, kann man die Bedingungen erkennen. Das Feld wird sichtbar wenn der Schalter true ist, also wenn
  • der Mode = Edit ist
  • die Moderator Edit Berechtigung zutrifft, zu erkennen am m_
Streicht man nun die 2. Bedingung, wird bei jedem Änderungsvorgang das Änderungsgrundfeld angezeigt.

Leider wird der Grund beim Absenden aber noch nicht übernommen, deshalb sucht man nochmals in der posting.php, diesmal nur nach edit_reason. Man findet dann die Stelle, wo der Änderungsgrund UTF8 normalisiert wird ($post_data['post_edit_reason']) und sieht wieder die beiden Bedingungen wie oben angegeben, also entfernt man wieder die Moderatoren-Authorisierungs-Abfrage. Und Voila, es funktioniert, so findet man das mit ein wenig Übung in ein paar Minuten heraus.
Testusmania99 hat geschrieben:Ein User, welcher mit Grund editiert und dann wieder den Grund entfernen will, kann diesen nicht wieder löschen.
Bei mir geht das, was genau hast du denn editiert? Um den Grund zu löschen, muß ich (wie auch als Mod/Admin) einfach den Grund aus dem Feld entfernen.