Seite 1 von 1
Edit-Nachricht im Posting verstecken
Verfasst: 24.05.2006 20:59
von SkYfiGhTeR
Hallo,
ich suche einen MOD der es möglich macht, dass keine Nachricht à la "Zuletzt bearbeitet von..." in einem Posting vermerkt wird, sofern die Nachricht von einem Admin oder Moderator bearbeitet wurde (sei es die eigene Nachricht oder die eines Users).
Kann mir da jemand helfen?
Vielen Dank im Voraus!
Verfasst: 25.05.2006 12:05
von tomtom
Verfasst: 25.05.2006 13:27
von SkYfiGhTeR
Hi,
danke für den Link.
## Author Notes:
## It's a bit rough, but it works.
Hm...ich hatte schon mal einen MOD, der die Anzeige des "Editiert von..." bei Admins (und Moderatoren) nicht angezeigt hat, aber das war nicht dieser. Gibt es da vielleicht sonst noch einen MOD? Ich weiß leider nicht mehr welchen ich damals hatte und habe den auch leider nicht mehr auf dem PC.
Ansonsten nehme ich natürlich dann diesen...
Verfasst: 25.05.2006 13:36
von S2B
MODL:extended_edit_msg
Damit solltest du so etwas lösen können, ohne die Funktion für Administratoren/Moderatoren komplett zu deaktivieren.

Verfasst: 25.05.2006 13:40
von SkYfiGhTeR
Hi,
jep...den MOD habe ich auch schon gefunden.
Nur das ist nichts für mich. Dann hätte ich zwar die Sache gelöst, dass der Admin (zwar jedes mal manuell, worüber man aber hinwegsehen könnte) einstellen kann, dass sein Edit nicht angezeigt wird, aber bei allen anderen Edits von Usern, wird dann jeder Edit aufgelistet und das möchte ich nicht.
Dann wäre es wohl doch eher der zuerst verlinkte, der ja eigentlich bereits genau das trifft, was ich suche. Ich dachte nur, es gäbe da noch weitere MODs, weil ich in fester Überzeugung bin bzw. war, dass ich mal einen anderen MOD hatte, der das bewerkstelligt.
Trotzdem vielen Dank.

Verfasst: 25.05.2006 14:07
von S2B
Naja, aber die mehreren Nachrichten lassen sich doch auch verhindern...
Mal so grob:
Finde in viewtopic.php:
Code: Alles auswählen
//
// New editing information
//
if ( $postrow[$i]['post_edit_count'] )
{
$sql = "SELECT edit_user, edit_time FROM ". EDIT_TABLE ."
WHERE edit_post = '". $postrow[$i]['post_id'] ."'
ORDER BY edit_time DESC";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not get edits", '', __LINE__, __FILE__, $sql);
}
$edits = array();
while($row = $db->sql_fetchrow($result))
{
$edits[] = $row;
}
for($k = 0; $k < count($edits); $k++)
{
$edit_break = ($k == 0) ? "<br /><br />" : "<br />";
$template->assign_block_vars('postrow.edits', array(
'EDIT_TEXT' => sprintf($lang['Last_edit'], $edit_break, create_date($board_config['default_dateformat'], $edits[$k]['edit_time'], $board_config['board_timezone']), $edits[$k]['edit_user']))
);
}
}
Ersetze mit:
Code: Alles auswählen
//
// New editing information
//
if ($postrow[$i]['post_edit_count'])
{
$sql = "SELECT edit_user, edit_time FROM ". EDIT_TABLE ."
WHERE edit_post = '". $postrow[$i]['post_id'] ."'
ORDER BY edit_time DESC";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not get edits", '', __LINE__, __FILE__, $sql);
}
$edits = array();
while($row = $db->sql_fetchrow($result))
{
if (!isset($edits[$row['edit_user']]))
{
$edits[$row['edit_user']] = array(
'edit_last_time' => $row['edit_time'],
'edit_count' => 1);
}
else
{
$edits[$row['edit_user']]['edit_count']++;
}
}
$db->sql_freeresult($result);
$k = 0;
foreach ($edits as $edit_user => $edit_info)
{
$edit_break = ($k == 0) ? "<br /><br />" : "<br />";
$l_edit_time_total = ($edit_info['edit_count'] == 1) ? $lang['Edited_time_total'] : $lang['Edited_times_total'];
$template->assign_block_vars('postrow.edits', array(
'EDIT_TEXT' => $edit_break . sprintf($l_edit_time_total, $edit_user, create_date($board_config['default_dateformat'], $edit_info['edit_last_edit'], $board_config['board_timezone']), $edit_info['edit_count']))
);
$k++;
}
unset($edits);
}
Dann wird für jeden Benutzer nur noch eine Nachricht angezeigt.

Verfasst: 25.05.2006 14:13
von SkYfiGhTeR
Hi,
ja ok.
Aber außer, dass ich dann bei diesem MOD die Möglichkeit habe, den Edit des Admins anzeigen zu lassen oder nicht, habe ich keine Vorteile gegenüber dem anderen oder? Zumal die Edit-Nachricht bei Admins sowieso nie angezeigt werden soll, bringt mir in diesem Fall diese Option ja auch nicht so viel.
Bestimmte Nachteile oder so hat der zuerst verlinkte MOD von tomtom aber nicht oder?
Verfasst: 25.05.2006 14:17
von S2B
Es ist deine Entscheidung, welchen MOD du nimmst, ich würde aber den von Leuchte nehmen, da du damit auch die Möglichkeit hast, das ganze später wieder anzeigen zu lassen oder die Admin-Edits z.B. nur für Administratoren/Moderatoren anzeigen zu lassen.

Allerdings würde ich anstatt des Usernamens die User-ID in die Datenbank speichern...
Verfasst: 25.05.2006 14:51
von SkYfiGhTeR
S2B hat geschrieben:da du damit auch die Möglichkeit hast, das ganze später wieder anzeigen zu lassen oder die Admin-Edits z.B. nur für Administratoren/Moderatoren anzeigen zu lassen.
Aber nicht standardmäßig oder? Also das mit der Anzeige der Admin-Edits lediglich für Administratoren (und Moderatoren)?
Gibt es auch eine Möglichkeit eine Edit-Nachricht nachträglich zu entfernen? Wenn man ein Posting mit Edit-Nachricht wieder editieren will, wird die Edit-Nachricht ja nicht mit im Textfeld angezeigt um sie ggf. zu entfernen...
Verfasst: 25.05.2006 15:10
von S2B
SkYfiGhTeR hat geschrieben:Aber nicht standardmäßig oder? Also das mit der Anzeige der Admin-Edits lediglich für Administratoren (und Moderatoren)?
Nein, mein Code versteckt nur doppelte Nachrichten eines Benutzers. Er versteckt keine Admin/Moderator-Nachrichten, das müsstest du dann schon noch selber machen. *g*
SkYfiGhTeR hat geschrieben:Gibt es auch eine Möglichkeit eine Edit-Nachricht nachträglich zu entfernen? Wenn man ein Posting mit Edit-Nachricht wieder editieren will, wird die Edit-Nachricht ja nicht mit im Textfeld angezeigt um sie ggf. zu entfernen...
Du könntest höchstens alle Editiernachrichten entfernen:
Code: Alles auswählen
UPDATE phpbb_posts
SET
post_edit_time = NULL,
post_edit_count = 0