PurgeImgixCacheController::indexAction()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 2
Code Lines 0

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 1
eloc 0
c 1
b 0
f 1
nc 1
nop 0
dl 0
loc 2
ccs 0
cts 2
cp 0
crap 2
rs 10
1
<?php
2
namespace Aoe\Imgix\Controller;
3
4
/***************************************************************
5
 *  Copyright notice
6
 *
7
 *  (c) 2018 AOE GmbH <[email protected]>
8
 *
9
 *  All rights reserved
10
 *
11
 *  This script is part of the TYPO3 project. The TYPO3 project is
12
 *  free software; you can redistribute it and/or modify
13
 *  it under the terms of the GNU General Public License as published by
14
 *  the Free Software Foundation; either version 3 of the License, or
15
 *  (at your option) any later version.
16
 *
17
 *  The GNU General Public License can be found at
18
 *  http://www.gnu.org/copyleft/gpl.html.
19
 *
20
 *  This script is distributed in the hope that it will be useful,
21
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
22
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23
 *  GNU General Public License for more details.
24
 *
25
 *  This copyright notice MUST APPEAR in all copies of the script!
26
 ***************************************************************/
27
28
use Aoe\Imgix\Domain\Service\ImagePurgeService;
29
use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
30
use TYPO3\CMS\Lang\LanguageService;
31
32
class PurgeImgixCacheController extends ActionController
33
{
34
    /**
35
     * @var ImagePurgeService
36
     */
37
    private $imagePurgeService;
38
39
    /**
40
     * @param ImagePurgeService $imagePurgeService
41
     */
42
    public function __construct(ImagePurgeService $imagePurgeService)
43
    {
44
        $this->imagePurgeService = $imagePurgeService;
45
        parent::__construct();
46
    }
47
48
    /**
49
     * render form
50
     */
51
    public function indexAction()
52
    {
53
    }
54
55
    /**
56
     * @param string $imageUrl
57
     * @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException
58
     * @throws \TYPO3\CMS\Extbase\Mvc\Exception\UnsupportedRequestTypeException
59
     */
60
    public function purgeImgixCacheAction($imageUrl)
61
    {
62
        // Override flashMessageQueue in errorHandler:
63
        // When image-purge fails, than the errorHandler will automatically send a flashMessage with details about the failure
64
        $this->imagePurgeService->getErrorHandler()->overrideFlashMessageQueue($this->getControllerContext()->getFlashMessageQueue());
65
66
        if ($this->imagePurgeService->purgeImgixCache($imageUrl)->isSuccessful()) {
67
            $messageKey = 'PurgeImgixCacheController.purgeImgixCacheWasSuccessful';
68
            $message = $this->getLanguageService()->sL('LLL:EXT:imgix/Resources/Private/Language/locallang.xlf:'.$messageKey);
69
            $message = str_replace('###IMAGE_URL###', $imageUrl, $message);
70
            $this->addFlashMessage($message);
71
        }
72
73
        $this->redirect('index');
74
    }
75
76
    /**
77
     * Returns LanguageService
78
     *
79
     * @return LanguageService
80
     */
81
    protected function getLanguageService()
82
    {
83
        return $GLOBALS['LANG'];
84
    }
85
}
86