Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
7 / 7
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
VisitorsLocalHour
100.00% covered (success)
100.00%
7 / 7
100.00% covered (success)
100.00%
1 / 1
2
100.00% covered (success)
100.00%
1 / 1
 query
100.00% covered (success)
100.00%
7 / 7
100.00% covered (success)
100.00%
1 / 1
2
1<?php
2
3namespace Drupal\visitors\Plugin\views\field;
4
5use Drupal\views\Attribute\ViewsField;
6use Drupal\views\Plugin\views\field\FieldPluginBase;
7
8/**
9 * Field handler to display the local hour of the visit.
10 *
11 * @ingroup views_field_handlers
12 */
13#[ViewsField("visitors_local_hour")]
14final class VisitorsLocalHour extends FieldPluginBase {
15
16  /**
17   * {@inheritdoc}
18   */
19  public function query() {
20    $this->ensureMyTable();
21    // Add the field.
22    $params = $this->options['group_type'] != 'group' ? ['function' => $this->options['group_type']] : [];
23    /** @var \Drupal\views\Plugin\views\query\Sql $query */
24    $query = $this->query;
25    $field = $this->configuration['field'];
26    $alias = 'visitors_local_hour';
27    $this->field_alias = $query->addField(NULL, "FLOOR( (visitors_visit.localtime+($this->tableAlias.$this->realField-visitors_visit.entry_time)) /3600) % 24", $alias, $params);
28
29    $this->addAdditionalFields();
30  }
31
32}