MyBB.de Forum

Normale Version: Löschen verbieten.
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Ich hätte daran auch Interesse, mal so nebenbei angemerkt Smile
(17.08.2010, 17:42)Falkenauge schrieb: [ -> ]
(17.08.2010, 16:50)NetHunter schrieb: [ -> ]@GrosserBlonder
Interessant dein Wunsch. Finde ich auch ganz nützlich. Wenn ich etwas Zeit habe werde ich mir mal um eine Lösung Gedanken machen.
Zählen wieviele Posts im Thread enthalten sind und wenn 0, Lösch-Button anzeigen.
Nicht ganz.. Wink Der Lösch-Button soll nur dann verfügbar sein, wenn ausschließlich Beiträge des Themenerstellers vorhanden sind. Sobald auch Beiträge anderer User vorhanden sind, darf der Lösch-Button nicht mehr verfügbar sein.
(17.08.2010, 21:46)GrosserBlonder schrieb: [ -> ]
(17.08.2010, 17:42)Falkenauge schrieb: [ -> ]
(17.08.2010, 16:50)NetHunter schrieb: [ -> ]@GrosserBlonder
Interessant dein Wunsch. Finde ich auch ganz nützlich. Wenn ich etwas Zeit habe werde ich mir mal um eine Lösung Gedanken machen.
Zählen wieviele Posts im Thread enthalten sind und wenn 0, Lösch-Button anzeigen.
Nicht ganz.. Wink Der Lösch-Button soll nur dann verfügbar sein, wenn ausschließlich Beiträge des Themenerstellers vorhanden sind. Sobald auch Beiträge anderer User vorhanden sind, darf der Lösch-Button nicht mehr verfügbar sein.
Dann noch ein zusätzlicher Query zur post-Tabelle und ruft alle Posts mit der TID des Threads ab und schaut ob die UID = des Erstellers ist. Wenn ja, Lösch-Button anzeigen, wenn nein, nicht anzeigen.

Das ist alles nur Theorie. XD
Naja, also den Löschbutton auszublenden, verbietet ja nicht das Löschen. Da müsste also mehr geprüft werden. Wink
(17.08.2010, 22:44)querschlaeger schrieb: [ -> ]Naja, also den Löschbutton auszublenden, verbietet ja nicht das Löschen. Da müsste also mehr geprüft werden. Wink
Klar, da muss noch mehr geprüft werden. Hab mich auch eher für die anfängliche Theorie beschäftigt als mit dem prüfen ob der Benutzer das darf.
Auf jeden Fall schon mal der richtige Ansatz.. Danke für eure Beteiligung!
Ich denke mal diese Funktionalität ist auch in der 1.6.x Version nicht drinnen? Wenn nicht, wärs ja vielleicht ein Verbesserungsvorschlag dies bei den Berechtigungen als Option einzubauen..
U.a. aus diesem Grund habe ich auch Undo Delete entwickelt.

NetHunter

So, habe mal ein bisschen rumprobiert. Das Ergebnis ist das ein Beitrag vom User nicht mehr gelöscht werden kann, sobald darauf geantwortet wurde.

Folgendes macht die "Beitrag löschen" Box im Editiermodus und den "Quickdelete" Button unwirksam.
editpost.php
Finde:
PHP-Code:
if($mybb->input['action'] == "deletepost" && $mybb->request_method == "post")
{
    if(!
is_moderator($fid"candeleteposts"))
    {
        if(
$thread['closed'] == 1)
        {
            
error($lang->redirect_threadclosed);
        }
        if(
$forumpermissions['candeleteposts'] == 0)
        {
            
error_no_permission();
        }
        if(
$mybb->user['uid'] != $post['uid'])
        {
            
error_no_permission();
        }
    }


ersetzen mit:
PHP-Code:
if($mybb->input['action'] == "deletepost" && $mybb->request_method == "post")
{
    if(!
is_moderator($fid"candeleteposts"))
    {
        if(
$thread['closed'] == 1)
        {
            
error($lang->redirect_threadclosed);
        }
        if(
$forumpermissions['candeleteposts'] == 0)
        {
            
error_no_permission();
        }
        if(
$mybb->user['uid'] == $post['uid'] && $post['dateline'] == $thread['lastpost'])
        {
        } else {
             
error_no_permission();
        }
    }


Dieses entfernt zusätzlich den "Quickdelete" Button aus den Beiträgen.
inc/function_post.php
Finde:
PHP-Code:
if($mybb->user['uid'] == $post['uid']) 
ersetzen mit:
PHP-Code:
if($mybb->user['uid'] == $post['uid'] && $post['dateline'] == $thread['lastpost']) 

Soll die "Beitrag löschen" Box nicht nur unwirksam werden sondern ganz verschwinden muss der Block aus dem "Beitrag bearbeiten Templates -> editpost" entfernt werden:
PHP-Code:
<form action="editpost.php" method="post" name="editpost">
<
input type="hidden" name="my_post_key" value="{$mybb->post_code}/>
<
table border="0" cellspacing="{$theme['borderwidth']}cellpadding="{$theme['tablespace']}class="tborder">
<
tr>
<
td class="thead" colspan="3"><strong>{$lang->delete_post}</strong></td>
</
tr>
<
tr>
<
td class="trow1" style="white-space: nowrap"><input type="checkbox" class="checkbox" name="delete" value="1" tabindex="9" /> <strong>{$lang->delete_q}</strong></td>
<
td class="trow1" width="100%">{$lang->delete_1}<br /><span class="smalltext">{$lang->delete_2}</span></td>
<
td class="trow1"><input type="submit" class="button" name="submit" value="{$lang->delete_now}tabindex="10" /></td>
</
tr>
</
table>
<
input type="hidden" name="action" value="deletepost" />
<
input type="hidden" name="pid" value="{$pid}/>
</
form

Mods/Admins können weiterhin alles über "Quickdelete" löschen. Das ganze läuft mit 1.4 wie auch 1.6. Ich hoffe damit könnt ihr was anfangen. Smile
(18.08.2010, 17:04)NetHunter schrieb: [ -> ]Mods/Admins können weiterhin alles über "Quickdelete" löschen.
Solange du den Beitrag nicht selber geschrieben hast. Wink

NetHunter

(18.08.2010, 18:28)StefanT schrieb: [ -> ]
(18.08.2010, 17:04)NetHunter schrieb: [ -> ]Mods/Admins können weiterhin alles über "Quickdelete" löschen.
Solange du den Beitrag nicht selber geschrieben hast. Wink

Das kann ich nicht nachvollziehen. Ich kann alles löschen, auch eigene Beiträge. Die Rechte für MODs werden woanders geholt.
Seiten: 1 2 3