TEILEN
Mittwald: Webhosting. Einfach intelligent.

Eine Standardinstallation von Drupal zählt bei aktiviertem Statistik-Modul wie oft ein Artikel gelesen, sprich aufgerufen, wurde. Allerdings wird dabei jeder Aufruf gezählt. Überarbeitet man beispielsweise als Administrator Beiträge, so verändert man dabei die Anzahl der Hits. Möchte man die Zahlen also „sauber“ halten, so muss man Drupal ein wenig anpassen

Dazu bearbeitet man die Datei statistics.module im Verzeichnis modules/statistics. Hier ersetzt man die Funktion statistics_exit() mit folgendem Code. Anschließend wird der Zähler nicht mehr erhöht, wenn ein Administrator oder der Autor eines Nodes den entsprechenden Artikel aufruft.

function statistics_exit() {
  global $user, $recent_activity;

  drupal_bootstrap(DRUPAL_BOOTSTRAP_PATH);

  if (variable_get('statistics_count_content_views', 0)) {
    // We are counting content views.
    if ((arg(0) == 'node') && is_numeric(arg(1)) && arg(2) == '') {
      // A node has been viewed, so update the node's counters.
      // exclude admin & node author
$nid = arg(1);
$node = node_load($nid);
$node_author = $node->uid;
if (!user_access('administer nodes') && $user->uid!=$node_author) {
          db_query('UPDATE {node_counter} SET daycount = daycount + 1, totalcount = totalcount + 1, timestamp = %d WHERE nid = %d', time(), arg(1));
         // If we affected 0 rows, this is the first time viewing the node.
          if (!db_affected_rows()) {
        // We must create a new row to store counters for the new node.
        db_query('INSERT INTO {node_counter} (nid, daycount, totalcount, timestamp) VALUES (%d, 1, 1, %d)', arg(1), time());
    }
         }
    }
  }
  if ((variable_get('statistics_enable_access_log', 0)) && (module_invoke('throttle', 'status') == 0)) {
    // Log this page access.
    db_query("INSERT INTO {accesslog} (title, path, url, hostname, uid, sid, timer, timestamp) values('%s', '%s', '%s', '%s', %d, '%s', %d, %d)", strip_tags(drupal_get_title()), $_GET['q'], referer_uri(), $_SERVER['REMOTE_ADDR'], $user->uid, session_id(), timer_read('page'), time());
  }
}
Mittwald: Webhosting. Einfach intelligent.

KEINE KOMMENTARE

HINTERLASSEN SIE EINE ANTWORT

Auf Linux und Ich darf anonym kommentiert werden. Die Felder für Name und E-Mail-Adresse dürfen beim Eintragen eures Kommentars leer bleiben. Ich freue mich aber über jeden Kommentar, zu dem der Autor mit seinem Namen steht.