Seite 1 von 2

3 Beiträge/Tag für Neuregistrierte Nutzer

Verfasst: 26.08.2012 20:23
von CCord
Hallo!

Ich würde in meinem Forum gerne den Benutzern, die sich innerhalb der letzten 10 Tage registriert haben, nur 3 Beiträge am Tag erlauben. Ist das ohne Modifikation möglich?

Grüße,
C.

Re: 3 Beiträge/Tag für Neuregistrierte Nutzer

Verfasst: 26.08.2012 20:27
von Nuramon
Mit der Gruppe der "Neu registrierten User" kannst du die Beiträge auf Freigabe warten lassen.
Aber von einer Anzahlbeschränkung habe ich noch nichts gehört.

Das klingt für mich eher wie eine Mod-Anfrage oder ein Fall für die Job-Börse.

Re: 3 Beiträge/Tag für Neuregistrierte Nutzer

Verfasst: 26.08.2012 20:33
von CCord
Danke für die schnelle Antwort.
Nuramon hat geschrieben:Mit der Gruppe der "Neu registrierten User" kannst du die Beiträge auf Freigabe warten lassen.
Mir geh es darum, den Moderatoren (und mir selbst) mit dieser Einschränkung so viel Arbeit wie nur möglich zu ersparen - da wäre das kontraproduktiv. :wink:

Re: 3 Beiträge/Tag für Neuregistrierte Nutzer

Verfasst: 26.08.2012 20:46
von Nuramon
Dann verweise ich auf meinen zweiten Teil des Posts.
Das ist denke ich mehr als nur eine Kleinigkeit, somit wohl eher ein Mod^^

Re: 3 Beiträge/Tag für Neuregistrierte Nutzer

Verfasst: 27.08.2012 10:27
von Miriam
  1. Finde in der posting.php

    Code: Alles auswählen

    if (in_array($mode, array('post', 'reply', 'quote', 'edit', 'delete')) && !$forum_id)
    {
        trigger_error('NO_FORUM');
    }
  2. danach setze ein:

    Code: Alles auswählen

    $newly_reg_group_id = '7'; //NEWLY REGISTERED group ID should be 7 
    
    if ( !function_exists('group_memberships') )
    {
        include($phpbb_root_path . 'includes/functions_user.'.$phpEx);
    }
    
    if (in_array($mode, array('post', 'reply')) AND group_memberships($newly_reg_group_id, $user->data['user_id'], true))
    {
        $sql = 'SELECT COUNT(post_id) >= 3 as count FROM ' . POSTS_TABLE . "
                WHERE poster_ID = " . $user->data['user_id'] . " 
                    AND post_time >= " . strtotime('midnight');
        $result = $db->sql_query($sql);
        $row = $db->sql_fetchrow($result);
        $db->sql_freeresult($result);
        if ($row['count']) 
        {
            trigger_error('TOO_MANY_NOOB_POSTS');
        }
    }
    • Hinweis: Passe ggf. die Gruppen-ID an (hier: 7)
  3. finde in der language/de/common.php

    Code: Alles auswählen

        'TOO_MANY_VOTE_OPTIONS'            => 'Du hast versucht, für zu viele Optionen zu stimmen.',
  4. danach füge ein:

    Code: Alles auswählen

        'TOO_MANY_NOOB_POSTS'            => 'Du hast heute die maximale Anzahl an Posts gesendet.',
    • Hinweis: Die Anpassungen mußt Du für alle verwendeten Sprachen machen.
    • Hinweis 2: Wenn der User automatisch aus der Neu-Registrierten-Gruppe herausgenommen wird / wurde, gibt es keine Einschränkungen bzgl. der max. tägl. Postingzahl mehr.

Re: 3 Beiträge/Tag für Neuregistrierte Nutzer

Verfasst: 27.08.2012 15:54
von CCord
Vielen herzlichen Dank! :-)

Re: 3 Beiträge/Tag für Neuregistrierte Nutzer

Verfasst: 14.09.2012 14:57
von CCord
Hallo nochmal!

Nachdem es mit dieser Funktion ein Problem gibt (Benutzer schaffen zeitweise dennoch mehr als 3 Beiträge - kann es sein, dass "midnight" sich auf die Serverzeit bezieht oder irgendwie ungenau definiert ist? Ich glaube bei meinem Forum ist die Grenze 12h Mittags :D ) eine kleine Frage: Macht es einen Unterschied ob "kürzlich registrierte Benutzer" von phpBB als Standardgruppe gesetzt wird, oder nicht? Das habe ich derzeit nämlich auf "Nein".

Grüße,
C.

Re: 3 Beiträge/Tag für Neuregistrierte Nutzer

Verfasst: 14.09.2012 15:07
von Nuramon
CCord hat geschrieben:eine kleine Frage: Macht es einen Unterschied ob "kürzlich registrierte Benutzer" von phpBB als Standardgruppe gesetzt wird, oder nicht? Das habe ich derzeit nämlich auf "Nein".

Grüße,
C.
Nein. Hier wird nur abgefragt, ob der entsprechende User in der Gruppe drinnen ist, die Standardgruppe ist entsprechend egal.

Zu deiner anderen Frage:
Schau doch mal hier [php:strtotime]. Da sollte stehen, welche Zeit er nimmt. Logischerweise die Serverzeit, da PHP auf dem Server läuft.

Re: 3 Beiträge/Tag für Neuregistrierte Nutzer

Verfasst: 14.09.2012 18:37
von Miriam
So kannst Du herausfinden, was Dein Server für Mitternacht hält.

Code: Alles auswählen

<?php
print date("F j, Y, H:i:s", strtotime('midnight'));
?>

Re: 3 Beiträge/Tag für Neuregistrierte Nutzer

Verfasst: 14.09.2012 19:28
von CCord
Danke für die schnellen Antworten.

Ich bin nun ernsthaft verwirrt - die Einstellung ist auf "1" (also $sql = 'SELECT COUNT(post_id) >= 1 as count FROM ' . POSTS_TABLE . " ) und die neuen Benutzer schreiben trotzdem ungeniert weiter...