MyBB.de Forum

Normale Version: besucherzähler der threads zurücksetzen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.

nabonid

hallo,

mir ist gerade folgendes aufgefallen das meine besuch in den thread auch mitgezählt werden, obwohl ich admin bin, das möchte ich aber nicht. wie kann man das abschalten dass es von admin nicht mitgezählt werden?

2. wie kann ich den die besucherzähler wieder zurücksetzen?

thx
mfg
könnte man über die showthread.php machen. Dort einfach folgenden Eintrag

PHP-Code:
// Increment the thread view.
    
if($mybb->settings['delayedthreadviews'] == 1)
    {
        
$db->shutdown_query("INSERT INTO ".TABLE_PREFIX."threadviews (tid) VALUES('{$tid}')");
    }
    else
    {
        
$db->shutdown_query("UPDATE ".TABLE_PREFIX."threads SET views=views+1 WHERE tid='{$tid}'");
    }
    
    ++
$thread['views']; 

durch diesen Ersetzen

PHP-Code:
// Increment the thread view. Nur wenn User Admin ist, dann zähle nicht nach oben
    
if($mybb->usergroup['cancp'] == 0) {
    if(
$mybb->settings['delayedthreadviews'] == 1)
    {
        
$db->shutdown_query("INSERT INTO ".TABLE_PREFIX."threadviews (tid) VALUES('{$tid}')");
    }
    else
    {
        
$db->shutdown_query("UPDATE ".TABLE_PREFIX."threads SET views=views+1 WHERE tid='{$tid}'");
    }
    
    ++
$thread['views'];
    } 
Funktioniert bei mir und Admin-Views (bzw. Views von Usern die das Admin-CP betreten können) werden nicht mehr gezählt. Ist natürlich nur eine Idee wie man das lösen könnte

Wie du den Zähler zurücksetzen kannst, kann ich dir nicht sagen. Vermutlich direkt in der DB. Das würde dann aber alle Views betreffen. Da kann man afaik nicht zwischen Admin und normalen Views unterscheiden. Die Einträge zu den Views findest du in der "threads" tabelle. Per SQL sollte man diese schnell löschen können.

In meinem testboard habe ich per phpadmin mal schnell eine Test zum Zurücksetzen gemacht. Dazu habe ich einfach folgenden SQL Befehl ausgeführt

UPDATE `DATENBANKNAME_threads` SET views=1

Damit werden halt alle Thread-Views auf 1 zurückgesetzt.

nabonid

vielen dank für den schnellen und umfangreichen vorschlag.

ich würde aber gerne wissen ob es keine eingebaute funktion in mybb gibt wo man das bequem über die option ändern kann?

genauso die frage zum zurücksetzen des zählers.

ich frage nur da ich mir das nicht so richtig zutraue nicht dass ich was kaputt mache.

EDIT: der zweite befehl funktioniert nicht - da kommt der fehler :
#1046 - No database selected

und ja ich hab "DATENBANKNAME" ersetz durch den echten namen.

mfg

wenn du phpmyadmin verwendest, musst du links auch die entsprechende datenbank auswählen in der mybb deine DB angelegt hat

Bei mir ist dies z.b. _webxxx_6

Dies auswählen und du kommst auf eine neue seite mit einer auflistung deiner enthaltenen Einträg
z.b.
- testboardmybb_threads
- testboardmybb_adminlog

...

Daher erst die DB wählen und dann den befehl ausführen. Bei mir wäre dies im falle meiner testumgebung

UPDATE `testboardmybb_threads` SET views=1

(20.01.2011, 15:01)nabonid schrieb: [ -> ]ich würde aber gerne wissen ob es keine eingebaute funktion in mybb gibt wo man das bequem über die option ändern kann?
Nein, die Option gibt es nicht. Jeder Seitenaufruf wird auch als solcher gezählt - unabhängig vom Status des Benutzers.