GroupPermForm   A
last analyzed

Complexity

Total Complexity 8

Size/Duplication

Total Lines 78
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 35
c 1
b 0
f 0
dl 0
loc 78
rs 10
wmc 8

2 Methods

Rating   Name   Duplication   Size   Complexity  
B render() 0 45 7
A __construct() 0 3 1
1
<?php
2
3
namespace XoopsModules\Newbb;
4
5
use XoopsModules\Newbb;
6
7
/**
8
 * Class GroupPermForm
9
 * @package XoopsModules\Newbb
10
 */
11
class GroupPermForm extends \XoopsGroupPermForm
12
{
13
    /**
14
     * @param        $title
15
     * @param        $modid
16
     * @param        $permname
17
     * @param        $permdesc
18
     * @param string $url
19
     */
20
    public function __construct($title, $modid, $permname, $permdesc, $url = '')
21
    {
22
        parent::__construct($title, $modid, $permname, $permdesc, $url);
23
    }
24
25
    /**
26
     * @param        $title
27
     * @param        $modid
28
     * @param        $permname
29
     * @param        $permdesc
30
     * @param string $url
31
     */
32
33
    /*
34
    public function newbb_XoopsGroupPermForm($title, $modid, $permname, $permdesc, $url = "")
35
    {
36
//        $this->XoopsGroupPermForm($title, $modid, $permname, $permdesc, $url);
37
        self::__construct($title, $modid, $permname, $permdesc, $url);
38
    }
39
*/
40
41
    /**
42
     * @return string
43
     */
44
    public function render()
45
    {
46
        // load all child ids for javascript codes
47
        foreach (\array_keys($this->_itemTree) as $item_id) {
48
            $this->_itemTree[$item_id]['allchild'] = [];
49
            $this->_loadAllChildItemIds($item_id, $this->_itemTree[$item_id]['allchild']);
50
        }
51
        /** @var \XoopsGroupPermHandler $grouppermHandler */
52
        $grouppermHandler = \xoops_getHandler('groupperm');
53
        /** @var \XoopsMemberHandler $memberHandler */
54
        $memberHandler = \xoops_getHandler('member');
55
        $glist         = $memberHandler->getGroupList();
56
        foreach (\array_keys($glist) as $i) {
57
            // get selected item id(s) for each group
58
            $selected = $grouppermHandler->getItemIds($this->_permName, $i, $this->_modid);
59
            $ele      = new Newbb\GroupFormCheckBox($glist[$i], 'perms[' . $this->_permName . ']', $i, $selected);
60
            $ele->setOptionTree($this->_itemTree);
61
            $this->addElement($ele);
62
            unset($ele);
63
        }
64
        $tray = new \XoopsFormElementTray('');
65
        $tray->addElement(new \XoopsFormButton('', 'submit', _SUBMIT, 'submit'));
66
        $tray->addElement(new \XoopsFormButton('', 'reset', _CANCEL, 'reset'));
67
        $this->addElement($tray);
68
        $ret      = '<br><strong>' . $this->getTitle() . '</strong><br>' . $this->_permDesc . '<br>';
69
        $ret      .= "<form name='" . $this->getName() . "' id='" . $this->getName() . "' action='" . $this->getAction() . "' method='" . $this->getMethod() . "'" . $this->getExtra() . ">\n<table width='100%' class='outer' cellspacing='1' valign='top'>\n";
70
        $elements = $this->getElements();
71
        $hidden   = '';
72
        foreach (\array_keys($elements) as $i) {
73
            if (!\is_object($elements[$i])) {
74
                $ret .= $elements[$i];
75
            } elseif (!$elements[$i]->isHidden()) {
76
                $ret .= "<tr valign='top' align='left'><td class='head'>" . $elements[$i]->getCaption();
77
                if ('' !== $elements[$i]->getDescription()) {
78
                    $ret .= '<br><br><span style="font-weight: normal;">' . $elements[$i]->getDescription() . '</span>';
79
                }
80
                $ret .= "</td>\n<td class='even' style='text-align:center;'>\n" . $elements[$i]->render() . "\n</td></tr>\n";
0 ignored issues
show
Bug introduced by
Are you sure the usage of $elements[$i]->render() targeting XoopsFormElement::render() seems to always return null.

This check looks for function or method calls that always return null and whose return value is used.

class A
{
    function getObject()
    {
        return null;
    }

}

$a = new A();
if ($a->getObject()) {

The method getObject() can return nothing but null, so it makes no sense to use the return value.

The reason is most likely that a function or method is imcomplete or has been reduced for debug purposes.

Loading history...
81
            } else {
82
                $hidden .= $elements[$i]->render();
0 ignored issues
show
Bug introduced by
Are you sure the usage of $elements[$i]->render() targeting XoopsFormElement::render() seems to always return null.

This check looks for function or method calls that always return null and whose return value is used.

class A
{
    function getObject()
    {
        return null;
    }

}

$a = new A();
if ($a->getObject()) {

The method getObject() can return nothing but null, so it makes no sense to use the return value.

The reason is most likely that a function or method is imcomplete or has been reduced for debug purposes.

Loading history...
83
            }
84
        }
85
        $ret .= "</table>$hidden</form>";
86
        $ret .= $this->renderValidationJS(true);
87
88
        return $ret;
89
    }
90
}
91