You are here

statistics.php in Zircon Profile 8

Same filename and directory in other branches
  1. 8.0 core/modules/statistics/statistics.php

Handles counts of node views via AJAX with minimal bootstrap.

File

core/modules/statistics/statistics.php
View source
<?php

/**
 * @file
 * Handles counts of node views via AJAX with minimal bootstrap.
 */
use Drupal\Core\DrupalKernel;
use Symfony\Component\HttpFoundation\Request;
chdir('../../..');
$autoloader = (require_once 'autoload.php');
$kernel = DrupalKernel::createFromRequest(Request::createFromGlobals(), $autoloader, 'prod');
$kernel
  ->boot();
$views = $kernel
  ->getContainer()
  ->get('config.factory')
  ->get('statistics.settings')
  ->get('count_content_views');
if ($views) {
  $nid = filter_input(INPUT_POST, 'nid', FILTER_VALIDATE_INT);
  if ($nid) {
    \Drupal::database()
      ->merge('node_counter')
      ->key('nid', $nid)
      ->fields(array(
      'daycount' => 1,
      'totalcount' => 1,
      'timestamp' => REQUEST_TIME,
    ))
      ->expression('daycount', 'daycount + 1')
      ->expression('totalcount', 'totalcount + 1')
      ->execute();
  }
}