Completed
Push — master ( c622f7...33a06a )
by Richard
09:52 queued 02:32
created

UserconfigsUsermenuPlugin::usermenu()   B

Complexity

Conditions 4
Paths 3

Size

Total Lines 24
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 4
eloc 15
nc 3
nop 0
dl 0
loc 24
rs 8.6845
c 0
b 0
f 0
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       The XOOPS Project http://sourceforge.net/projects/xoops/
14
 * @license         http://www.fsf.org/copyleft/gpl.html GNU public license
15
 * @author          trabis <[email protected]>
16
 */
17
class UserconfigsUsermenuPlugin implements UsermenuPluginInterface
18
{
19
20
    /**
21
     * @return array
22
     */
23
    public function usermenu()
24
    {
25
        $helper = Xoops::getModuleHelper('userconfigs');
26
        $subMenu = array();
27
        // Prevent wasting resources
28
        if ($helper->isCurrentModule()) {
29
            if ($plugins = \Xoops\Module\Plugin::getPlugins('userconfigs')) {
30
                foreach (array_keys($plugins) as $dirName) {
31
                    $mHelper = Xoops::getModuleHelper($dirName);
32
                    $subMenu[] = [
33
                        'name' => $mHelper->getModule()->getVar('name'),
34
                        'link' => 'index.php?op=showmod&mid=' . $mHelper->getModule()->getVar('mid')
35
                    ];
36
                }
37
            }
38
        }
39
40
        $ret[] = [
0 ignored issues
show
Coding Style Comprehensibility introduced by
$ret was never initialized. Although not strictly required by PHP, it is generally a good practice to add $ret = array(); before regardless.

Adding an explicit array definition is generally preferable to implicit array definition as it guarantees a stable state of the code.

Let’s take a look at an example:

foreach ($collection as $item) {
    $myArray['foo'] = $item->getFoo();

    if ($item->hasBar()) {
        $myArray['bar'] = $item->getBar();
    }

    // do something with $myArray
}

As you can see in this example, the array $myArray is initialized the first time when the foreach loop is entered. You can also see that the value of the bar key is only written conditionally; thus, its value might result from a previous iteration.

This might or might not be intended. To make your intention clear, your code more readible and to avoid accidental bugs, we recommend to add an explicit initialization $myArray = array() either outside or inside the foreach loop.

Loading history...
41
            'name' => $helper->getModule()->getVar('name'),
42
            'link' => $helper->url('index.php'),
43
            'subMenu' => $subMenu,
44
        ];
45
        return $ret;
46
    }
47
}
48