Seite 1 von 1

Beiträge&Threads pro Tag beschränken / limitieren

Verfasst: 04.06.2008 12:51
von hoerbie
Ist es mit Bordmitteln möglich, die Anzahl der Beiträge pro Tag, die ein Benutzer bzw. ein Mitglied einer Gruppe verfassen kann, zu limitieren?
Gleiches gilt für threaderöffnungen.

Beispiel:
Mitglieder der Gruppe "registrierte Benutzer" sollen pro Tag nicht mehr als 75 Beiträge schreiben und 10 neue threads eröffnen dürfen. Dies gilt nur für Foren, in denen die Beiträge auch gezählt werden.

Ist so etwas möglich oder braucht man dazu einen Mod? Falls Mod, gibt es so etwas schon?

Verfasst: 04.06.2008 13:17
von redbull254
Hallo, erstmal ;-)

ist mit "Board-Mitteln" nicht möglich und eine Mod für solch eine Funktion gibt es nach meinem Wissen-Stand auch nicht.

O.T
Ich muss ehrlich sagen, das ich den Sinn auch nicht verstehe. Jeder Foren-Betreiber freut sich doch darüber, wenn so viele Beiträge wie möglich erstellt werden. :o

Unsinnige Beiträge werden gelöscht.

Verfasst: 04.06.2008 13:26
von hoerbie
Hab ich mir gedacht.
redbull254 hat geschrieben:Ich muss ehrlich sagen, das ich den Sinn auch nicht verstehe.
War mir klar ;)

Momentan ist es ein Bandbreitenproblem ;)

Verfasst: 07.06.2008 02:23
von Mahony
Hallo
Versuche mal das hier.

Für eine Limitierung der Posts innerhalb 24 Stunden pro festgelegtem Forum
In der posting.php suche nach

Code: Alles auswählen

$error = $post_data = array();
$current_time = time();
Füge danach ein

Code: Alles auswählen

//Posts per Day
if ($mode == 'reply' || $mode == 'quote' || $mode == 'post') //Only in these cases
{
  if (!$auth->acl_get('a_') || !$auth->acl_getf_global('m_')) //Do not limit MODS and ADMINS in any way
{ 
    $forum_list = array(1); //Forum id list like array(1, 2, 3, 5, 8)
    $time_span = time() - 24*3600; //24 hours
    $post_limit = 75; //Max messages per time
    if (in_array($forum_id, $forum_list))
    {
       $sql = "SELECT count(post_id) as post_count
         FROM " . POSTS_TABLE . "
         WHERE post_time > $time_span             
             AND forum_id = $forum_id";
       if ($result = $db->sql_query($sql))
       {
          $row = $db->sql_fetchrow($result);
          $post_count = $row['post_count'];
          if ($post_count >= $post_limit)
		  {

		 $message = 'Du kannst maximal  '.$post_limit.'  Beiträge pro Tag in diesem Forum schreiben!';



		trigger_error($message);

         message_die(GENERAL_MESSAGE, $message);

      }
       }
    }
  }
}
//End Posts per Day
In $forum_list = array(1); musst du die Foren IDs eintragen, wo die Limitierung gelten soll (also die 1 mit der Foren ID ersetzen oder bei mehreren Foren mit Komma trennen) .

$post_limit = 75; legt die Anzahl der zugelassenen Posts pro Tag fest (in diesem Fall sind es 75 ).

Admins und Moderatoren sind von der Limitierung ausgeschlossen.


Für eine Limitierung der Threads im gesamten Forum auf 10 innerhalb 24 Stunden für alle Foren

Code: Alles auswählen

//Topics per Day
if ($mode == 'post') //Only in these cases
{
  if (!$auth->acl_get('a_') || !$auth->acl_getf_global('m_')) //Do not limit MODS and ADMINS in any way
{
     $time_span = time() - 24*3600; //24 hours
     $topic_limit = 10; // 10 topics per 24 hours   
     
     $sql = "SELECT count(topic_id) as topic_count
        FROM " . TOPICS_TABLE . "
        WHERE topic_time > $time_span";
     if ( $result = $db->sql_query($sql) )
     {
        $row = $db->sql_fetchrow($result);           
        $topic_count = $row['topic_count'];
        if ($topic_count >= $topic_limit) 
        {

       $message = 'Du kannst maximal  '.$topic_limit.'  Threads pro Tag in diesem Forum eröffnen!';



      trigger_error($message);

         message_die(GENERAL_MESSAGE, $message);

      }
     }         
  }
}
//End Topics per Day
Admins und Moderatoren sind von der Limitierung ausgeschlossen.

P.S. Das ganze ist ungetestet. Feedback erwünscht. :P





Grüße: Mahony

Verfasst: 07.06.2008 13:30
von hoerbie
Danke! Werde ich ausprobieren und dann hier ein feedback geben!

Sorry für das crossposten, aber ich dachte, es wäre bei der Mod-Suche besser aufgehoben.

Verfasst: 08.06.2008 20:52
von ToniK
Klasse!
Eine solche Funktion hab ich fürs phpBB-Plus programmieren lassen.
Da ich an einem Umstieg auf phpBB3 arbeite, kommt mir dieses sehr entgegen :)
redbull254 hat geschrieben: Ich muss ehrlich sagen, das ich den Sinn auch nicht verstehe. Jeder Foren-Betreiber freut sich doch darüber, wenn so viele Beiträge wie möglich erstellt werden. :o
Zum Hintergrund
Ich betreibe ein Forum zum Thema Makrofotografie www.makro-forum.de
Damit die User in den Bildbesprechungsforen nicht zu viele Bilder einstellen, mit der Folge dass die Anzahl der Kommentare pro Bild sinken würde, haben wir die Bilderforen limitiert. Zur Zeit ein neuen Thread pro Kalendertag und limitierten Forum.

@ Mahony
Hab den Code noch nicht getestet (mir liegen noch einige andere Steine im Weg), aber ich würde gerne später darauf zurückkommen.

Danke für die Arbeit.