/** * Template edit group */ function template_edit_group() { global $context, $settings, $scripturl, $txt; echo ' <div id="admincenter"> <form id="admin_form_wrapper" name="groupForm" action="', $scripturl, '?action=admin;area=membergroups;sa=edit;group=', $context['group']['id'], '" method="post" accept-charset="UTF-8" > <h3 class="category_header">', $txt['membergroups_edit_group'], ' - ', $context['group']['name'], '</h3> <div class="content"> <dl class="settings"> <dt> <label for="group_name_input"><strong>', $txt['membergroups_edit_name'], ':</strong></label> </dt> <dd> <input type="text" name="group_name" id="group_name_input" value="', $context['group']['editable_name'], '" size="30" class="input_text" /> </dd>'; if ($context['group']['id'] != 3 && $context['group']['id'] != 4) { echo ' <dt id="group_desc_text"> <label for="group_desc_input"><strong>', $txt['membergroups_edit_desc'], ':</strong></label> </dt> <dd> <textarea name="group_desc" id="group_desc_input" rows="4" cols="40">', $context['group']['description'], '</textarea> </dd>'; } // Group type... if ($context['group']['allow_post_group']) { echo ' <dt> <label for="group_type"><strong>', $txt['membergroups_edit_group_type'], ':</strong></label> </dt> <dd> <fieldset id="group_type"> <legend>', $txt['membergroups_edit_select_group_type'], '</legend> <label for="group_type_private"><input type="radio" name="group_type" id="group_type_private" value="0" ', !$context['group']['is_post_group'] && $context['group']['type'] == 0 ? 'checked="checked"' : '', ' class="input_radio" onclick="swapPostGroup(0);" />', $txt['membergroups_group_type_private'], '</label><br />'; if ($context['group']['allow_protected']) { echo ' <label for="group_type_protected"><input type="radio" name="group_type" id="group_type_protected" value="1" ', $context['group']['type'] == 1 ? 'checked="checked"' : '', ' class="input_radio" onclick="swapPostGroup(0);" />', $txt['membergroups_group_type_protected'], '</label><br />'; } echo ' <label for="group_type_request"><input type="radio" name="group_type" id="group_type_request" value="2" ', $context['group']['type'] == 2 ? 'checked="checked"' : '', ' class="input_radio" onclick="swapPostGroup(0);" />', $txt['membergroups_group_type_request'], '</label><br /> <label for="group_type_free"><input type="radio" name="group_type" id="group_type_free" value="3" ', $context['group']['type'] == 3 ? 'checked="checked"' : '', ' class="input_radio" onclick="swapPostGroup(0);" />', $txt['membergroups_group_type_free'], '</label><br /> <label for="group_type_post"><input type="radio" name="group_type" id="group_type_post" value="-1" ', $context['group']['is_post_group'] ? 'checked="checked"' : '', ' class="input_radio" onclick="swapPostGroup(1);" />', $txt['membergroups_group_type_post'], '</label><br /> </fieldset> </dd>'; } if ($context['group']['id'] != 3 && $context['group']['id'] != 4) { echo ' <dt id="group_moderators_text"> <label for="group_moderators"><strong>', $txt['moderators'], ':</strong></label> </dt> <dd> <input type="text" name="group_moderators" id="group_moderators" value="', $context['group']['moderator_list'], '" size="30" class="input_text" /> <div id="moderator_container"></div> </dd> <dt id="group_hidden_text"> <label for="group_hidden_input"><strong>', $txt['membergroups_edit_hidden'], ':</strong></label> </dt> <dd> <select name="group_hidden" id="group_hidden_input" onchange="if (this.value == 2 && !confirm(\'', $txt['membergroups_edit_hidden_warning'], '\')) this.value = 0;"> <option value="0" ', $context['group']['hidden'] ? '' : 'selected="selected"', '>', $txt['membergroups_edit_hidden_no'], '</option> <option value="1" ', $context['group']['hidden'] == 1 ? 'selected="selected"' : '', '>', $txt['membergroups_edit_hidden_boardindex'], '</option> <option value="2" ', $context['group']['hidden'] == 2 ? 'selected="selected"' : '', '>', $txt['membergroups_edit_hidden_all'], '</option> </select> </dd>'; } // Can they inherit permissions? if ($context['group']['id'] > 1 && $context['group']['id'] != 3) { echo ' <dt id="group_inherit_text"> <label for="group_inherit_input"><strong>', $txt['membergroups_edit_inherit_permissions'], '</strong></label>:<br /> <span class="smalltext">', $txt['membergroups_edit_inherit_permissions_desc'], '</span> </dt> <dd> <select name="group_inherit" id="group_inherit_input"> <option value="-2">', $txt['membergroups_edit_inherit_permissions_no'], '</option> <option value="-1" ', $context['group']['inherited_from'] == -1 ? 'selected="selected"' : '', '>', $txt['membergroups_edit_inherit_permissions_from'], ': ', $txt['membergroups_guests'], '</option> <option value="0" ', $context['group']['inherited_from'] == 0 ? 'selected="selected"' : '', '>', $txt['membergroups_edit_inherit_permissions_from'], ': ', $txt['membergroups_members'], '</option>'; // For all the inheritable groups show an option. foreach ($context['inheritable_groups'] as $id => $group) { echo ' <option value="', $id, '" ', $context['group']['inherited_from'] == $id ? 'selected="selected"' : '', '>', $txt['membergroups_edit_inherit_permissions_from'], ': ', $group, '</option>'; } echo ' </select> <input type="hidden" name="old_inherit" value="', $context['group']['inherited_from'], '" /> </dd>'; } if ($context['group']['allow_post_group']) { echo ' <dt id="min_posts_text"> <label for="min_posts_input"><strong>', $txt['membergroups_min_posts'], ':</strong></label> </dt> <dd> <input type="text" name="min_posts" id="min_posts_input"', $context['group']['is_post_group'] ? ' value="' . $context['group']['min_posts'] . '"' : '', ' size="6" class="input_text" /> </dd>'; } // Hide the online color for our local moderators group. if ($context['group']['id'] != 3) { echo ' <dt> <label for="online_color_input"><strong>', $txt['membergroups_online_color'], ':</strong></label> </dt> <dd> <input type="text" name="online_color" id="online_color_input" value="', $context['group']['color'], '" size="20" class="input_text" /> </dd>'; } echo ' <dt> <label for="icon_count_input"><strong>', $txt['membergroups_icon_count'], ':</strong></label> </dt> <dd> <input type="number" min="0" max="10" step="1" name="icon_count" id="icon_count_input" value="', $context['group']['icon_count'], '" size="4" onkeyup="if (parseInt(this.value, 10) > 10) this.value = 10;" onchange="this.value = Math.floor(this.value);this.form.icon_image.onchange();" class="input_text" /> </dd> <dt> <label for="icon_image_input"><strong>', $txt['membergroups_icon_image'], ':</strong></label> <br /> <span class="smalltext">', $txt['membergroups_icon_image_note'], '</span> </dt> <dd> <span class="floatleft"> ', $txt['membergroups_images_url'], ' <input type="text" name="icon_image" id="icon_image_input" value="', $context['group']['icon_image'], '" onchange="if (this.value && this.form.icon_count.value == 0) this.form.icon_count.value = 1;else if (!this.value) this.form.icon_count.value = 0; document.getElementById(\'msg_icon_0\').src = elk_images_url + \'/group_icons/\' + (this.value && this.form.icon_count.value > 0 ? this.value : \'blank.png\')" size="20" class="input_text" /> </span> <span id="messageicon_0" class="groupicon"> <img id="msg_icon_0" src="', $settings['images_url'], '/group_icons/', $context['group']['icon_image'] == '' ? 'blank.png' : $context['group']['icon_image'], '" alt="*" /> </span> </dd> <dt> <label for="max_messages_input"><strong>', $txt['membergroups_max_messages'], ':</strong></label><br /> <span class="smalltext">', $txt['membergroups_max_messages_note'], '</span> </dt> <dd> <input type="text" name="max_messages" id="max_messages_input" value="', $context['group']['id'] == 1 ? 0 : $context['group']['max_messages'], '" size="6"', $context['group']['id'] == 1 ? ' disabled="disabled"' : '', ' class="input_text" /> </dd>'; if (!empty($context['categories'])) { echo ' <dt> <strong>', $txt['membergroups_new_board'], ':</strong>', $context['group']['is_post_group'] ? '<br /> <span class="smalltext">' . $txt['membergroups_new_board_post_groups'] . '</span>' : '', ' </dt> <dd>'; template_add_edit_group_boards_list('groupForm', true); echo ' </dd>'; } echo ' </dl> <div class="submitbutton"> <input type="submit" name="save" value="', $txt['membergroups_edit_save'], '" class="button_submit" />', $context['group']['allow_delete'] ? ' <input type="submit" name="delete" value="' . $txt['membergroups_delete'] . '" onclick="return confirm(\'' . $txt['membergroups_confirm_delete'] . '\');" class="button_submit" />' : '', ' <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" /> <input type="hidden" name="', $context['admin-mmg_token_var'], '" value="', $context['admin-mmg_token'], '" /> </div> </div> </form> </div>'; addInlineJavascript(' aIconLists[aIconLists.length] = new IconList({ sBackReference: "aIconLists[" + aIconLists.length + "]", sIconIdPrefix: "msg_icon_", bShowModify: false, sAction: "groupicons", sLabelIconList: ' . JavaScriptEscape($txt['membergroups_icons']) . ', sLabelIconBox: "icon_image_input", sBoxBackground: "transparent", sBoxBackgroundHover: "#fff", iBoxBorderWidthHover: 1, sBoxBorderColorHover: "#adadad", sContainerBackground: "#fff", sContainerBorder: "1px solid #adadad", sItemBorder: "1px solid #fff", sItemBorderHover: "1px dotted gray", sItemBackground: "transparent", sItemBackgroundHover: "#e0e0f0" });', true); if ($context['group']['id'] != 3 && $context['group']['id'] != 4) { $js = ' var oModeratorSuggest = new smc_AutoSuggest({ sSelf: \'oModeratorSuggest\', sSessionId: elk_session_id, sSessionVar: elk_session_var, sSuggestId: \'group_moderators\', sControlId: \'group_moderators\', sSearchType: \'member\', bItemList: true, sPostName: \'moderator_list\', sURLMask: \'action=profile;u=%item_id%\', sTextDeleteItem: ' . JavaScriptEscape($txt['autosuggest_delete_item']) . ', sItemListContainerId: \'moderator_container\', aListItems: ['; foreach ($context['group']['moderators'] as $id_member => $member_name) { $js .= ' { sItemId: ' . JavaScriptEscape($id_member) . ', sItemName: ' . JavaScriptEscape($member_name) . ' }' . $id_member == $context['group']['last_moderator_id'] ? '' : ','; } $js .= ' ] });'; addInlineJavascript($js, true); } // If post based is selected, disable moderation selection, visability, group description and enable post count, if ($context['group']['allow_post_group']) { addInlineJavascript('swapPostGroup(' . ($context['group']['is_post_group'] ? 'true' : 'false') . ');', true); } }
function template_edit_group() { global $context, $settings, $options, $scripturl, $txt; echo ' <div id="admincenter"> <form action="', $scripturl, '?action=admin;area=membergroups;sa=edit;group=', $context['group']['id'], '" method="post" accept-charset="', $context['character_set'], '" name="groupForm" id="groupForm"> <div class="cat_bar"> <h3 class="catbg">', $txt['membergroups_edit_group'], ' - ', $context['group']['name'], ' </h3> </div> <div class="windowbg2"> <div class="content"> <dl class="settings"> <dt> <label for="group_name_input"><strong>', $txt['membergroups_edit_name'], ':</strong></label> </dt> <dd> <input type="text" name="group_name" id="group_name_input" value="', $context['group']['editable_name'], '" size="30" class="input_text" /> </dd>'; if ($context['group']['id'] != 3 && $context['group']['id'] != 4) { echo ' <dt id="group_desc_text"> <label for="group_desc_input"><strong>', $txt['membergroups_edit_desc'], ':</strong></label> </dt> <dd> <textarea name="group_desc" id="group_desc_input" rows="4" cols="40">', $context['group']['description'], '</textarea> </dd>'; } // Group type... if ($context['group']['allow_post_group']) { echo ' <dt> <label for="group_type"><strong>', $txt['membergroups_edit_group_type'], ':</strong></label> </dt> <dd> <fieldset id="group_type"> <legend>', $txt['membergroups_edit_select_group_type'], '</legend> <label for="group_type_private"><input type="radio" name="group_type" id="group_type_private" value="0" ', !$context['group']['is_post_group'] && $context['group']['type'] == 0 ? 'checked="checked"' : '', ' class="input_radio" onclick="swapPostGroup(0);" />', $txt['membergroups_group_type_private'], '</label><br />'; if ($context['group']['allow_protected']) { echo ' <label for="group_type_protected"><input type="radio" name="group_type" id="group_type_protected" value="1" ', $context['group']['type'] == 1 ? 'checked="checked"' : '', ' class="input_radio" onclick="swapPostGroup(0);" />', $txt['membergroups_group_type_protected'], '</label><br />'; } echo ' <label for="group_type_request"><input type="radio" name="group_type" id="group_type_request" value="2" ', $context['group']['type'] == 2 ? 'checked="checked"' : '', ' class="input_radio" onclick="swapPostGroup(0);" />', $txt['membergroups_group_type_request'], '</label><br /> <label for="group_type_free"><input type="radio" name="group_type" id="group_type_free" value="3" ', $context['group']['type'] == 3 ? 'checked="checked"' : '', ' class="input_radio" onclick="swapPostGroup(0);" />', $txt['membergroups_group_type_free'], '</label><br /> <label for="group_type_post"><input type="radio" name="group_type" id="group_type_post" value="-1" ', $context['group']['is_post_group'] ? 'checked="checked"' : '', ' class="input_radio" onclick="swapPostGroup(1);" />', $txt['membergroups_group_type_post'], '</label><br /> </fieldset> </dd>'; } if ($context['group']['id'] != 3 && $context['group']['id'] != 4) { echo ' <dt id="group_moderators_text"> <label for="group_moderators"><strong>', $txt['moderators'], ':</strong></label> </dt> <dd> <input type="text" name="group_moderators" id="group_moderators" value="', $context['group']['moderator_list'], '" size="30" class="input_text" /> <div id="moderator_container"></div> </dd> <dt id="group_hidden_text"> <label for="group_hidden_input"><strong>', $txt['membergroups_edit_hidden'], ':</strong></label> </dt> <dd> <select name="group_hidden" id="group_hidden_input" onchange="if (this.value == 2 && !confirm(\'', $txt['membergroups_edit_hidden_warning'], '\')) this.value = 0;"> <option value="0" ', $context['group']['hidden'] ? '' : 'selected="selected"', '>', $txt['membergroups_edit_hidden_no'], '</option> <option value="1" ', $context['group']['hidden'] == 1 ? 'selected="selected"' : '', '>', $txt['membergroups_edit_hidden_boardindex'], '</option> <option value="2" ', $context['group']['hidden'] == 2 ? 'selected="selected"' : '', '>', $txt['membergroups_edit_hidden_all'], '</option> </select> </dd>'; } // Can they inherit permissions? if ($context['group']['id'] > 1 && $context['group']['id'] != 3) { echo ' <dt id="group_inherit_text"> <label for="group_inherit_input"><strong>', $txt['membergroups_edit_inherit_permissions'], '</strong></label>:<br /> <span class="smalltext">', $txt['membergroups_edit_inherit_permissions_desc'], '</span> </dt> <dd> <select name="group_inherit" id="group_inherit_input"> <option value="-2">', $txt['membergroups_edit_inherit_permissions_no'], '</option> <option value="-1" ', $context['group']['inherited_from'] == -1 ? 'selected="selected"' : '', '>', $txt['membergroups_edit_inherit_permissions_from'], ': ', $txt['membergroups_guests'], '</option> <option value="0" ', $context['group']['inherited_from'] == 0 ? 'selected="selected"' : '', '>', $txt['membergroups_edit_inherit_permissions_from'], ': ', $txt['membergroups_members'], '</option>'; // For all the inheritable groups show an option. foreach ($context['inheritable_groups'] as $id => $group) { echo ' <option value="', $id, '" ', $context['group']['inherited_from'] == $id ? 'selected="selected"' : '', '>', $txt['membergroups_edit_inherit_permissions_from'], ': ', $group, '</option>'; } echo ' </select> <input type="hidden" name="old_inherit" value="', $context['group']['inherited_from'], '" /> </dd>'; } if ($context['group']['allow_post_group']) { echo ' <dt id="min_posts_text"> <label for="min_posts_input"><strong>', $txt['membergroups_min_posts'], ':</strong></label> </dt> <dd> <input type="text" name="min_posts" id="min_posts_input"', $context['group']['is_post_group'] ? ' value="' . $context['group']['min_posts'] . '"' : '', ' size="6" class="input_text" /> </dd>'; } echo ' <dt> <label for="online_color_input"><strong>', $txt['membergroups_online_color'], ':</strong></label> </dt> <dd> <input type="text" name="online_color" id="online_color_input" value="', $context['group']['color'], '" size="20" class="input_text" /> </dd> <dt> <label for="icon_count_input"><strong>', $txt['membergroups_icon_count'], ':</strong></label> </dt> <dd> <input type="text" name="icon_count" id="icon_count_input" value="', $context['group']['icon_count'], '" size="4" onkeyup="if (this.value.length > 2) this.value = 99;" onkeydown="this.onkeyup();" onchange="if (this.value != 0) this.form.icon_image.onchange();" class="input_text" /> </dd> <dt> <label for="icon_image_input"><strong>', $txt['membergroups_icon_image'], ':</strong></label><br /> <span class="smalltext">', $txt['membergroups_icon_image_note'], '</span> </dt> <dd> ', $txt['membergroups_images_url'], ' <input type="text" name="icon_image" id="icon_image_input" value="', $context['group']['icon_image'], '" onchange="if (this.value && this.form.icon_count.value == 0) this.form.icon_count.value = 1; else if (!this.value) this.form.icon_count.value = 0; document.getElementById(\'star_preview\').src = smf_images_url + \'/\' + (this.value && this.form.icon_count.value > 0 ? this.value.replace(/\\$language/g, \'', $context['user']['language'], '\') : \'blank.png\');" size="20" class="input_text" /> <img id="star_preview" src="', $settings['images_url'], '/', $context['group']['icon_image'] == '' ? 'blank.png' : $context['group']['icon_image'], '" alt="*" /> </dd> <dt> <label for="max_messages_input"><strong>', $txt['membergroups_max_messages'], ':</strong></label><br /> <span class="smalltext">', $txt['membergroups_max_messages_note'], '</span> </dt> <dd> <input type="text" name="max_messages" id="max_messages_input" value="', $context['group']['id'] == 1 ? 0 : $context['group']['max_messages'], '" size="6"', $context['group']['id'] == 1 ? ' disabled="disabled"' : '', ' class="input_text" /> </dd>'; if (!empty($context['categories'])) { echo ' <dt> <strong>', $txt['membergroups_new_board'], ':</strong>', $context['group']['is_post_group'] ? '<br /> <span class="smalltext">' . $txt['membergroups_new_board_post_groups'] . '</span>' : '', ' </dt> <dd>'; template_add_edit_group_boards_list(); echo ' </dd>'; } echo ' </dl> <input type="submit" name="save" value="', $txt['membergroups_edit_save'], '" class="button_submit" />', $context['group']['allow_delete'] ? ' <input type="submit" name="delete" value="' . $txt['membergroups_delete'] . '" onclick="return confirm(\'' . $txt['membergroups_confirm_delete'] . '\');" class="button_submit" />' : '', ' </div> </div> <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" /> <input type="hidden" name="', $context['admin-mmg_token_var'], '" value="', $context['admin-mmg_token'], '" /> </form> </div> <script type="text/javascript" src="', $settings['default_theme_url'], '/scripts/suggest.js?alp21"></script> <script type="text/javascript"><!-- // --><![CDATA[ var oModeratorSuggest = new smc_AutoSuggest({ sSelf: \'oModeratorSuggest\', sSessionId: smf_session_id, sSessionVar: smf_session_var, sSuggestId: \'group_moderators\', sControlId: \'group_moderators\', sSearchType: \'member\', bItemList: true, sPostName: \'moderator_list\', sURLMask: \'action=profile;u=%item_id%\', sTextDeleteItem: \'', $txt['autosuggest_delete_item'], '\', sItemListContainerId: \'moderator_container\', aListItems: ['; foreach ($context['group']['moderators'] as $id_member => $member_name) { echo ' { sItemId: ', JavaScriptEscape($id_member), ', sItemName: ', JavaScriptEscape($member_name), ' }', $id_member == $context['group']['last_moderator_id'] ? '' : ','; } echo ' ] }); // ]]></script>'; if ($context['group']['allow_post_group']) { echo ' <script type="text/javascript"><!-- // --><![CDATA[ function swapPostGroup(isChecked) { var min_posts_text = document.getElementById(\'min_posts_text\'); var group_desc_text = document.getElementById(\'group_desc_text\'); var group_hidden_text = document.getElementById(\'group_hidden_text\'); var group_moderators_text = document.getElementById(\'group_moderators_text\'); document.forms.groupForm.min_posts.disabled = !isChecked; min_posts_text.style.color = isChecked ? "" : "#888888"; document.forms.groupForm.group_desc_input.disabled = isChecked; group_desc_text.style.color = !isChecked ? "" : "#888888"; document.forms.groupForm.group_hidden_input.disabled = isChecked; group_hidden_text.style.color = !isChecked ? "" : "#888888"; document.forms.groupForm.group_moderators.disabled = isChecked; group_moderators_text.style.color = !isChecked ? "" : "#888888"; } swapPostGroup(', $context['group']['is_post_group'] ? 'true' : 'false', '); // ]]></script>'; } }