MyBB.de Forum

Normale Version: Beiträge für Benutzergruppe nicht zählen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Meinst du in der post.php definiert oder im Plugin?
Das Plugin ist oben gepostet. Ja, dort scheint es definiert zu sein.
Ich meine, ob die Variable an der Codestelle, wo du sie einfügst, überhaupt definiert ist. Wenn du das Ausrufezeichen davor setzt, ist ja genau die Umkehrung gemeint. Wenn die Variable nicht definiert ist, trifft die Bedingung dann zu, denn sie ist ja nicht gleich "Test".
Mir scheint es so, als sei $mybb->thread['prefix'] nicht definiert.
Wie könnte ich das definieren?
Nicht getestet: Öffne die Plugindatei und suche nach
PHP-Code:
$db->update_query("threads", array("prefix"=>$prefix['title']), "tid=".$tid); 
Darunter einfügen:
PHP-Code:
if($mybb->user['usergroup'] == "4" && $prefix['title'] == "Test")
{
    
$db->update_query("users", array("postnum" => "postnum-1"), "uid={$mybb->user['uid']}");

ah ok. Wenn ich aber nun ein neues Thema mit dem Präfix Test erstelle, dann setzt er den Postcounter auf 0.
Das wundert mich nicht. Probiere:
PHP-Code:
if($mybb->user['usergroup'] == "4" && $prefix['title'] == "Test")
{
    
$db->write_query("UPDATE ".TABLE_PREFIX."users SET postnum=postnum-1 WHERE uid={$mybb->user['uid']}");

Danke Dragon. Das funktioniert.
Eine Sache bleibt noch offen. Das mit dem neu zählen im Admin CP.
Allerdings bezweifele ich dass das ähnlich funktioniert.
Habe mal folgendes in die recount_rebuild.php geschrieben:


PHP-Code:
    while($user $db->fetch_array($query))
    {
        
$query2 $db->simple_select("posts""COUNT(pid) AS post_count""uid='{$user['uid']}' AND visible > 0{$fids}");
        
$num_posts $db->fetch_field($query2"post_count");
        
$db->update_query("users", array("postnum" => intval($num_posts)), "uid='{$user['uid']}'");

        
        while(
$prefix['title'] == "News")
        {
                
$db->update_query("users SET postnum=postnum-1 WHERE uid={$mybb->user['uid']}");
        }
        
    } 

Mit der inneren while schleife scheints ganz zu gehen.
Er soll eigentlich solange durchgehen, wie es Threads mit Präfixen gibt.
Versuchs mal damit:
PHP-Code:
$comma "";
    
$gettestthreads $db->simple_select("threads""tid""prefix='Test'");
    while(
$threads $db->fetch_array($gettestthreads))
    {
        
$testthreads .= $comma.$threads['tid'];
        
$comma ",";
    }
    while(
$user $db->fetch_array($query))
    {
        
$query2 $db->simple_select("posts""COUNT(pid) AS post_count""uid='{$user['uid']}' AND tid NOT IN ({$testthreads}) AND visible > 0{$fids}");
        
$num_posts $db->fetch_field($query2"post_count");
        
$db->update_query("users", array("postnum" => intval($num_posts)), "uid='{$user['uid']}'");
    } 
Vielen Dank Michael. Das klappt.
Allerdings werden jetzt weitere Antworten in dem Thema dann abgezogen wenn ich neu zählen lasse.
Das möchte ich vermeiden. Geht das auch? Also es soll immer nur der erste Beitrag nicht gezählt werden.
Seiten: 1 2 3