annotate forum/Themes/default/ManageMembergroups.template.php @ 76:e3e11437ecea website

Add forum code
author Chris Cannam
date Sun, 07 Jul 2013 11:25:48 +0200
parents
children
rev   line source
Chris@76 1 <?php
Chris@76 2 /**
Chris@76 3 * Simple Machines Forum (SMF)
Chris@76 4 *
Chris@76 5 * @package SMF
Chris@76 6 * @author Simple Machines
Chris@76 7 * @copyright 2011 Simple Machines
Chris@76 8 * @license http://www.simplemachines.org/about/smf/license.php BSD
Chris@76 9 *
Chris@76 10 * @version 2.0
Chris@76 11 */
Chris@76 12
Chris@76 13 function template_main()
Chris@76 14 {
Chris@76 15 global $context, $settings, $options, $scripturl, $txt;
Chris@76 16
Chris@76 17 template_show_list('regular_membergroups_list');
Chris@76 18 echo '<br /><br />';
Chris@76 19 template_show_list('post_count_membergroups_list');
Chris@76 20
Chris@76 21 }
Chris@76 22
Chris@76 23 function template_new_group()
Chris@76 24 {
Chris@76 25 global $context, $settings, $options, $scripturl, $txt, $modSettings;
Chris@76 26
Chris@76 27 echo '
Chris@76 28 <div id="admincenter">
Chris@76 29 <form action="', $scripturl, '?action=admin;area=membergroups;sa=add" method="post" accept-charset="', $context['character_set'], '">
Chris@76 30 <div class="cat_bar">
Chris@76 31 <h3 class="catbg">', $txt['membergroups_new_group'], '</h3>
Chris@76 32 </div>
Chris@76 33 <div class="windowbg">
Chris@76 34 <span class="topslice"><span></span></span>
Chris@76 35 <div class="content">
Chris@76 36 <dl class="settings">
Chris@76 37 <dt>
Chris@76 38 <label for="group_name_input"><strong>', $txt['membergroups_group_name'], ':</strong></label>
Chris@76 39 </dt>
Chris@76 40 <dd>
Chris@76 41 <input type="text" name="group_name" id="group_name_input" size="30" class="input_text" />
Chris@76 42 </dd>';
Chris@76 43 if ($context['undefined_group'])
Chris@76 44 {
Chris@76 45 echo '
Chris@76 46 <dt>
Chris@76 47 <label for="group_type"><strong>', $txt['membergroups_edit_group_type'], '</strong>:</label>
Chris@76 48 </dt>
Chris@76 49 <dd>
Chris@76 50 <fieldset id="group_type">
Chris@76 51 <legend>', $txt['membergroups_edit_select_group_type'], '</legend>
Chris@76 52 <label for="group_type_private"><input type="radio" name="group_type" id="group_type_private" value="0" checked="checked" class="input_radio" onclick="swapPostGroup(0);" />', $txt['membergroups_group_type_private'], '</label><br />';
Chris@76 53
Chris@76 54 if ($context['allow_protected'])
Chris@76 55 echo '
Chris@76 56 <label for="group_type_protected"><input type="radio" name="group_type" id="group_type_protected" value="1" class="input_radio" onclick="swapPostGroup(0);" />', $txt['membergroups_group_type_protected'], '</label><br />';
Chris@76 57
Chris@76 58 echo '
Chris@76 59 <label for="group_type_request"><input type="radio" name="group_type" id="group_type_request" value="2" class="input_radio" onclick="swapPostGroup(0);" />', $txt['membergroups_group_type_request'], '</label><br />
Chris@76 60 <label for="group_type_free"><input type="radio" name="group_type" id="group_type_free" value="3" class="input_radio" onclick="swapPostGroup(0);" />', $txt['membergroups_group_type_free'], '</label><br />
Chris@76 61 <label for="group_type_post"><input type="radio" name="group_type" id="group_type_post" value="-1" class="input_radio" onclick="swapPostGroup(1);" />', $txt['membergroups_group_type_post'], '</label><br />
Chris@76 62 </fieldset>
Chris@76 63 </dd>';
Chris@76 64 }
Chris@76 65
Chris@76 66 if ($context['post_group'] || $context['undefined_group'])
Chris@76 67 echo '
Chris@76 68 <dt id="min_posts_text">
Chris@76 69 <strong>', $txt['membergroups_min_posts'], ':</strong>
Chris@76 70 </dt>
Chris@76 71 <dd>
Chris@76 72 <input type="text" name="min_posts" id="min_posts_input" size="5" class="input_text" />
Chris@76 73 </dd>';
Chris@76 74 if (!$context['post_group'] || !empty($modSettings['permission_enable_postgroups']))
Chris@76 75 {
Chris@76 76 echo '
Chris@76 77 <dt>
Chris@76 78 <label for="permission_base"><strong>', $txt['membergroups_permissions'], ':</strong></label><br />
Chris@76 79 <span class="smalltext">', $txt['membergroups_can_edit_later'], '</span>
Chris@76 80 </dt>
Chris@76 81 <dd>
Chris@76 82 <fieldset id="permission_base">
Chris@76 83 <legend>', $txt['membergroups_select_permission_type'], '</legend>
Chris@76 84 <input type="radio" name="perm_type" id="perm_type_inherit" value="inherit" checked="checked" class="input_radio" />
Chris@76 85 <label for="perm_type_inherit">', $txt['membergroups_new_as_inherit'], ':</label>
Chris@76 86 <select name="inheritperm" id="inheritperm_select" onclick="document.getElementById(\'perm_type_inherit\').checked = true;">
Chris@76 87 <option value="-1">', $txt['membergroups_guests'], '</option>
Chris@76 88 <option value="0" selected="selected">', $txt['membergroups_members'], '</option>';
Chris@76 89 foreach ($context['groups'] as $group)
Chris@76 90 echo '
Chris@76 91 <option value="', $group['id'], '">', $group['name'], '</option>';
Chris@76 92 echo '
Chris@76 93 </select><br />
Chris@76 94
Chris@76 95 <input type="radio" name="perm_type" id="perm_type_copy" value="copy" class="input_radio" />
Chris@76 96 <label for="perm_type_copy">', $txt['membergroups_new_as_copy'], ':</label>
Chris@76 97 <select name="copyperm" id="copyperm_select" onclick="document.getElementById(\'perm_type_copy\').checked = true;">
Chris@76 98 <option value="-1">', $txt['membergroups_guests'], '</option>
Chris@76 99 <option value="0" selected="selected">', $txt['membergroups_members'], '</option>';
Chris@76 100 foreach ($context['groups'] as $group)
Chris@76 101 echo '
Chris@76 102 <option value="', $group['id'], '">', $group['name'], '</option>';
Chris@76 103 echo '
Chris@76 104 </select><br />
Chris@76 105
Chris@76 106 <input type="radio" name="perm_type" id="perm_type_predefined" value="predefined" class="input_radio" />
Chris@76 107 <label for="perm_type_predefined">', $txt['membergroups_new_as_type'], ':</label>
Chris@76 108 <select name="level" id="level_select" onclick="document.getElementById(\'perm_type_predefined\').checked = true;">
Chris@76 109 <option value="restrict">', $txt['permitgroups_restrict'], '</option>
Chris@76 110 <option value="standard" selected="selected">', $txt['permitgroups_standard'], '</option>
Chris@76 111 <option value="moderator">', $txt['permitgroups_moderator'], '</option>
Chris@76 112 <option value="maintenance">', $txt['permitgroups_maintenance'], '</option>
Chris@76 113 </select>
Chris@76 114 </fieldset>
Chris@76 115 </dd>';
Chris@76 116 }
Chris@76 117 echo '
Chris@76 118 <dt>
Chris@76 119 <strong>', $txt['membergroups_new_board'], ':</strong>', $context['post_group'] ? '<br />
Chris@76 120 <span class="smalltext" style="font-weight: normal">' . $txt['membergroups_new_board_post_groups'] . '</span>' : '', '
Chris@76 121 </dt>
Chris@76 122 <dd>
Chris@76 123 <fieldset id="visible_boards">
Chris@76 124 <legend>', $txt['membergroups_new_board_desc'], '</legend>';
Chris@76 125 foreach ($context['boards'] as $board)
Chris@76 126 echo '
Chris@76 127 <div style="margin-left: ', $board['child_level'], 'em;"><input type="checkbox" name="boardaccess[]" id="boardaccess_', $board['id'], '" value="', $board['id'], '" ', $board['selected'] ? ' checked="checked" disabled="disabled"' : '', ' class="input_check" /> <label for="boardaccess_', $board['id'], '">', $board['name'], '</label></div>';
Chris@76 128
Chris@76 129 echo '
Chris@76 130 <br />
Chris@76 131 <input type="checkbox" id="checkall_check" class="input_check" onclick="invertAll(this, this.form, \'boardaccess\');" /> <label for="checkall_check"><em>', $txt['check_all'], '</em></label>
Chris@76 132 </fieldset>
Chris@76 133 </dd>
Chris@76 134 </dl>
Chris@76 135 <div class="righttext">
Chris@76 136 <input type="submit" value="', $txt['membergroups_add_group'], '" class="button_submit" />
Chris@76 137 </div>
Chris@76 138 </div>
Chris@76 139 <span class="botslice"><span></span></span>
Chris@76 140 </div>';
Chris@76 141 if ($context['undefined_group'])
Chris@76 142 {
Chris@76 143 echo '
Chris@76 144 <script type="text/javascript"><!-- // --><![CDATA[
Chris@76 145 function swapPostGroup(isChecked)
Chris@76 146 {
Chris@76 147 var min_posts_text = document.getElementById(\'min_posts_text\');
Chris@76 148 document.getElementById(\'min_posts_input\').disabled = !isChecked;
Chris@76 149 min_posts_text.style.color = isChecked ? "" : "#888888";
Chris@76 150 }
Chris@76 151 swapPostGroup(', $context['post_group'] ? 'true' : 'false', ');
Chris@76 152 // ]]></script>';
Chris@76 153 }
Chris@76 154 echo '
Chris@76 155 <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />
Chris@76 156 </form>
Chris@76 157 </div>
Chris@76 158 <br class="clear" />';
Chris@76 159 }
Chris@76 160
Chris@76 161 function template_edit_group()
Chris@76 162 {
Chris@76 163 global $context, $settings, $options, $scripturl, $txt;
Chris@76 164
Chris@76 165 echo '
Chris@76 166 <div id="admincenter">
Chris@76 167 <form action="', $scripturl, '?action=admin;area=membergroups;sa=edit;group=', $context['group']['id'], '" method="post" accept-charset="', $context['character_set'], '" name="groupForm" id="groupForm">
Chris@76 168 <div class="cat_bar">
Chris@76 169 <h3 class="catbg">', $txt['membergroups_edit_group'], ' - ', $context['group']['name'], '
Chris@76 170 </h3>
Chris@76 171 </div>
Chris@76 172 <div class="windowbg2">
Chris@76 173 <span class="topslice"><span></span></span>
Chris@76 174 <div class="content">
Chris@76 175 <dl class="settings">
Chris@76 176 <dt>
Chris@76 177 <label for="group_name_input"><strong>', $txt['membergroups_edit_name'], ':</strong></label>
Chris@76 178 </dt>
Chris@76 179 <dd>
Chris@76 180 <input type="text" name="group_name" id="group_name_input" value="', $context['group']['editable_name'], '" size="30" class="input_text" />
Chris@76 181 </dd>';
Chris@76 182
Chris@76 183 if ($context['group']['id'] != 3 && $context['group']['id'] != 4)
Chris@76 184 echo '
Chris@76 185
Chris@76 186 <dt id="group_desc_text">
Chris@76 187 <label for="group_desc_input"><strong>', $txt['membergroups_edit_desc'], ':</strong></label>
Chris@76 188 </dt>
Chris@76 189 <dd>
Chris@76 190 <textarea name="group_desc" id="group_desc_input" rows="4" cols="40">', $context['group']['description'], '</textarea>
Chris@76 191 </dd>';
Chris@76 192
Chris@76 193 // Group type...
Chris@76 194 if ($context['group']['allow_post_group'])
Chris@76 195 {
Chris@76 196 echo '
Chris@76 197 <dt>
Chris@76 198 <label for="group_type"><strong>', $txt['membergroups_edit_group_type'], ':</strong></label>
Chris@76 199 </dt>
Chris@76 200 <dd>
Chris@76 201 <fieldset id="group_type">
Chris@76 202 <legend>', $txt['membergroups_edit_select_group_type'], '</legend>
Chris@76 203 <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 />';
Chris@76 204
Chris@76 205 if ($context['group']['allow_protected'])
Chris@76 206 echo '
Chris@76 207 <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 />';
Chris@76 208
Chris@76 209 echo '
Chris@76 210 <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 />
Chris@76 211 <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 />
Chris@76 212 <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 />
Chris@76 213 </fieldset>
Chris@76 214 </dd>';
Chris@76 215 }
Chris@76 216
Chris@76 217 if ($context['group']['id'] != 3 && $context['group']['id'] != 4)
Chris@76 218 echo '
Chris@76 219 <dt id="group_moderators_text">
Chris@76 220 <label for="group_moderators"><strong>', $txt['moderators'], ':</strong></label>
Chris@76 221 </dt>
Chris@76 222 <dd>
Chris@76 223 <input type="text" name="group_moderators" id="group_moderators" value="', $context['group']['moderator_list'], '" size="30" class="input_text" />
Chris@76 224 <div id="moderator_container"></div>
Chris@76 225 </dd>
Chris@76 226 <dt id="group_hidden_text">
Chris@76 227 <label for="group_hidden_input"><strong>', $txt['membergroups_edit_hidden'], ':</strong></label>
Chris@76 228 </dt>
Chris@76 229 <dd>
Chris@76 230 <select name="group_hidden" id="group_hidden_input" onchange="if (this.value == 2 &amp;&amp; !confirm(\'', $txt['membergroups_edit_hidden_warning'], '\')) this.value = 0;">
Chris@76 231 <option value="0" ', $context['group']['hidden'] ? '' : 'selected="selected"', '>', $txt['membergroups_edit_hidden_no'], '</option>
Chris@76 232 <option value="1" ', $context['group']['hidden'] == 1 ? 'selected="selected"' : '', '>', $txt['membergroups_edit_hidden_boardindex'], '</option>
Chris@76 233 <option value="2" ', $context['group']['hidden'] == 2 ? 'selected="selected"' : '', '>', $txt['membergroups_edit_hidden_all'], '</option>
Chris@76 234 </select>
Chris@76 235 </dd>';
Chris@76 236
Chris@76 237 // Can they inherit permissions?
Chris@76 238 if ($context['group']['id'] > 1 && $context['group']['id'] != 3)
Chris@76 239 {
Chris@76 240 echo '
Chris@76 241 <dt id="group_inherit_text">
Chris@76 242 <label for="group_inherit_input"><strong>', $txt['membergroups_edit_inherit_permissions'], '</strong></label>:<br />
Chris@76 243 <span class="smalltext">', $txt['membergroups_edit_inherit_permissions_desc'], '</span>
Chris@76 244 </dt>
Chris@76 245 <dd>
Chris@76 246 <select name="group_inherit" id="group_inherit_input">
Chris@76 247 <option value="-2">', $txt['membergroups_edit_inherit_permissions_no'], '</option>
Chris@76 248 <option value="-1" ', $context['group']['inherited_from'] == -1 ? 'selected="selected"' : '', '>', $txt['membergroups_edit_inherit_permissions_from'], ': ', $txt['membergroups_guests'], '</option>
Chris@76 249 <option value="0" ', $context['group']['inherited_from'] == 0 ? 'selected="selected"' : '', '>', $txt['membergroups_edit_inherit_permissions_from'], ': ', $txt['membergroups_members'], '</option>';
Chris@76 250
Chris@76 251 // For all the inheritable groups show an option.
Chris@76 252 foreach ($context['inheritable_groups'] as $id => $group)
Chris@76 253 echo '
Chris@76 254 <option value="', $id, '" ', $context['group']['inherited_from'] == $id ? 'selected="selected"' : '', '>', $txt['membergroups_edit_inherit_permissions_from'], ': ', $group, '</option>';
Chris@76 255
Chris@76 256 echo '
Chris@76 257 </select>
Chris@76 258 <input type="hidden" name="old_inherit" value="', $context['group']['inherited_from'], '" />
Chris@76 259 </dd>';
Chris@76 260 }
Chris@76 261
Chris@76 262 if ($context['group']['allow_post_group'])
Chris@76 263 echo '
Chris@76 264
Chris@76 265 <dt id="min_posts_text">
Chris@76 266 <label for="min_posts_input"><strong>', $txt['membergroups_min_posts'], ':</strong></label>
Chris@76 267 </dt>
Chris@76 268 <dd>
Chris@76 269 <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" />
Chris@76 270 </dd>';
Chris@76 271 echo '
Chris@76 272 <dt>
Chris@76 273 <label for="online_color_input"><strong>', $txt['membergroups_online_color'], ':</strong></label>
Chris@76 274 </dt>
Chris@76 275 <dd>
Chris@76 276 <input type="text" name="online_color" id="online_color_input" value="', $context['group']['color'], '" size="20" class="input_text" />
Chris@76 277 </dd>
Chris@76 278 <dt>
Chris@76 279 <label for="star_count_input"><strong>', $txt['membergroups_star_count'], ':</strong></label>
Chris@76 280 </dt>
Chris@76 281 <dd>
Chris@76 282 <input type="text" name="star_count" id="star_count_input" value="', $context['group']['star_count'], '" size="4" onkeyup="if (this.value.length > 2) this.value = 99;" onkeydown="this.onkeyup();" onchange="if (this.value != 0) this.form.star_image.onchange();" class="input_text" />
Chris@76 283 </dd>
Chris@76 284 <dt>
Chris@76 285 <label for="star_image_input"><strong>', $txt['membergroups_star_image'], ':</strong></label><br />
Chris@76 286 <span class="smalltext">', $txt['membergroups_star_image_note'], '</span>
Chris@76 287 </dt>
Chris@76 288 <dd>
Chris@76 289 ', $txt['membergroups_images_url'], '
Chris@76 290 <input type="text" name="star_image" id="star_image_input" value="', $context['group']['star_image'], '" onchange="if (this.value &amp;&amp; this.form.star_count.value == 0) this.form.star_count.value = 1; else if (!this.value) this.form.star_count.value = 0; document.getElementById(\'star_preview\').src = smf_images_url + \'/\' + (this.value &amp;&amp; this.form.star_count.value > 0 ? this.value.replace(/\$language/g, \'', $context['user']['language'], '\') : \'blank.gif\');" size="20" class="input_text" />
Chris@76 291 <img id="star_preview" src="', $settings['images_url'], '/', $context['group']['star_image'] == '' ? 'blank.gif' : $context['group']['star_image'], '" alt="*" />
Chris@76 292 </dd>
Chris@76 293 <dt>
Chris@76 294 <label for="max_messages_input"><strong>', $txt['membergroups_max_messages'], ':</strong></label><br />
Chris@76 295 <span class="smalltext">', $txt['membergroups_max_messages_note'], '</span>
Chris@76 296 </dt>
Chris@76 297 <dd>
Chris@76 298 <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" />
Chris@76 299 </dd>';
Chris@76 300 if (!empty($context['boards']))
Chris@76 301 {
Chris@76 302 echo '
Chris@76 303 <dt>
Chris@76 304 <strong>', $txt['membergroups_new_board'], ':</strong>', $context['group']['is_post_group'] ? '<br />
Chris@76 305 <span class="smalltext">' . $txt['membergroups_new_board_post_groups'] . '</span>' : '', '
Chris@76 306 </dt>
Chris@76 307 <dd>
Chris@76 308 <fieldset id="visible_boards" style="width: 95%;">
Chris@76 309 <legend><a href="javascript:void(0);" onclick="document.getElementById(\'visible_boards\').style.display = \'none\';document.getElementById(\'visible_boards_link\').style.display = \'block\'; return false;">', $txt['membergroups_new_board_desc'], '</a></legend>';
Chris@76 310 foreach ($context['boards'] as $board)
Chris@76 311 echo '
Chris@76 312 <div style="margin-left: ', $board['child_level'], 'em;"><input type="checkbox" name="boardaccess[]" id="boardaccess_', $board['id'], '" value="', $board['id'], '" ', $board['selected'] ? ' checked="checked"' : '', ' class="input_check" /> <label for="boardaccess_', $board['id'], '">', $board['name'], '</label></div>';
Chris@76 313
Chris@76 314 echo '
Chris@76 315 <br />
Chris@76 316 <input type="checkbox" id="checkall_check" class="input_check" onclick="invertAll(this, this.form, \'boardaccess\');" /> <label for="checkall_check"><em>', $txt['check_all'], '</em></label>
Chris@76 317 </fieldset>
Chris@76 318 <a href="javascript:void(0);" onclick="document.getElementById(\'visible_boards\').style.display = \'block\'; document.getElementById(\'visible_boards_link\').style.display = \'none\'; return false;" id="visible_boards_link" style="display: none;">[ ', $txt['membergroups_select_visible_boards'], ' ]</a>
Chris@76 319 <script type="text/javascript"><!-- // --><![CDATA[
Chris@76 320 document.getElementById("visible_boards_link").style.display = "";
Chris@76 321 document.getElementById("visible_boards").style.display = "none";
Chris@76 322 // ]]></script>
Chris@76 323 </dd>';
Chris@76 324 }
Chris@76 325 echo '
Chris@76 326 </dl>
Chris@76 327 <div class="righttext">
Chris@76 328 <input type="submit" name="submit" value="', $txt['membergroups_edit_save'], '" class="button_submit" />', $context['group']['allow_delete'] ? '
Chris@76 329 <input type="submit" name="delete" value="' . $txt['membergroups_delete'] . '" onclick="return confirm(\'' . $txt['membergroups_confirm_delete'] . '\');" class="button_submit" />' : '', '
Chris@76 330 </div>
Chris@76 331 </div>
Chris@76 332 <span class="botslice"><span></span></span>
Chris@76 333 </div>
Chris@76 334 <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />
Chris@76 335 </form>
Chris@76 336 </div>
Chris@76 337 <br class="clear" />
Chris@76 338 <script type="text/javascript" src="', $settings['default_theme_url'], '/scripts/suggest.js?fin20"></script>
Chris@76 339 <script type="text/javascript"><!-- // --><![CDATA[
Chris@76 340 var oModeratorSuggest = new smc_AutoSuggest({
Chris@76 341 sSelf: \'oModeratorSuggest\',
Chris@76 342 sSessionId: \'', $context['session_id'], '\',
Chris@76 343 sSessionVar: \'', $context['session_var'], '\',
Chris@76 344 sSuggestId: \'group_moderators\',
Chris@76 345 sControlId: \'group_moderators\',
Chris@76 346 sSearchType: \'member\',
Chris@76 347 bItemList: true,
Chris@76 348 sPostName: \'moderator_list\',
Chris@76 349 sURLMask: \'action=profile;u=%item_id%\',
Chris@76 350 sTextDeleteItem: \'', $txt['autosuggest_delete_item'], '\',
Chris@76 351 sItemListContainerId: \'moderator_container\',
Chris@76 352 aListItems: [';
Chris@76 353
Chris@76 354 foreach ($context['group']['moderators'] as $id_member => $member_name)
Chris@76 355 echo '
Chris@76 356 {
Chris@76 357 sItemId: ', JavaScriptEscape($id_member), ',
Chris@76 358 sItemName: ', JavaScriptEscape($member_name), '
Chris@76 359 }', $id_member == $context['group']['last_moderator_id'] ? '' : ',';
Chris@76 360
Chris@76 361 echo '
Chris@76 362 ]
Chris@76 363 });
Chris@76 364 // ]]></script>';
Chris@76 365
Chris@76 366 if ($context['group']['allow_post_group'])
Chris@76 367 echo '
Chris@76 368 <script type="text/javascript"><!-- // --><![CDATA[
Chris@76 369 function swapPostGroup(isChecked)
Chris@76 370 {
Chris@76 371 var min_posts_text = document.getElementById(\'min_posts_text\');
Chris@76 372 var group_desc_text = document.getElementById(\'group_desc_text\');
Chris@76 373 var group_hidden_text = document.getElementById(\'group_hidden_text\');
Chris@76 374 var group_moderators_text = document.getElementById(\'group_moderators_text\');
Chris@76 375 document.forms.groupForm.min_posts.disabled = !isChecked;
Chris@76 376 min_posts_text.style.color = isChecked ? "" : "#888888";
Chris@76 377 document.forms.groupForm.group_desc_input.disabled = isChecked;
Chris@76 378 group_desc_text.style.color = !isChecked ? "" : "#888888";
Chris@76 379 document.forms.groupForm.group_hidden_input.disabled = isChecked;
Chris@76 380 group_hidden_text.style.color = !isChecked ? "" : "#888888";
Chris@76 381 document.forms.groupForm.group_moderators.disabled = isChecked;
Chris@76 382 group_moderators_text.style.color = !isChecked ? "" : "#888888";
Chris@76 383 }
Chris@76 384 swapPostGroup(', $context['group']['is_post_group'] ? 'true' : 'false', ');
Chris@76 385 // ]]></script>';
Chris@76 386 }
Chris@76 387
Chris@76 388 // Templating for viewing the members of a group.
Chris@76 389 function template_group_members()
Chris@76 390 {
Chris@76 391 global $context, $settings, $options, $scripturl, $txt;
Chris@76 392
Chris@76 393 echo '
Chris@76 394 <div id="admincenter">
Chris@76 395 <form action="', $scripturl, '?action=', $context['current_action'], (isset($context['admin_area']) ? ';area=' . $context['admin_area'] : '') , ';sa=members;group=', $context['group']['id'], '" method="post" accept-charset="', $context['character_set'], '">
Chris@76 396 <div class="cat_bar">
Chris@76 397 <h3 class="catbg">', $context['page_title'], '</h3>
Chris@76 398 </div>
Chris@76 399 <div class="windowbg">
Chris@76 400 <span class="topslice"><span></span></span>
Chris@76 401 <div class="content">
Chris@76 402 <dl class="settings">
Chris@76 403 <dt>
Chris@76 404 <strong>', $txt['name'], ':</strong>
Chris@76 405 </dt>
Chris@76 406 <dd>
Chris@76 407 <span ', $context['group']['online_color'] ? 'style="color: ' . $context['group']['online_color'] . ';"' : '', '>', $context['group']['name'], '</span> ', $context['group']['stars'], '
Chris@76 408 </dd>';
Chris@76 409 //Any description to show?
Chris@76 410 if (!empty($context['group']['description']))
Chris@76 411 echo '
Chris@76 412 <dt>
Chris@76 413 <strong>' . $txt['membergroups_members_description'] . ':</strong>
Chris@76 414 </dt>
Chris@76 415 <dd>
Chris@76 416 ', $context['group']['description'] ,'
Chris@76 417 </dd>';
Chris@76 418
Chris@76 419 echo '
Chris@76 420 <dt>
Chris@76 421 <strong>', $txt['membergroups_members_top'], ':</strong>
Chris@76 422 </dt>
Chris@76 423 <dd>
Chris@76 424 ', $context['total_members'] ,'
Chris@76 425 </dd>';
Chris@76 426 // Any group moderators to show?
Chris@76 427 if (!empty($context['group']['moderators']))
Chris@76 428 {
Chris@76 429 $moderators = array();
Chris@76 430 foreach ($context['group']['moderators'] as $moderator)
Chris@76 431 $moderators[] = '<a href="' . $scripturl . '?action=profile;u=' . $moderator['id'] . '">' . $moderator['name'] . '</a>';
Chris@76 432
Chris@76 433 echo '
Chris@76 434 <dt>
Chris@76 435 <strong>', $txt['membergroups_members_group_moderators'], ':</strong>
Chris@76 436 </dt>
Chris@76 437 <dd>
Chris@76 438 ', implode(', ', $moderators) ,'
Chris@76 439 </dd>';
Chris@76 440 }
Chris@76 441
Chris@76 442 echo '
Chris@76 443 </dl>
Chris@76 444 </div>
Chris@76 445 <span class="botslice"><span></span></span>
Chris@76 446 </div>
Chris@76 447
Chris@76 448 <br />
Chris@76 449 <div class="title_bar">
Chris@76 450 <h4 class="titlebg">', $txt['membergroups_members_group_members'], '</h4>
Chris@76 451 </div>
Chris@76 452 <br />
Chris@76 453 <div class="pagesection">', $txt['pages'], ': ', $context['page_index'], '</div>
Chris@76 454 <table width="100%" class="table_grid">
Chris@76 455 <thead>
Chris@76 456 <tr class="catbg">
Chris@76 457 <th><a href="', $scripturl, '?action=', $context['current_action'], (isset($context['admin_area']) ? ';area=' . $context['admin_area'] : ''), ';sa=members;start=', $context['start'], ';sort=name', $context['sort_by'] == 'name' && $context['sort_direction'] == 'up' ? ';desc' : '', ';group=', $context['group']['id'], '">', $txt['name'], $context['sort_by'] == 'name' ? ' <img src="' . $settings['images_url'] . '/sort_' . $context['sort_direction'] . '.gif" alt="" />' : '', '</a></th>
Chris@76 458 <th><a href="', $scripturl, '?action=', $context['current_action'], (isset($context['admin_area']) ? ';area=' . $context['admin_area'] : ''), ';sa=members;start=', $context['start'], ';sort=email', $context['sort_by'] == 'email' && $context['sort_direction'] == 'up' ? ';desc' : '', ';group=', $context['group']['id'], '">', $txt['email'], $context['sort_by'] == 'email' ? ' <img src="' . $settings['images_url'] . '/sort_' . $context['sort_direction'] . '.gif" alt="" />' : '', '</a></th>
Chris@76 459 <th><a href="', $scripturl, '?action=', $context['current_action'], (isset($context['admin_area']) ? ';area=' . $context['admin_area'] : ''), ';sa=members;start=', $context['start'], ';sort=active', $context['sort_by'] == 'active' && $context['sort_direction'] == 'up' ? ';desc' : '', ';group=', $context['group']['id'], '">', $txt['membergroups_members_last_active'], $context['sort_by'] == 'active' ? ' <img src="' . $settings['images_url'] . '/sort_' . $context['sort_direction'] . '.gif" alt="" />' : '', '</a></th>
Chris@76 460 <th><a href="', $scripturl, '?action=', $context['current_action'], (isset($context['admin_area']) ? ';area=' . $context['admin_area'] : ''), ';sa=members;start=', $context['start'], ';sort=registered', $context['sort_by'] == 'registered' && $context['sort_direction'] == 'up' ? ';desc' : '', ';group=', $context['group']['id'], '">', $txt['date_registered'], $context['sort_by'] == 'registered' ? ' <img src="' . $settings['images_url'] . '/sort_' . $context['sort_direction'] . '.gif" alt="" />' : '', '</a></th>
Chris@76 461 <th', empty($context['group']['assignable']) ? ' colspan="2"' : '', '><a href="', $scripturl, '?action=', $context['current_action'], (isset($context['admin_area']) ? ';area=' . $context['admin_area'] : ''), ';sa=members;start=', $context['start'], ';sort=posts', $context['sort_by'] == 'posts' && $context['sort_direction'] == 'up' ? ';desc' : '', ';group=', $context['group']['id'], '">', $txt['posts'], $context['sort_by'] == 'posts' ? ' <img src="' . $settings['images_url'] . '/sort_' . $context['sort_direction'] . '.gif" alt="" />' : '', '</a></th>';
Chris@76 462 if (!empty($context['group']['assignable']))
Chris@76 463 echo '
Chris@76 464 <td width="4%" align="center"><input type="checkbox" class="input_check" onclick="invertAll(this, this.form);" /></td>';
Chris@76 465 echo '
Chris@76 466 </tr>
Chris@76 467 </thead>
Chris@76 468 <tbody>';
Chris@76 469
Chris@76 470 if (empty($context['members']))
Chris@76 471 echo '
Chris@76 472 <tr class="windowbg2">
Chris@76 473 <td colspan="6" align="center">', $txt['membergroups_members_no_members'], '</td>
Chris@76 474 </tr>';
Chris@76 475
Chris@76 476 foreach ($context['members'] as $member)
Chris@76 477 {
Chris@76 478 echo '
Chris@76 479 <tr class="windowbg2">
Chris@76 480 <td>', $member['name'], '</td>
Chris@76 481 <td', $member['show_email'] == 'no_through_forum' && $settings['use_image_buttons'] ? ' align="center"' : '', '>';
Chris@76 482
Chris@76 483 // Is it totally hidden?
Chris@76 484 if ($member['show_email'] == 'no')
Chris@76 485 echo '
Chris@76 486 <em>', $txt['hidden'], '</em>';
Chris@76 487 // ... otherwise they want it hidden but it's not to this person?
Chris@76 488 elseif ($member['show_email'] == 'yes_permission_override')
Chris@76 489 echo '
Chris@76 490 <a href="mailto:', $member['email'], '"><em>', $member['email'], '</em></a>';
Chris@76 491 // ... otherwise it's visible - but only via an image?
Chris@76 492 elseif ($member['show_email'] == 'no_through_forum')
Chris@76 493 echo '
Chris@76 494 <a href="', $scripturl, '?action=emailuser;sa=email;uid=', $member['id'], '" rel="nofollow">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/email_sm.gif" alt="' . $txt['email'] . '" title="' . $txt['email'] . '" />' : $txt['email']), '</a>';
Chris@76 495 // ... otherwise it must be a 'yes', show it and show it fully.
Chris@76 496 else
Chris@76 497 echo '
Chris@76 498 <a href="mailto:', $member['email'], '">', $member['email'], '</a>';
Chris@76 499
Chris@76 500 echo '
Chris@76 501 </td>
Chris@76 502 <td class="windowbg">', $member['last_online'], '</td>
Chris@76 503 <td class="windowbg">', $member['registered'], '</td>
Chris@76 504 <td', empty($context['group']['assignable']) ? ' colspan="2"' : '', '>', $member['posts'], '</td>';
Chris@76 505 if (!empty($context['group']['assignable']))
Chris@76 506 echo '
Chris@76 507 <td align="center" width="4%"><input type="checkbox" name="rem[]" value="', $member['id'], '" class="input_check" ', ($context['user']['id'] == $member['id'] && $context['group']['id'] == 1 ? 'onclick="if (this.checked) return confirm(\'' . $txt['membergroups_members_deadmin_confirm'] . '\')" ' : ''), '/></td>';
Chris@76 508 echo '
Chris@76 509 </tr>';
Chris@76 510 }
Chris@76 511
Chris@76 512 echo '
Chris@76 513 </tbody>
Chris@76 514 </table>
Chris@76 515 <div class="pagesection flow_hidden">
Chris@76 516 <div class="floatleft">', $txt['pages'], ': ', $context['page_index'], '</div>';
Chris@76 517
Chris@76 518 if (!empty($context['group']['assignable']))
Chris@76 519 echo '
Chris@76 520 <div class="floatright"><input type="submit" name="remove" value="', $txt['membergroups_members_remove'], '" class="button_submit" /></div>';
Chris@76 521 echo '
Chris@76 522 </div>
Chris@76 523 <br />';
Chris@76 524
Chris@76 525 if (!empty($context['group']['assignable']))
Chris@76 526 {
Chris@76 527 echo '
Chris@76 528 <div class="cat_bar">
Chris@76 529 <h3 class="catbg">', $txt['membergroups_members_add_title'], '</h3>
Chris@76 530 </div>
Chris@76 531 <div class="windowbg">
Chris@76 532 <span class="topslice"><span></span></span>
Chris@76 533 <div class="content">
Chris@76 534 <strong>', $txt['membergroups_members_add_desc'], ':</strong>
Chris@76 535 <input type="text" name="toAdd" id="toAdd" value="" class="input_text" />
Chris@76 536 <div id="toAddItemContainer"></div>
Chris@76 537 <input type="submit" name="add" value="', $txt['membergroups_members_add'], '" class="button_submit" />
Chris@76 538 </div>
Chris@76 539 <span class="botslice"><span></span></span>
Chris@76 540 </div>';
Chris@76 541 }
Chris@76 542
Chris@76 543 echo '
Chris@76 544 <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />
Chris@76 545 </form>
Chris@76 546 </div>
Chris@76 547 <br class="clear" />';
Chris@76 548
Chris@76 549 if (!empty($context['group']['assignable']))
Chris@76 550 echo '
Chris@76 551 <script type="text/javascript" src="', $settings['default_theme_url'], '/scripts/suggest.js?fin20"></script>
Chris@76 552 <script type="text/javascript"><!-- // --><![CDATA[
Chris@76 553 var oAddMemberSuggest = new smc_AutoSuggest({
Chris@76 554 sSelf: \'oAddMemberSuggest\',
Chris@76 555 sSessionId: \'', $context['session_id'], '\',
Chris@76 556 sSessionVar: \'', $context['session_var'], '\',
Chris@76 557 sSuggestId: \'to_suggest\',
Chris@76 558 sControlId: \'toAdd\',
Chris@76 559 sSearchType: \'member\',
Chris@76 560 sPostName: \'member_add\',
Chris@76 561 sURLMask: \'action=profile;u=%item_id%\',
Chris@76 562 sTextDeleteItem: \'', $txt['autosuggest_delete_item'], '\',
Chris@76 563 bItemList: true,
Chris@76 564 sItemListContainerId: \'toAddItemContainer\'
Chris@76 565 });
Chris@76 566 // ]]></script>';
Chris@76 567 }
Chris@76 568
Chris@76 569 // Allow the moderator to enter a reason to each user being rejected.
Chris@76 570 function template_group_request_reason()
Chris@76 571 {
Chris@76 572 global $settings, $options, $context, $txt, $scripturl;
Chris@76 573
Chris@76 574 // Show a welcome message to the user.
Chris@76 575 echo '
Chris@76 576 <div id="moderationcenter">
Chris@76 577 <form action="', $scripturl, '?action=groups;sa=requests" method="post" accept-charset="', $context['character_set'], '">
Chris@76 578 <div class="cat_bar">
Chris@76 579 <h3 class="catbg">', $txt['mc_groups_reason_title'], '</h3>
Chris@76 580 </div>
Chris@76 581 <div class="windowbg">
Chris@76 582 <span class="topslice"><span></span></span>
Chris@76 583 <div class="content">
Chris@76 584 <dl class="settings">';
Chris@76 585
Chris@76 586 // Loop through and print out a reason box for each...
Chris@76 587 foreach ($context['group_requests'] as $request)
Chris@76 588 echo '
Chris@76 589 <dt>
Chris@76 590 <strong>', sprintf($txt['mc_groupr_reason_desc'], $request['member_link'], $request['group_link']), ':</strong>
Chris@76 591 </dt>
Chris@76 592 <dd>
Chris@76 593 <input type="hidden" name="groupr[]" value="', $request['id'], '" />
Chris@76 594 <textarea name="groupreason[', $request['id'], ']" rows="3" cols="40" style="' . ($context['browser']['is_ie8'] ? 'width: 635px; max-width: 96%; min-width: 96%' : 'width: 96%') . ';"></textarea>
Chris@76 595 </dd>';
Chris@76 596
Chris@76 597 echo '
Chris@76 598 </dl>
Chris@76 599 <input type="submit" name="go" value="', $txt['mc_groupr_submit'], '" class="button_submit" />
Chris@76 600 <input type="hidden" name="req_action" value="got_reason" />
Chris@76 601 <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />
Chris@76 602 </div>
Chris@76 603 <span class="botslice"><span></span></span>
Chris@76 604 </div>
Chris@76 605 </form>
Chris@76 606 </div>
Chris@76 607 <br class="clear" />';
Chris@76 608 }
Chris@76 609
Chris@76 610 ?>