Beitragsbearbeitungszeit für ein Forum aushebeln

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
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
Benutzeravatar
Maugrim
Mitglied
Beiträge: 461
Registriert: 16.11.2009 20:22

Beitragsbearbeitungszeit für ein Forum aushebeln

Beitrag von Maugrim »

Hallo!

Ich habe in meinem Forum eingestellt, dass die Mitglieder ihre Beiträge nur 3 Stunden bearbeiten dürfen

allerdings habe ich ein Forum, in welchem ich gerne uneingeschränkt zulassen würde, dass die User ihre Beiträge bearbeiten dürfen.


Ich denke am ehesten komme ich da hin, wenn ich in der posting.php folgende Zeile einfach aushebel oder?

Code: Alles auswählen

    if (!($post_data['post_time'] > time() - ($config['edit_time'] * 60) || !$config['edit_time']))
    {
        trigger_error('CANNOT_EDIT_TIME');
    }
Da müsste man vorher noch abfragen, ob man in Forum Nr 14 bearbeiten will oder nicht
reicht das?
Und wie könnte ich das bewerkstelligen? Meine php-Kenntnisse halten sich leider in Grenzen :(

Code: Alles auswählen

    $edit_allowed = ($user->data['is_registered'] && ($auth->acl_get('m_edit', $forum_id) || (
        $user->data['user_id'] == $poster_id &&
        $auth->acl_get('f_edit', $forum_id) &&
        !$row['post_edit_locked'] &&
        ($row['post_time'] > time() - ($config['edit_time'] * 60) || !$config['edit_time'])
    ))); 
Analog müsste dann dieser Teil aus der viewtopic.php auch geändert werden, damit das icon angezeigt wird
Verschoben von phpBB 3.0: Mod Suche/Anfragen nach phpBB 3.0: Mod-Bastelstube am 23.05.2013 10:10 durch Kirk

Benutzeravatar
HabNurNeFrage
Ehemaliges Teammitglied
Beiträge: 1627
Registriert: 17.01.2010 20:22
Wohnort: An der Ostsee
Kontaktdaten:

Re: Beitragsbearbeitungszeit für ein Forum aushebeln

Beitrag von HabNurNeFrage »

Hi,

ich glaube, die beiden Stellen müssten ausreichen.
Kannst Du ja ausprobieren, ob es schon reicht, wenn Du Folgendes machst:

1) Deinen Fund in posting.php ersetzen mit:

Code: Alles auswählen

    // Foren von Editzeitbeschränkung ausschließen (Edit Warnung für bestimmte Foren deaktivieren)
    
    $erlaubte_foren = array(24, 38, 71); // hier in den Klammern alle Foren IDs, die Du von der Zeitbeschränkung ausschließen willst
    
    if (!in_array($forum_id, $erlaubte_foren))
    {
        if (!($post_data['post_time'] > time() - ($config['edit_time'] * 60) || !$config['edit_time']))
        {
            trigger_error('CANNOT_EDIT_TIME');
        }
    }
    // Foren von Editzeitbeschränkung ausschließen (Edit Warnung für bestimmte Foren deaktivieren)      
2) Deinen Fund in viewtopic.php ersetzen mit:

Code: Alles auswählen

    // bestimmte Foren von Editzeitbeschränkung ausschließen
    
    $erlaubte_foren = array(24, 38, 71); // hier in den Klammern alle Foren IDs, die Du von der Edit-Beschränkung ausschließen willst
    
    if (!in_array($forum_id, $erlaubte_foren))
    {
        $edit_allowed = ($user->data['is_registered'] && ($auth->acl_get('m_edit', $forum_id) || (
        $user->data['user_id'] == $poster_id &&
        $auth->acl_get('f_edit', $forum_id) &&
        !$row['post_edit_locked'] &&
        ($row['post_time'] > time() - ($config['edit_time'] * 60) || !$config['edit_time'])
        ))); 
    }
    
    if (in_array($forum_id, $erlaubte_foren))
    {
        $edit_allowed = ($user->data['is_registered'] && ($auth->acl_get('m_edit', $forum_id) || (
        $user->data['user_id'] == $poster_id &&
        $auth->acl_get('f_edit', $forum_id) &&
        !$row['post_edit_locked'] 
        ))); 
    }
    // bestimmte Foren von Editzeitbeschränkung ausschließen      
LG
| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };
Benutzeravatar
Maugrim
Mitglied
Beiträge: 461
Registriert: 16.11.2009 20:22

Re: Beitragsbearbeitungszeit für ein Forum aushebeln

Beitrag von Maugrim »

Habs mal eingebaut :)
Wenns Probleme gibt, meld ich mich ^^

lieben Dank :)
Benutzeravatar
redbull254
Ehemaliges Teammitglied
Beiträge: 10379
Registriert: 05.01.2006 13:01
Kontaktdaten:

Re: Beitragsbearbeitungszeit für ein Forum aushebeln

Beitrag von redbull254 »

Hallo erstmal,

ich benötige auch die Möglichkeit, bestimmten Foren eine abweichende Bearbeitungszeit zuzuordnen. Wie kann ich nun für ein bestimmtes Forum vierundzwanzig (24) Stunden einstellen?
Beste Grüße
Walter
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9308
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: Beitragsbearbeitungszeit für ein Forum aushebeln

Beitrag von gn#36 »

In der Variablen $config['edit_time'] steht die Zeit in Sekunden. Du kannst vor beide oben genannten Stellen ohne dass du obige Änderung benötigst oder beeinflusst einfach folgendes einfügen:

Code: Alles auswählen

if(in_array($forum_id, array(1,2,3)))
{
    $config['edit_time'] = 84600; // 24*60*60 Sekunden
}
1,2,3 sind die IDs der Foren die du auf 24 Stunden setzen willst.

Falls du nur ein Forum ändern willst, dann kannst du auch if($forum_id == 1) statt der obigen if Zeile verwenden. Wenn du eine andere Zeit in Sekunden einsetzt kannst du beliebige Zeiten einsetzen. Wenn du mehrere Foren mit verschiedenen Zeiten ausstatten willst kannst du auch mehrere von diesen Abfragen hintereinander hängen (am besten aber dann die folgenden if durch elseif ersetzen, für die Übersichtlichkeit macht es ab einer gewissen Menge auch Sinn, eine Switch Anweisung zu verwenden statt if/elseif).
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
redbull254
Ehemaliges Teammitglied
Beiträge: 10379
Registriert: 05.01.2006 13:01
Kontaktdaten:

Re: Beitragsbearbeitungszeit für ein Forum aushebeln

Beitrag von redbull254 »

Hallo gn#36,

vielen Dank für die ausführliche Erklärung. :)
Beste Grüße
Walter
Antworten

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