39 lines
873 B
PHP
39 lines
873 B
PHP
<?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();
|
|
}
|
|
}
|
|
|