PHPFusion\Forums\Admin\ForumAdminView::display_forum_permissions_form PHP Метод

display_forum_permissions_form() приватный Метод

Permissions Form
    private function display_forum_permissions_form()
    {
        $data = $this->data;
        $data += array('forum_id' => !empty($data['forum_id']) && isnum($data['forum_id']) ? $data['forum_id'] : 0, 'forum_type' => !empty($data['forum_type']) ? $data['forum_type'] : '');
        $_access = getusergroups();
        $access_opts['0'] = self::$locale['531'];
        while (list($key, $option) = each($_access)) {
            $access_opts[$option['0']] = $option['1'];
        }
        $public_access_opts = $access_opts;
        unset($access_opts[0]);
        // remove public away.
        $selection = array(self::$locale['forum_041'], "10 " . self::$locale['forum_points'], "20 " . self::$locale['forum_points'], "30 " . self::$locale['forum_points'], "40 " . self::$locale['forum_points'], "50 " . self::$locale['forum_points'], "60 " . self::$locale['forum_points'], "70 " . self::$locale['forum_points'], "80 " . self::$locale['forum_points'], "90 " . self::$locale['forum_points'], "100 " . self::$locale['forum_points']);
        $options = fusion_get_groups();
        unset($options[0]);
        //  no public to moderate, unset
        unset($options[-101]);
        // no member group to moderate, unset.
        add_breadcrumb(array('link' => '', 'title' => self::$locale['forum_030']));
        opentable(self::$locale['forum_030']);
        echo openform('permissionsForm', 'post', FUSION_REQUEST);
        echo "<span class='strong display-inline-block m-b-20'>" . self::$locale['forum_006'] . " : " . $data['forum_name'] . "</span>\n";
        openside();
        echo "<span class='text-dark strong display-inline-block m-b-20'>" . self::$locale['forum_desc_000'] . "</span><br/>\n";
        echo form_select('forum_access', self::$locale['forum_031'], $data['forum_access'], array('inline' => TRUE, 'options' => $public_access_opts));
        $optionArray = array("inline" => TRUE, "options" => $access_opts);
        echo form_select('forum_post', self::$locale['forum_032'], $data['forum_post'], $optionArray);
        echo form_select('forum_reply', self::$locale['forum_033'], $data['forum_reply'], $optionArray);
        echo form_select('forum_post_ratings', self::$locale['forum_039'], $data['forum_post_ratings'], $optionArray);
        closeside();
        openside();
        echo "<span class='text-dark strong display-inline-block m-b-20'>" . self::$locale['forum_desc_001'] . "</span><br/>\n";
        echo form_select('forum_poll', self::$locale['forum_036'], $data['forum_poll'], $optionArray);
        echo form_select('forum_vote', self::$locale['forum_037'], $data['forum_vote'], $optionArray);
        closeside();
        openside();
        echo "<span class='text-dark strong display-inline-block m-b-20'>" . self::$locale['forum_desc_004'] . "</span><br/>\n";
        echo form_select('forum_answer_threshold', self::$locale['forum_040'], $data['forum_answer_threshold'], array('options' => $selection, 'inline' => TRUE));
        closeside();
        openside();
        echo "<span class='text-dark strong display-inline-block m-b-20'>" . self::$locale['forum_desc_002'] . "</span><br/>\n";
        echo form_select('forum_attach', self::$locale['forum_034'], $data['forum_attach'], array('options' => $access_opts, 'inline' => TRUE));
        echo form_select('forum_attach_download', self::$locale['forum_035'], $data['forum_attach_download'], array('options' => $public_access_opts, 'inline' => TRUE));
        closeside();
        openside();
        echo form_hidden('forum_id', '', $data['forum_id']);
        echo form_select("forum_mods[]", self::$locale['forum_desc_003'], $data['forum_mods'], array("multiple" => TRUE, "width" => "100%", "options" => $options, "delimiter" => ".", "inline" => TRUE));
        /*
        echo "<span class='text-dark strong display-inline-block m-b-20'>".self::$locale['forum_desc_003']."</span><br/>\n";
        $mod_groups = getusergroups();
        $mods1_user_id = array();
        $mods1_user_name = array();
        while (list($key, $mod_group) = each($mod_groups)) {
            if ($mod_group['0'] != USER_LEVEL_PUBLIC && $mod_group['0'] != USER_LEVEL_MEMBER && $mod_group['0'] != USER_LEVEL_SUPER_ADMIN) {
                if (!preg_match("(^{$mod_group['0']}$|^{$mod_group['0']}\.|\.{$mod_group['0']}\.|\.{$mod_group['0']}$)", $data['forum_mods'])) {
                    $mods1_user_id[] = $mod_group['0'];
                    $mods1_user_name[] = $mod_group['1'];
                } else {
                    $mods2_user_id[] = $mod_group['0'];
                    $mods2_user_name[] = $mod_group['1'];
                }
            }
        }
        echo "<div class='row'>\n<div class='col-xs-12 col-sm-6 col-md-6 col-lg-6'>\n";
        echo "<select multiple='multiple' size='10' name='modlist1' id='modlist1' class='form-control textbox m-r-10' onchange=\"addUser('modlist2','modlist1');\">\n";
        for ($i = 0; $i < count($mods1_user_id); $i++) {
            echo "<option value='".$mods1_user_id[$i]."'>".$mods1_user_name[$i]."</option>\n";
        }
        echo "</select>\n";
        echo "</div>\n<div class='col-xs-12 col-sm-6 col-md-6 col-lg-6'>\n";
        echo "<select multiple='multiple' size='10' name='modlist2' id='modlist2' class='form-control textbox' onchange=\"addUser('modlist1','modlist2');\">\n";
        if (isset($mods2_user_id) && is_array($mods2_user_id)) {
            for ($i = 0; $i < count($mods2_user_id); $i++) {
                echo "<option value='".$mods2_user_id[$i]."'>".$mods2_user_name[$i]."</option>\n";
            }
        }
        echo "</select>\n";
        //echo form_text('forum_mods', '', $data['forum_mods']);
        
        echo "</div>\n</div>\n";
        */
        closeside();
        echo form_button('save_permission', self::$locale['forum_042'], self::$locale['forum_042'], array('class' => 'btn-primary'));
        /*
        add_to_jquery(" $('#save').bind('click', function() { saveMods(); }); ");
        echo "<script type='text/javascript'>\n"."function addUser(toGroup,fromGroup) {\n";
        echo "var listLength = document.getElementById(toGroup).length;\n";
        echo "var selItem = document.getElementById(fromGroup).selectedIndex;\n";
        echo "var selText = document.getElementById(fromGroup).options[selItem].text;\n";
        echo "var selValue = document.getElementById(fromGroup).options[selItem].value;\n";
        echo "var i; var newItem = true;\n";
        echo "for (i = 0; i < listLength; i++) {\n";
        echo "if (document.getElementById(toGroup).options[i].text == selText) {\n";
        echo "newItem = false; break;\n}\n}\n"."if (newItem) {\n";
        echo "document.getElementById(toGroup).options[listLength] = new Option(selText, selValue);\n";
        echo "document.getElementById(fromGroup).options[selItem] = null;\n}\n}\n";
        echo "function saveMods() {\n"."var strValues = \"\";\n";
        echo "var boxLength = document.getElementById('modlist2').length;\n";
        echo "var count = 0;\n"."	if (boxLength != 0) {\n"."for (i = 0; i < boxLength; i++) {\n";
        echo "if (count == 0) {\n"."strValues = document.getElementById('modlist2').options[i].value;\n";
        echo "} else {\n"."strValues = strValues + \".\" + document.getElementById('modlist2').options[i].value;\n";
        echo "}\n"."count++;\n}\n}\n";
        echo "if (strValues.length == 0) {\n"."document.forms['inputform'].submit();\n";
        echo "} else {\n"."document.forms['inputform'].forum_mods.value = strValues;\n";
        echo "document.forms['inputform'].submit();\n}\n}\n</script>\n";
        */
        closetable();
    }