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();
}