Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Attachment freigeben ...
#1
Hallöchen,

ich habe mit Attachments im ersten Beitrag eines neuen Threads in einem moderierten Forum ein Problem. Trotz Freigabe sehe ich die nur als Admin ...   
Vor längerem hatte ich bisschen experimentiert und resultierend vermutet, dass es an der Reihenfolge von Freigabe des Beitrags und des Anhangs liegen könnte. Wenn beide Mod-Meldungen angezeigt werden, kann es schon vorkommen, dass man es mal so, und mal anders rum macht.

Auf jeden Fall ist das nervig. Macht man es in falscher Reihenfolge, muss man den Beitrag bearbeiten, den Anhang löschen und erst mal speichern und freigeben. Dann ändert man nochmal, fügt den Anhang wieder ein, ... und wenn man beim Freigeben Pech hat, macht man es nochmal.

So, nun habe ich die Hoffnung, dass das irgendwo in einer Tabelle hinterlegt ist und ich es einfach dort ändern kann. Finde allerdings nicht die betreffende Stelle. 

Meine erste Anlaufstelle waren die xxx_attachments. Visible sind dort alle, ... aid gibt's auch bei awaitingactivation, aber da ist "meine" aid nicht dabei. Bei den Posts gibt's nix mit aid, ...
PHP Version 7.4.30
MySQL Version 5.7.42
Mybb Version 1.8.37
(Stand 01/2024)

Grüße, André
Zitieren
#2
Hallöchen,

das Problem existiert nach wie vor und ist auch nicht neu, siehe dort
https://www.mybb.de/forum/thread-37497-p...#pid246524

Ist mir gerade wieder passiert. Da muss man erst aus dem Beitrag die Anhänge sichern und entfernen, speichern, freigeben, und dann den Beitrag nochmal bearbeiten, die Anhänge einfügen, und dann warten bis die Meldungen zur Moderation des Beitrags und der Anhänge erscheinen ...

Mal eine dumme? Frage. 
Wenn ich als Admin einen Beitrag eines users bearbeite, warum muss der dann nochmal moderiert werden?
PHP Version 7.4.30
MySQL Version 5.7.42
Mybb Version 1.8.37
(Stand 01/2024)

Grüße, André
Zitieren
#3
Das Problem besteht darin, dass bei der Freigabe des Attachments im Mod-CP der "attachmentcount" in der "_threads" Tabelle nicht hochgezählt wird. Wenn es noch keine anderen Attachments im jeweiligen Thread gibt, bleibt der Zähler auf 0 und damit wird es Benutzern ohne Mod-Berechtigung nicht angezeigt.

Suche mal in der modcp.php nach den Zeilen 2063-2092:

PHP-Code:
else if(!empty($mybb->input['attachments']))
{
    $attachments array_map("intval"array_keys($mybb->input['attachments']));
    $query $db->query("
        SELECT a.pid, a.aid
        FROM  "
.TABLE_PREFIX."attachments a
        LEFT JOIN "
.TABLE_PREFIX."posts p ON (a.pid=p.pid)
        LEFT JOIN "
.TABLE_PREFIX."threads t ON (t.tid=p.tid)
        WHERE aid IN ("
.implode(","$attachments)."){$tflist_queue_attach}
    "
);
    while($attachment $db->fetch_array($query))
    {
        if(!isset($mybb->input['attachments'][$attachment['aid']]))
        {
            continue;
        }
        $action $mybb->input['attachments'][$attachment['aid']];
        if($action == "approve")
        {
            $db->update_query("attachments", array("visible" => 1), "aid='{$attachment['aid']}'");
        }
        else if($action == "delete")
        {
            remove_attachment($attachment['pid'], ''$attachment['aid']);
        }
    }

    $plugins->run_hooks("modcp_do_modqueue_end");

    redirect("modcp.php?action=modqueue&type=attachments"$lang->redirect_attachmentsmoderated);



und ersetze sie durch:

PHP-Code:
else if(!empty($mybb->input['attachments']))
{
    $attachments array_map("intval"array_keys($mybb->input['attachments']));
    $query $db->query("
        SELECT a.pid, a.aid, t.tid
        FROM  "
.TABLE_PREFIX."attachments a
        LEFT JOIN "
.TABLE_PREFIX."posts p ON (a.pid=p.pid)
        LEFT JOIN "
.TABLE_PREFIX."threads t ON (t.tid=p.tid)
        WHERE aid IN ("
.implode(","$attachments)."){$tflist_queue_attach}
    "
);
    while($attachment $db->fetch_array($query))
    {
        if(!isset($mybb->input['attachments'][$attachment['aid']]))
        {
            continue;
        }
        $action $mybb->input['attachments'][$attachment['aid']];
        if($action == "approve")
        {
            $db->update_query("attachments", array("visible" => 1), "aid='{$attachment['aid']}'");
            if(isset($attachment['tid']))
            {
                update_thread_counters((int)$attachment['tid'], array("attachmentcount" => "+1"));
            }
        }
        else if($action == "delete")
        {
            remove_attachment($attachment['pid'], ''$attachment['aid']);
            if(isset($attachment['tid']))
            {
                update_thread_counters((int)$attachment['tid'], array("attachmentcount" => "-1"));
            }
        }
    }

    $plugins->run_hooks("modcp_do_modqueue_end");

    redirect("modcp.php?action=modqueue&type=attachments"$lang->redirect_attachmentsmoderated);

Zitieren
#4
Hallöchen,

danke, hab's im Testforum eingearbeitet. Ich muss nur mal schauen, was ich eventuell bei den Einstellungen verdreht habe :-( Mein "registrierter" Testuser kann momentan im moderierten Forum Beiträge einstellen, ohne dass sie moderiert werden müssen. Seltsamerweise geht das im produktiven und im Testforum so, obwohl ich nur im produktiven Forum an den Einstellungen war.
PHP Version 7.4.30
MySQL Version 5.7.42
Mybb Version 1.8.37
(Stand 01/2024)

Grüße, André
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
Question Themen freigeben und Beiträge später veröffentlichen KleineHexe 6 1.224 23.12.2021, 17:14
Letzter Beitrag: KleineHexe
  Benutzer im geschlossenen Modus freigeben PascalP 10 2.377 30.07.2019, 09:59
Letzter Beitrag: Schnapsnase
  Bestimmte user im Unterforum freigeben? Licht 1 1.358 05.03.2016, 19:09
Letzter Beitrag: MrBrechreiz
  Theme für Gäste freigeben Amaryllion 9 2.377 23.02.2015, 18:26
Letzter Beitrag: Amaryllion