Passed
Pull Request — master (#97)
by Romain
03:28
created

CachesClearedEvent::getExampleProperties()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 0
dl 0
loc 5
rs 10
c 0
b 0
f 0
1
<?php
2
3
/*
4
 * Copyright (C) 2018
5
 * Nathan Boiron <[email protected]>
6
 * Romain Canon <[email protected]>
7
 *
8
 * This file is part of the TYPO3 NotiZ project.
9
 * It is free software; you can redistribute it and/or modify it
10
 * under the terms of the GNU General Public License, either
11
 * version 3 of the License, or any later version.
12
 *
13
 * For the full copyright and license information, see:
14
 * http://www.gnu.org/licenses/gpl-3.0.html
15
 */
16
17
namespace CuyZ\Notiz\Domain\Event\TYPO3;
18
19
use CuyZ\Notiz\Core\Event\AbstractEvent;
20
use CuyZ\Notiz\Core\Event\Support\ProvidesExampleProperties;
21
use TYPO3\CMS\Core\Utility\MathUtility;
22
23
/**
24
 * Event triggered when TYPO3 caches are cleared.
25
 */
26
class CachesClearedEvent extends AbstractEvent implements ProvidesExampleProperties
27
{
28
    /**
29
     * @label Event/TYPO3/CacheCleared:marker.cache_command
30
     * @marker
31
     *
32
     * @var string
33
     */
34
    protected $cacheCommand;
35
36
    /**
37
     * @label Event/TYPO3/CacheCleared:marker.page_uid
38
     * @marker
39
     *
40
     * @var int
41
     */
42
    protected $pageUid;
43
44
    /**
45
     * @param array $parameters
46
     */
47
    public function run(array $parameters)
48
    {
49
        $this->cacheCommand = $parameters['cacheCmd'];
50
51
        if (empty($this->cacheCommand)) {
52
            $this->cancelDispatch();
53
        }
54
55
        if (MathUtility::canBeInterpretedAsInteger($this->cacheCommand)) {
56
            $this->pageUid = (int)$this->cacheCommand;
57
            $this->cacheCommand = 'page';
58
        }
59
    }
60
61
    /**
62
     * @return array
63
     */
64
    public function getExampleProperties()
65
    {
66
        return [
67
            'cacheCommand' => 'page',
68
            'pageUid' => 42,
69
        ];
70
    }
71
}
72