Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
100.00% |
7 / 7 |
|
100.00% |
1 / 1 |
CRAP | |
100.00% |
1 / 1 |
VisitorsLocalHour | |
100.00% |
7 / 7 |
|
100.00% |
1 / 1 |
2 | |
100.00% |
1 / 1 |
query | |
100.00% |
7 / 7 |
|
100.00% |
1 / 1 |
2 |
1 | <?php |
2 | |
3 | namespace Drupal\visitors\Plugin\views\field; |
4 | |
5 | use Drupal\views\Attribute\ViewsField; |
6 | use 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")] |
14 | final 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 | } |