Seite 1 von 1
User ändern Beiträge ...
Verfasst: 11.09.2003 23:06
von andreasOymann
Kennt jemand nen MOD, damit die User nur noch ihre Beiträge ändern können, wenn es der letzte Beitrag im Thread ist, ihn aber nicht mer ändern können, wenn jemand geantwortet hat?
A.
Verfasst: 11.09.2003 23:13
von Henne
Musst ja eigentlich nur einfach abfragen, ob es der letzte Beitrag ist.
Oder so ähnlich...

Verfasst: 11.09.2003 23:34
von andreasOymann
eben, oder so ähnlich...
Ich finde weder "$post_data" noch "last_post" irgendwo in der viewtopic.php, um damit irgendwas zu basteln.
Auf jeden Fall muss wohl folgender Code der viewtopic.php angepasst werden:
Code: Alles auswählen
if ( ( $userdata['user_id'] == $poster_id && $is_auth['auth_edit'] ) || $is_auth['auth_mod'] )
{
$temp_url = append_sid("posting.$phpEx?mode=editpost&" . POST_POST_URL . "=" . $postrow[$i]['post_id']);
$edit_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_edit'] . '" alt="' . $lang['Edit_delete_post'] . '" title="' . $lang['Edit_delete_post'] . '" border="0" /></a>';
$edit = '<a href="' . $temp_url . '">' . $lang['Edit_delete_post'] . '</a>';
}
else
{
$edit_img = '';
$edit = '';
}
if ( $is_auth['auth_mod'] )
{
$temp_url = "modcp.$phpEx?mode=ip&" . POST_POST_URL . "=" . $postrow[$i]['post_id'] . "&" . POST_TOPIC_URL . "=" . $topic_id . "&sid=" . $userdata['session_id'];
$ip_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_ip'] . '" alt="' . $lang['View_IP'] . '" title="' . $lang['View_IP'] . '" border="0" /></a>';
$ip = '<a href="' . $temp_url . '">' . $lang['View_IP'] . '</a>';
$temp_url = "posting.$phpEx?mode=delete&" . POST_POST_URL . "=" . $postrow[$i]['post_id'] . "&sid=" . $userdata['session_id'];
$delpost_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_delpost'] . '" alt="' . $lang['Delete_post'] . '" title="' . $lang['Delete_post'] . '" border="0" /></a>';
$delpost = '<a href="' . $temp_url . '">' . $lang['Delete_post'] . '</a>';
}
else
{
$ip_img = '';
$ip = '';
if ( $userdata['user_id'] == $poster_id && $is_auth['auth_delete'] && $forum_topic_data['topic_last_post_id'] == $postrow[$i]['post_id'] )
{
$temp_url = "posting.$phpEx?mode=delete&" . POST_POST_URL . "=" . $postrow[$i]['post_id'] . "&sid=" . $userdata['session_id'];
$delpost_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_delpost'] . '" alt="' . $lang['Delete_post'] . '" title="' . $lang['Delete_post'] . '" border="0" /></a>';
$delpost = '<a href="' . $temp_url . '">' . $lang['Delete_post'] . '</a>';
}
else
{
$delpost_img = '';
$delpost = '';
}
}
Verfasst: 11.09.2003 23:37
von Henne
Ich hätte jetzt als erstes in der functions_post.php angesetzt.
Aber ich will jetzt nichts falsches sagen. Ich schaue es mir mal an.
Verfasst: 12.09.2003 07:48
von Seether
Muss wohl eher in die viewtopic.php Schließlich kommt EDIT ja auch bei der Ausgabe...
S.
Verfasst: 12.09.2003 08:13
von Henne
Es nützt dir doch nicht viel, wenn der Button weg ist.
Wenn die Funktion aufgerufen wird, dann muss überprüft werden, ob der Benutzer berechtigt ist oder nicht.
Den Button weg zu bekommen wird wohl nicht das Problem sein.
Verfasst: 12.09.2003 10:29
von andreasOymann
Der erste Schritt wäre, die Buttons verschwinden zu lassen; der sichere zweite dann, die Funktionen in der functions_post.php abzufangen.
Nur ist das mit den Buttons auch nicht so einfach, da sie ja nur verschwinden sollen, wenn es nicht der letzte Beitrag ist. Außerdem sollen sie für Admins und Mods bleiben.
A.
Verfasst: 12.09.2003 22:43
von andreasOymann
Weiss keiner was konkretes dazu???
A.
Verfasst: 13.09.2003 19:20
von andreasOymann
So, ich habe mir nun selber was gebastelt:
Code: Alles auswählen
############################################################################################################################
## MOD Titel: Edit/Delete_only_ last_post
## MOD Version: 1.00 - 13.09.2003
## MOD Author: A. Oymann / www.retriever-hilfe.de / webmaster@retriever-hilfe.de
## MOD Beschreibung: Der Mod bewirkt, daß nur der letzte Beitrag eines Topics vom User geändert / gelöscht werden kann.
## MOD Installationslevel: leicht
## MOD getestet unter phpBB: 2.0.4
## MOD Installationszeit: 5 Minuten
## Zu editierende Dateien (3):
## <phpBB2-Forum-Root>/posting.php
## <phpBB2-Forum-Root>/viewtopic.php
## <phpBB2-Forum-Root>/language/lang_german/lang_main.php
############################################################################################################################
## This MOD is released under the GPL License.
## Intellectual Property is retained by the MOD Author(s) listed above
## http://www.gnu.org
############################################################################################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD !!!
##
## Bevor Du diesen MOD einbaust, solltest Du ein vollständiges Backup Deines Forums erstellen !!!
############################################################################################################################
Installation des Mods:
############################################################################################################################
#
#-----[ ÖFFNE ]------------------------------------------
#
<phpBB2-Forum-Root>/posting.php
#
#-----[ FINDE ]------------------------------------------
#
if ( $post_info['poster_id'] != $userdata['user_id'] && !$is_auth['auth_mod'] )
{
$message = ( $delete || $mode == 'delete' ) ? $lang['Delete_own_posts'] : $lang['Edit_own_posts'];
$message .= '<br /><br />' . sprintf($lang['Click_return_topic'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}
#
#-----[ DANACH FÜGE AN ]------------------------------------
#
else if ( !$post_data['last_post'] && !$is_auth['auth_mod'] )
{
$message = ( $delete || $mode == 'delete' ) ? $lang['Delete_last_posts'] : $lang['Edit_last_posts'];
$message .= '<br /><br />' . sprintf($lang['Click_return_topic'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}
#
#-----[ ÖFFNE ]------------------------------------------
#
<phpBB2-Forum-Root>/viewtopic.php
#
#-----[ FINDE ]------------------------------------------
#
if ( ( $userdata['user_id'] == $poster_id && $is_auth['auth_edit'] ) || $is_auth['auth_mod'] )
{
$temp_url = append_sid("posting.$phpEx?mode=editpost&" . POST_POST_URL . "=" . $postrow[$i]['post_id']);
$edit_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_edit'] . '" alt="' . $lang['Edit_delete_post'] . '" title="' . $lang['Edit_delete_post'] . '" border="0" /></a>';
$edit = '<a href="' . $temp_url . '">' . $lang['Edit_delete_post'] . '</a>';
}
#
#-----[ ERSETZE DURCH ]------------------------------------------
#
if ( ( $userdata['user_id'] == $poster_id && $is_auth['auth_edit'] && $forum_topic_data['topic_last_post_id'] == $postrow[$i]['post_id'] ) || $is_auth['auth_mod'] )
{
$temp_url = append_sid("posting.$phpEx?mode=editpost&" . POST_POST_URL . "=" . $postrow[$i]['post_id']);
$edit_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_edit'] . '" alt="' . $lang['Edit_delete_post'] . '" title="' . $lang['Edit_delete_post'] . '" border="0" /></a>';
$edit = '<a href="' . $temp_url . '">' . $lang['Edit_delete_post'] . '</a>';
}
#
#-----[ ÖFFNE ]------------------------------------------
#
<phpBB2-Forum-Root>/language/lang_german/lang_main.php
#
#-----[ FINDE ]------------------------------------------
#
$lang['Delete_own_posts'] = 'Du kannst nur deine eigenen Beiträge löschen.';
#
#-----[ DANACH FÜGE AN ]------------------------------------
#
$lang['Edit_last_posts'] = 'Du kannst nur den letzten Beitrag eines Themas bearbeiten.';
$lang['Delete_last_posts'] = 'Du kannst nur den letzen Beitrag eines Themas löschen.';
#
#-----[ SPEICHERE UND SCHLIESSE ALLE DATEIEN UND LADE SIE HOCH ]--------------------------
#
# EoM
Andreas