xoops_module_install_xfguestbook()   B
last analyzed

Complexity

Conditions 8
Paths 8

Size

Total Lines 55
Code Lines 29

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
cc 8
eloc 29
nc 8
nop 1
dl 0
loc 55
rs 8.2114
c 2
b 0
f 0

How to fix   Long Method   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

1
<?php
2
/*
3
 * You may not change or alter any portion of this comment or credits
4
 * of supporting developers from this source code or any supporting source code
5
 * which is considered copyrighted (c) material of the original comment or credit authors.
6
 *
7
 * This program is distributed in the hope that it will be useful,
8
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10
 */
11
12
/**
13
 * @copyright    XOOPS Project https://xoops.org/
14
 * @license      GNU GPL 2 or later (https://www.gnu.org/licenses/gpl-2.0.html)
15
 * @package
16
 * @since
17
 * @author       XOOPS Development Team
18
 */
19
20
use XoopsModules\Xfguestbook;
21
use XoopsModules\Xfguestbook\Helper;
22
use XoopsModules\Xfguestbook\Utility;
23
24
/**
25
 * Prepares system prior to attempting to install module
26
 * @param \XoopsModule $module {@link \XoopsModule}
27
 *
28
 * @return bool true if ready to install, false if not
29
 */
30
function xoops_module_pre_install_xfguestbook(\XoopsModule $module)
31
{
32
    require __DIR__ . '/common.php';
33
    $utility = new Utility();
34
    //check for minimum XOOPS version
35
    $xoopsSuccess = $utility::checkVerXoops($module);
36
37
    // check for minimum PHP version
38
    $phpSuccess = $utility::checkVerPhp($module);
39
40
    if (false !== $xoopsSuccess && false !== $phpSuccess) {
41
        $moduleTables = &$module->getInfo('tables');
42
        foreach ($moduleTables as $table) {
43
            $GLOBALS['xoopsDB']->queryF('DROP TABLE IF EXISTS ' . $GLOBALS['xoopsDB']->prefix($table) . ';');
44
        }
45
    }
46
47
    return $xoopsSuccess && $phpSuccess;
48
}
49
50
/**
51
 * Performs tasks required during installation of the module
52
 * @param \XoopsModule $module {@link \XoopsModule}
53
 *
54
 * @return bool true if installation successful, false if not
55
 */
56
function xoops_module_install_xfguestbook(\XoopsModule $module)
57
{
58
    require_once dirname(__DIR__) . '/preloads/autoloader.php';
59
60
    $moduleDirName = basename(dirname(__DIR__));
61
    /** @var Helper $helper */
62
    $helper = Helper::getInstance();
63
64
    // Load language files
65
    $helper->loadLanguage('admin');
66
    $helper->loadLanguage('modinfo');
67
68
    $configurator = new Xfguestbook\Common\Configurator();
69
    $utility      = new Utility();
70
71
    // default Permission Settings ----------------------
72
    global $xoopsModule;
73
    $moduleId = $module->getVar('mid');
74
    //    $moduleId2    = $helper->getModule()->mid();
75
    /** @var \XoopsGroupPermHandler $grouppermHandler */
76
    $grouppermHandler = xoops_getHandler('groupperm');
77
    // access rights ------------------------------------------
78
    $grouppermHandler->addRight($moduleDirName . '_approve', 1, XOOPS_GROUP_ADMIN, $moduleId);
0 ignored issues
show
Bug introduced by
XOOPS_GROUP_ADMIN of type string is incompatible with the type integer expected by parameter $gperm_groupid of XoopsGroupPermHandler::addRight(). ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

78
    $grouppermHandler->addRight($moduleDirName . '_approve', 1, /** @scrutinizer ignore-type */ XOOPS_GROUP_ADMIN, $moduleId);
Loading history...
79
    $grouppermHandler->addRight($moduleDirName . '_submit', 1, XOOPS_GROUP_ADMIN, $moduleId);
80
    $grouppermHandler->addRight($moduleDirName . '_view', 1, XOOPS_GROUP_ADMIN, $moduleId);
81
    $grouppermHandler->addRight($moduleDirName . '_view', 1, XOOPS_GROUP_USERS, $moduleId);
82
    $grouppermHandler->addRight($moduleDirName . '_view', 1, XOOPS_GROUP_ANONYMOUS, $moduleId);
83
84
    //  ---  CREATE FOLDERS ---------------
85
    if (count($configurator->uploadFolders) > 0) {
86
        //    foreach (array_keys($GLOBALS['uploadFolders']) as $i) {
87
        foreach (array_keys($configurator->uploadFolders) as $i) {
88
            $utility::createFolder($configurator->uploadFolders[$i]);
89
        }
90
    }
91
92
    //  ---  COPY blank.png FILES ---------------
93
    if (count($configurator->copyBlankFiles) > 0) {
94
        $file = dirname(__DIR__) . '/assets/images/blank.png';
95
        foreach (array_keys($configurator->copyBlankFiles) as $i) {
96
            $dest = $configurator->copyBlankFiles[$i] . '/blank.png';
97
            $utility::copyFile($file, $dest);
98
        }
99
    }
100
101
    //  ---  COPY test msg image ---------------
102
    if ($configurator->copyTestFolders && is_array($configurator->copyTestFolders)) {
103
        foreach (array_keys($configurator->copyTestFolders) as $i) {
104
            $src  = $configurator->copyTestFolders[$i][0];
105
            $dest = $configurator->copyTestFolders[$i][1];
106
            $utility::rcopy($src, $dest);
107
        }
108
    }
109
110
    return true;
111
}
112