Completed
Push — master ( b19f6f...ce8116 )
by Axel
05:27
created

AbstractRoutesModuleInstaller   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 50
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 13
dl 0
loc 50
rs 10
c 0
b 0
f 0
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A upgrade() 0 15 1
A install() 0 13 1
A uninstall() 0 9 1
1
<?php
2
3
/**
4
 * Routes.
5
 *
6
 * @copyright Zikula contributors (Zikula)
7
 * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License
8
 * @author Zikula contributors <[email protected]>.
9
 * @see https://ziku.la
10
 * @version Generated by ModuleStudio 1.4.0 (https://modulestudio.de).
11
 */
12
13
declare(strict_types=1);
14
15
namespace Zikula\RoutesModule\Base;
16
17
use Doctrine\Persistence\ManagerRegistry;
18
use Symfony\Component\HttpFoundation\RequestStack;
19
use Symfony\Contracts\Translation\TranslatorInterface;
20
use Zikula\Bundle\CoreBundle\Doctrine\Helper\SchemaHelper;
21
use Zikula\ExtensionsModule\AbstractExtension;
22
use Zikula\ExtensionsModule\Api\ApiInterface\VariableApiInterface;
23
use Zikula\ExtensionsModule\Installer\AbstractExtensionInstaller;
24
use Zikula\RoutesModule\Entity\RouteEntity;
25
26
/**
27
 * Installer base class.
28
 */
29
abstract class AbstractRoutesModuleInstaller extends AbstractExtensionInstaller
30
{
31
    /**
32
     * @var string[]
33
     */
34
    protected $entities = [
35
        RouteEntity::class,
36
    ];
37
    
38
    public function install(): bool
39
    {
40
        // create all tables from according entity definitions
41
        $this->schemaTool->create($this->entities);
42
    
43
        // set up all our vars with initial values
44
        $this->setVar('routeEntriesPerPage', 10);
45
        $this->setVar('showOnlyOwnEntries', false);
46
        $this->setVar('allowModerationSpecificCreatorForRoute', false);
47
        $this->setVar('allowModerationSpecificCreationDateForRoute', false);
48
    
49
        // initialisation successful
50
        return true;
51
    }
52
    
53
    public function upgrade(string $oldVersion): bool
54
    {
55
    /*
56
        // upgrade dependent on old version number
57
        switch ($oldVersion) {
58
            case '1.0.0':
59
                // do something
60
                // ...
61
                // update the database schema
62
                $this->schemaTool->update($this->entities);
63
        }
64
    */
65
    
66
        // update successful
67
        return true;
68
    }
69
    
70
    public function uninstall(): bool
71
    {
72
        $this->schemaTool->drop($this->entities);
73
    
74
        // remove all module vars
75
        $this->delVars();
76
    
77
        // uninstallation successful
78
        return true;
79
    }
80
}
81