Code Coverage  | 
     ||||||||||
Classes and Traits  | 
      Functions and Methods  | 
      Lines  | 
     ||||||||
| Total |         | 
      0 / 0  | 
              | 
      100.00%  | 
      0 / 0  | 
      CRAP |         | 
      0.00%  | 
      0 / 23  | 
     |
| <?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(); | |
| } | |
| } | |