Test Failed
Push — master ( dbb364...fbcfa1 )
by Francesc
03:38
created

SystemCache::clearCache()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 12
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 8
nc 2
nop 0
dl 0
loc 12
rs 10
c 1
b 0
f 0
1
<?php
2
/**
3
 * Alxarafe. Development of PHP applications in a flash!
4
 * Copyright (C) 2018-2020 Alxarafe <[email protected]>
5
 */
6
7
namespace Alxarafe\Core\Helpers;
8
9
use Alxarafe\Core\Base\CacheCore;
10
use Alxarafe\Core\Providers\FlashMessages;
11
use Alxarafe\Core\Providers\ModuleManager;
12
use Alxarafe\Core\Providers\Translator;
13
14
/**
15
 * Class SystemCache
16
 * @package Alxarafe\Core\Helpers
17
 */
18
class SystemCache
19
{
20
    /**
21
     * The translator manager.
22
     *
23
     * @var Translator
24
     */
25
    private static $translator;
26
27
    /**
28
     * Regenerate date used by pre-processes.
29
     */
30
    public static function regenerateData()
31
    {
32
        self::clearCache();
33
        ModuleManager::getInstance()::executePreprocesses();
34
    }
35
36
    /**
37
     * Clean the cache and yaml files that contain the summary of the table structure.
38
     *
39
     * @return bool
40
     */
41
    public static function clearCache()
42
    {
43
        self::setTranslator();
44
45
        CacheCore::getInstance()->getEngine()->clear();
46
        FlashMessages::getInstance()::setSuccess(self::$translator->trans('cache-cleared-successfully'));
47
        if (Schema::deleteSummaryFiles()) {
48
            FlashMessages::getInstance()::setSuccess(self::$translator->trans('summary-files-deleted-successfully'));
49
            return true;
50
        }
51
        FlashMessages::getInstance()::setError(self::$translator->trans('error-deleting-summary-files'));
52
        return false;
53
    }
54
55
    /**
56
     * Set translator if needed.
57
     */
58
    private static function setTranslator()
59
    {
60
        self::$translator = self::$translator === null ? Translator::getInstance() : self::$translator;
61
    }
62
}
63