Installation Problem: New topics need approval

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Karahgo
Mitglied
Beiträge: 5
Registriert: 17.02.2015 21:36

Installation Problem: New topics need approval

Beitrag von Karahgo »

Hallo leute,

ich bin gerade dabei mein Forum anzupassen. Ich möchte gern das Themen erst durch den Admin/Mod freigegeben werden sollen, jedoch nicht die Beiträge.

Ich habe folgende MOD gefunden die ich gern installieren möchte.

https://www.phpbb.com/customise/db/mod/ ... _approval/

Leider gibt es bei der installation Probleme. Ich kann folgende Code Zeile in includes/functions_posting.php nicht finden!

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Find
Tip: This may be a partial find and not the whole line.
Code:Select All
$post_approval = 0; <--- nicht auffindebar
}
Add after
Tip: Add these lines on a new blank line after the preceding line(s) to find.
Code:Select All
//Begin: New topics need approval
if ($mode == 'post' && !$auth->acl_get('f_topic_approve', $data['forum_id']) && !$auth->acl_get('m_approve', $data['forum_id']))
{
$post_approval = 0;
}
//Begin: New topics need approval
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Deshalb kann ich die installation nicht abschließen. Ich vermute mal das es damit zusammen hängt, dass es sich um eine alte MOD handelt und sich mittlerweile der Quellcode geändert hat.

Könnte mir jemand weiterhelfen diese MOD oder vergleichbare zu installieren/finden?

Danke im Voraus!
Benutzeravatar
AYYILDIZLAR
Ehemaliges Teammitglied
Beiträge: 4148
Registriert: 09.11.2010 18:08
Kontaktdaten:

Re: Installation Problem: New topics need approval

Beitrag von AYYILDIZLAR »

Hallo,

Da hast du recht, die MOD ist ziemlich alt. Ich konnte aber trotzdem die besagte Stelle bei mir in der includes/funtions_posting.php finden. Wir haben ein stark "gemoddetes" Forum und dort befindet sich das von dir gesuchte $post_approval = 0; in der Zeile 1753. Wie gesagt, die includes/funtions_posting.php ist bei uns stark verändert worden, da halt viele MODs installiert sind, daher wird die Zeile für dich nicht mehr so ganz stimmen :wink:. Aber suche bitte erneut danach mal mit Notepad++(einem guten Editor) oder poste den Helfenden die besagte Datei ins Pastebin.

Grüße
DasEtwasAndereMotorradforum.de
Deutsche Übersetzung der Tapatalk Extension | Deutsche Übersetzung der Tapatalk MOD
Bitte keine PN wegen Support, werde diese zukünftig ignorieren und gleich löschen.
Karahgo
Mitglied
Beiträge: 5
Registriert: 17.02.2015 21:36

Re: Installation Problem: New topics need approval

Beitrag von Karahgo »

Hi Ayyildizlar,

vielen Dank für deine schnelle Antwort. Ich habe die Datei bei Pastebin hochgeladen:

http://pastebin.com/z9HkBTQj

Gesucht habe auch mit Notepad++, es lässt sich einfach nicht finden!

Mir würde es auch reichen wenn man den Code so umschreibt das statt den Beiträgen nur die Themen freigegeben werden sollen.
Benutzeravatar
AYYILDIZLAR
Ehemaliges Teammitglied
Beiträge: 4148
Registriert: 09.11.2010 18:08
Kontaktdaten:

Re: Installation Problem: New topics need approval

Beitrag von AYYILDIZLAR »

Welche phpBB Version benutzt ihr bei euch im Board?

Das ist aber nicht der Pastebin den ich verlinkt habe :wink:
AYYILDIZLAR hat geschrieben:poste den Helfenden die besagte Datei ins Pastebin
DasEtwasAndereMotorradforum.de
Deutsche Übersetzung der Tapatalk Extension | Deutsche Übersetzung der Tapatalk MOD
Bitte keine PN wegen Support, werde diese zukünftig ignorieren und gleich löschen.
Karahgo
Mitglied
Beiträge: 5
Registriert: 17.02.2015 21:36

Re: Installation Problem: New topics need approval

Beitrag von Karahgo »

Ups, ich war noch nicht einloggt als ich auf deinen Link geklickt hatte. Deshalb hat er mir nichts angezeigt wo ich hochladen hätte können.

https://www.phpbb.de/support/pastebin.p ... iew&s=1489 Hier noch mal richtig.

Wir benutzen die 3.1.2 Version. In Deutsch SIE.
Pfiffy
Mitglied
Beiträge: 702
Registriert: 03.09.2008 20:45
Wohnort: München
Kontaktdaten:

Re: Installation Problem: New topics need approval

Beitrag von Pfiffy »

Die MOD ist für die 3.0 Reihe von phpBB, du nutzt die 3.1 Reihe. Da funktionieren keine MODs, du musst nach EXTensions suchen!

Grücce
Pfiffy
Kein Support per PN! Ich gebe hier nur Hilfe zur Selbsthilfe. Wer ein Forum betreibt sollte sich intensiv mit allem auseinandersetzen, was dazu gehört! HTML, CSS, PHP, SQL und sogar Englisch kann man lernen!
http://www.cctreff.de
http://www.cabrio-ausfahrten.de
Benutzeravatar
AYYILDIZLAR
Ehemaliges Teammitglied
Beiträge: 4148
Registriert: 09.11.2010 18:08
Kontaktdaten:

Re: Installation Problem: New topics need approval

Beitrag von AYYILDIZLAR »

Karahgo hat geschrieben:Wir benutzen die 3.1.2 Version. In Deutsch SIE.
Das ist auch der Grund, warum dein Code etwas anders "gestrickt" ist. Und der Rest wurde dir ja jetzt bereits netterweise von Pfiffy beantwortet.

Grüße
DasEtwasAndereMotorradforum.de
Deutsche Übersetzung der Tapatalk Extension | Deutsche Übersetzung der Tapatalk MOD
Bitte keine PN wegen Support, werde diese zukünftig ignorieren und gleich löschen.
Karahgo
Mitglied
Beiträge: 5
Registriert: 17.02.2015 21:36

Re: Installation Problem: New topics need approval

Beitrag von Karahgo »

Vielen Dank für den Hinweis! Ich werde mal mein Glück mit Extension versuchen. Wenn ich keins finde, versuche ich die funktion "Beträge freigeben" nur auf Themen bezogen umzucoden.

Wenn ich es geschafft habe, melde ich mich wieder.
Benutzeravatar
AYYILDIZLAR
Ehemaliges Teammitglied
Beiträge: 4148
Registriert: 09.11.2010 18:08
Kontaktdaten:

Re: Installation Problem: New topics need approval

Beitrag von AYYILDIZLAR »

Wir warten gespannt auf deine Antwort :wink:
DasEtwasAndereMotorradforum.de
Deutsche Übersetzung der Tapatalk Extension | Deutsche Übersetzung der Tapatalk MOD
Bitte keine PN wegen Support, werde diese zukünftig ignorieren und gleich löschen.
Karahgo
Mitglied
Beiträge: 5
Registriert: 17.02.2015 21:36

Re: Installation Problem: New topics need approval

Beitrag von Karahgo »

Nachdem ich nichts gefunden habe was mich weitergebracht hat, musste ich selber ran um mir was zurecht zu bauen! Es funktioniert soweit auch, es ist jedoch in der BETA Phase da es noch nicht ausgiebig getestet ist. Ich weis es ist umständlich gelöst, aber es erfüllt seinen Zweck.

Nun zur meiner Modifikation (Erstellt und getestet für Version 3.1.2.):

1. Man muss im Forum einstellen das Beiträge freigegeben werden müssen (WICHTIG).
2. Folgenden Code (siehe unten) in der Datei root/posting.php (bei mir ab Zeile 1409) oder zwischen (siehe unten) einfügen.
3. Ggf. Sprachdateien anpassen.

posting.php

Code: Alles auswählen

            // Handle delete mode...
            if ($request->is_set_post('delete') || $request->is_set_post('delete_permanent'))
            {
                $delete_reason = $request->variable('delete_reason', '', true);
                phpbb_handle_post_delete($forum_id, $topic_id, $post_id, $post_data, !$request->is_set_post('delete_permanent'), $delete_reason);
                return;
            }
            
// !!! ANFANG - MEINE MODIFIKATION !!!

//Fehler anzeigen
//error_reporting(-1);

//Fische alle Datensätze aus der DB wo Beiträge noch nicht freigegeben sind.
$sql_anfrage = 'SELECT * FROM phpbb_topics WHERE topic_posts_unapproved = 1';
$ergebnis = $db->sql_query($sql_anfrage);

//Lasse alle Daten von Posts (i.d.R. nur der aktuelle) die noch nicht freigegeben sind ausgeben.
while($spalte = $db->sql_fetchrow($ergebnis)) {

$topic_posts_approved = $spalte['topic_posts_approved'];

    //Prüfe ob ein Thema mehr als 1 freigegeben Betrag hat. (Themen zählen für phpBB auch als Beträge)
    if ($topic_posts_approved >= 1) {

    //Dient der Zuordnung des richtigen Beitrags
    $topic_id = $spalte['topic_id'];

    //Erhöhe Anworten Zähler + 1, da sonst nicht korrekt mitgezählt wird!
    $topic_posts_approved = $topic_posts_approved + 1; 

    $topic_last_poster_id = $spalte['topic_last_poster_id'];

    //Schalte das Thema frei, wo bereits mehr als 1 Beitrag existiert und erhöhe den Anworten counter + 1 (siehe Zeile darüber)
    $sql = 'UPDATE phpbb_topics SET topic_posts_unapproved = 0, topic_posts_approved = ' . $topic_posts_approved . ' WHERE topic_id = ' . $topic_id . '';
    $db->sql_query($sql);

    //User Posts manuell erhöhen.
    $sql = 'UPDATE phpbb_users SET user_posts = user_posts + 1 WHERE user_id = ' . $topic_last_poster_id . '';
    $db->sql_query($sql);

    //Forum Posts nicht freigegeben - 1, freigegeben + 1. (Zählt sonst nicht mit und man rutscht ins Minus)
    $sql = 'UPDATE phpbb_forums SET forum_posts_unapproved = forum_posts_unapproved     - 1, forum_posts_approved = forum_posts_approved + 1 WHERE forum_last_poster_id = ' . $topic_last_poster_id . '';
    $db->sql_query($sql);

    //Setze Antworten auf Themen auf Sichtbar.
    $sql = 'UPDATE phpbb_posts SET post_visibility = 1 ' . "WHERE post_subject LIKE 'Re:%'";
    $db->sql_query($sql);

    //Sorgt dafür das man keine Benachrichtigung sieht bei freigegeben Beiträgen.
    //$sql = 'UPDATE phpbb_notifications SET notification_read = 1 ' . "WHERE notification_read = 0 AND notification_data LIKE '%Re:%'";
    //$db->sql_query($sql);
    
    //Löscht die Nachricht aus Benachrichtigungen komplett raus.
    $sql = 'DELETE FROM phpbb_notifications WHERE notification_type_id = 12'; 
    $db->sql_query($sql);

    // Springe zum letzten Post.
    $redirect_url_mod = $redirect_url . '&p=' . $spalte['topic_last_post_id'] . '#p' . $spalte['topic_last_post_id']; 
    redirect($redirect_url_mod);    
    }
}
// !!! ENDE - MEINE MODIFIKATION !!!

            // Check the permissions for post approval.
            // Moderators must go through post approval like ordinary users.
            if ((!$auth->acl_get('f_noapprove', $data['forum_id']) && empty($data['force_approved_state'])) || (isset($data['force_approved_state']) && !$data['force_approved_state']))
            { 
Antworten

Zurück zu „[3.0.x] Mod Support“