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_permission_index()
|
Chris@76
|
14 {
|
Chris@76
|
15 global $context, $settings, $options, $scripturl, $txt, $modSettings;
|
Chris@76
|
16
|
Chris@76
|
17 // Not allowed to edit?
|
Chris@76
|
18 if (!$context['can_modify'])
|
Chris@76
|
19 echo '
|
Chris@76
|
20 <div class="errorbox">
|
Chris@76
|
21 ', sprintf($txt['permission_cannot_edit'], $scripturl . '?action=admin;area=permissions;sa=profiles'), '
|
Chris@76
|
22 </div>';
|
Chris@76
|
23
|
Chris@76
|
24 echo '
|
Chris@76
|
25 <div id="admincenter">
|
Chris@76
|
26 <form action="', $scripturl, '?action=admin;area=permissions;sa=quick" method="post" accept-charset="', $context['character_set'], '" name="permissionForm" id="permissionForm">';
|
Chris@76
|
27
|
Chris@76
|
28 if (!empty($context['profile']))
|
Chris@76
|
29 echo '
|
Chris@76
|
30 <div class="title_bar">
|
Chris@76
|
31 <h3 class="titlebg">', $txt['permissions_for_profile'], ': "', $context['profile']['name'], '"</h3>
|
Chris@76
|
32 </div>';
|
Chris@76
|
33
|
Chris@76
|
34 echo '
|
Chris@76
|
35 <table width="100%" class="table_grid">
|
Chris@76
|
36 <thead>
|
Chris@76
|
37 <tr class="catbg">
|
Chris@76
|
38 <th class="first_th">', $txt['membergroups_name'], '</th>
|
Chris@76
|
39 <th width="10%" align="center" valign="middle">', $txt['membergroups_members_top'], '</th>';
|
Chris@76
|
40
|
Chris@76
|
41 if (empty($modSettings['permission_enable_deny']))
|
Chris@76
|
42 echo '
|
Chris@76
|
43 <th width="16%" align="center">', $txt['membergroups_permissions'], '</th>';
|
Chris@76
|
44 else
|
Chris@76
|
45 echo '
|
Chris@76
|
46 <th width="8%" align="center">', $txt['permissions_allowed'], '</th>
|
Chris@76
|
47 <th width="8%" align="center">', $txt['permissions_denied'], '</th>';
|
Chris@76
|
48
|
Chris@76
|
49 echo '
|
Chris@76
|
50 <th width="10%" align="center" valign="middle">', $context['can_modify'] ? $txt['permissions_modify'] : $txt['permissions_view'], '</th>
|
Chris@76
|
51 <th class="last_th" width="4%" align="center" valign="middle">
|
Chris@76
|
52 ', $context['can_modify'] ? '<input type="checkbox" class="input_check" onclick="invertAll(this, this.form, \'group\');" />' : '', '
|
Chris@76
|
53 </th>
|
Chris@76
|
54 </tr>
|
Chris@76
|
55 </thead>
|
Chris@76
|
56 <tbody>';
|
Chris@76
|
57
|
Chris@76
|
58 $alternate = false;
|
Chris@76
|
59 foreach ($context['groups'] as $group)
|
Chris@76
|
60 {
|
Chris@76
|
61 $alternate = !$alternate;
|
Chris@76
|
62 echo '
|
Chris@76
|
63 <tr class="windowbg', $alternate ? '2' : '', '">
|
Chris@76
|
64 <td>
|
Chris@76
|
65 ', $group['name'], $group['id'] == -1 ? ' (<a href="' . $scripturl . '?action=helpadmin;help=membergroup_guests" onclick="return reqWin(this.href);">?</a>)' : ($group['id'] == 0 ? ' (<a href="' . $scripturl . '?action=helpadmin;help=membergroup_regular_members" onclick="return reqWin(this.href);">?</a>)' : ($group['id'] == 1 ? ' (<a href="' . $scripturl . '?action=helpadmin;help=membergroup_administrator" onclick="return reqWin(this.href);">?</a>)' : ($group['id'] == 3 ? ' (<a href="' . $scripturl . '?action=helpadmin;help=membergroup_moderator" onclick="return reqWin(this.href);">?</a>)' : '')));
|
Chris@76
|
66
|
Chris@76
|
67 if (!empty($group['children']))
|
Chris@76
|
68 echo '
|
Chris@76
|
69 <br /><span class="smalltext">', $txt['permissions_includes_inherited'], ': "', implode('", "', $group['children']), '"</span>';
|
Chris@76
|
70
|
Chris@76
|
71 echo '
|
Chris@76
|
72 </td>
|
Chris@76
|
73 <td align="center">', $group['can_search'] ? $group['link'] : $group['num_members'], '</td>';
|
Chris@76
|
74
|
Chris@76
|
75 if (empty($modSettings['permission_enable_deny']))
|
Chris@76
|
76 echo '
|
Chris@76
|
77 <td width="16%" align="center">', $group['num_permissions']['allowed'], '</td>';
|
Chris@76
|
78 else
|
Chris@76
|
79 echo '
|
Chris@76
|
80 <td width="8%" align="center"', $group['id'] == 1 ? ' style="font-style: italic;"' : '', '>', $group['num_permissions']['allowed'], '</td>
|
Chris@76
|
81 <td width="8%" align="center"', $group['id'] == 1 || $group['id'] == -1 ? ' style="font-style: italic;"' : (!empty($group['num_permissions']['denied']) ? ' style="color: red;"' : ''), '>', $group['num_permissions']['denied'], '</td>';
|
Chris@76
|
82
|
Chris@76
|
83 echo '
|
Chris@76
|
84 <td align="center">', $group['allow_modify'] ? '<a href="' . $scripturl . '?action=admin;area=permissions;sa=modify;group=' . $group['id'] . (empty($context['profile']) ? '' : ';pid=' . $context['profile']['id']) . '">' . ($context['can_modify'] ? $txt['permissions_modify'] : $txt['permissions_view']). '</a>' : '', '</td>
|
Chris@76
|
85 <td align="center">', $group['allow_modify'] && $context['can_modify'] ? '<input type="checkbox" name="group[]" value="' . $group['id'] . '" class="input_check" />' : '', '</td>
|
Chris@76
|
86 </tr>';
|
Chris@76
|
87 }
|
Chris@76
|
88
|
Chris@76
|
89 echo '
|
Chris@76
|
90 </tbody>
|
Chris@76
|
91 </table>
|
Chris@76
|
92 <br />';
|
Chris@76
|
93
|
Chris@76
|
94 // Advanced stuff...
|
Chris@76
|
95 if ($context['can_modify'])
|
Chris@76
|
96 {
|
Chris@76
|
97 echo '
|
Chris@76
|
98 <div class="cat_bar">
|
Chris@76
|
99 <h3 class="catbg">
|
Chris@76
|
100 <span class="ie6_header floatleft">
|
Chris@76
|
101 <img src="', $settings['images_url'], '/', empty($context['show_advanced_options']) ? 'selected' : 'sort_down', '.gif" id="permissions_panel_toggle" alt="*" /> ', $txt['permissions_advanced_options'], '
|
Chris@76
|
102 </span>
|
Chris@76
|
103 </h3>
|
Chris@76
|
104 </div>
|
Chris@76
|
105 <div id="permissions_panel_advanced" class="windowbg">
|
Chris@76
|
106 <span class="topslice"><span></span></span>
|
Chris@76
|
107 <div class="content">
|
Chris@76
|
108 <fieldset>
|
Chris@76
|
109 <legend>', $txt['permissions_with_selection'], '</legend>
|
Chris@76
|
110 <dl class="settings admin_permissions">
|
Chris@76
|
111 <dt>
|
Chris@76
|
112 ', $txt['permissions_apply_pre_defined'], ' <a href="', $scripturl, '?action=helpadmin;help=permissions_quickgroups" onclick="return reqWin(this.href);">(?)</a>:
|
Chris@76
|
113 </dt>
|
Chris@76
|
114 <dd>
|
Chris@76
|
115 <select name="predefined">
|
Chris@76
|
116 <option value="">(', $txt['permissions_select_pre_defined'], ')</option>
|
Chris@76
|
117 <option value="restrict">', $txt['permitgroups_restrict'], '</option>
|
Chris@76
|
118 <option value="standard">', $txt['permitgroups_standard'], '</option>
|
Chris@76
|
119 <option value="moderator">', $txt['permitgroups_moderator'], '</option>
|
Chris@76
|
120 <option value="maintenance">', $txt['permitgroups_maintenance'], '</option>
|
Chris@76
|
121 </select>
|
Chris@76
|
122 </dd>
|
Chris@76
|
123 <dt>
|
Chris@76
|
124 ', $txt['permissions_like_group'], ':
|
Chris@76
|
125 </dt>
|
Chris@76
|
126 <dd>
|
Chris@76
|
127 <select name="copy_from">
|
Chris@76
|
128 <option value="empty">(', $txt['permissions_select_membergroup'], ')</option>';
|
Chris@76
|
129 foreach ($context['groups'] as $group)
|
Chris@76
|
130 {
|
Chris@76
|
131 if ($group['id'] != 1)
|
Chris@76
|
132 echo '
|
Chris@76
|
133 <option value="', $group['id'], '">', $group['name'], '</option>';
|
Chris@76
|
134 }
|
Chris@76
|
135
|
Chris@76
|
136 echo '
|
Chris@76
|
137 </select>
|
Chris@76
|
138 </dd>
|
Chris@76
|
139 <dt>
|
Chris@76
|
140 <select name="add_remove">
|
Chris@76
|
141 <option value="add">', $txt['permissions_add'], '...</option>
|
Chris@76
|
142 <option value="clear">', $txt['permissions_remove'], '...</option>';
|
Chris@76
|
143 if (!empty($modSettings['permission_enable_deny']))
|
Chris@76
|
144 echo '
|
Chris@76
|
145 <option value="deny">', $txt['permissions_deny'], '...</option>';
|
Chris@76
|
146 echo '
|
Chris@76
|
147 </select>
|
Chris@76
|
148 </dt>
|
Chris@76
|
149 <dd style="overflow:auto;">
|
Chris@76
|
150 <select name="permissions">
|
Chris@76
|
151 <option value="">(', $txt['permissions_select_permission'], ')</option>';
|
Chris@76
|
152 foreach ($context['permissions'] as $permissionType)
|
Chris@76
|
153 {
|
Chris@76
|
154 if ($permissionType['id'] == 'membergroup' && !empty($context['profile']))
|
Chris@76
|
155 continue;
|
Chris@76
|
156
|
Chris@76
|
157 foreach ($permissionType['columns'] as $column)
|
Chris@76
|
158 {
|
Chris@76
|
159 foreach ($column as $permissionGroup)
|
Chris@76
|
160 {
|
Chris@76
|
161 if ($permissionGroup['hidden'])
|
Chris@76
|
162 continue;
|
Chris@76
|
163
|
Chris@76
|
164 echo '
|
Chris@76
|
165 <option value="" disabled="disabled">[', $permissionGroup['name'], ']</option>';
|
Chris@76
|
166 foreach ($permissionGroup['permissions'] as $perm)
|
Chris@76
|
167 {
|
Chris@76
|
168 if ($perm['hidden'])
|
Chris@76
|
169 continue;
|
Chris@76
|
170
|
Chris@76
|
171 if ($perm['has_own_any'])
|
Chris@76
|
172 echo '
|
Chris@76
|
173 <option value="', $permissionType['id'], '/', $perm['own']['id'], '"> ', $perm['name'], ' (', $perm['own']['name'], ')</option>
|
Chris@76
|
174 <option value="', $permissionType['id'], '/', $perm['any']['id'], '"> ', $perm['name'], ' (', $perm['any']['name'], ')</option>';
|
Chris@76
|
175 else
|
Chris@76
|
176 echo '
|
Chris@76
|
177 <option value="', $permissionType['id'], '/', $perm['id'], '"> ', $perm['name'], '</option>';
|
Chris@76
|
178 }
|
Chris@76
|
179 }
|
Chris@76
|
180 }
|
Chris@76
|
181 }
|
Chris@76
|
182 echo '
|
Chris@76
|
183 </select>
|
Chris@76
|
184 </dd>
|
Chris@76
|
185 </dl>
|
Chris@76
|
186 </fieldset>
|
Chris@76
|
187 <div class="righttext">
|
Chris@76
|
188 <input type="submit" value="', $txt['permissions_set_permissions'], '" onclick="return checkSubmit();" class="button_submit" />
|
Chris@76
|
189 </div>
|
Chris@76
|
190 </div>
|
Chris@76
|
191 <span class="botslice"><span></span></span>
|
Chris@76
|
192 </div>';
|
Chris@76
|
193
|
Chris@76
|
194 // Javascript for the advanced stuff.
|
Chris@76
|
195 echo '
|
Chris@76
|
196 <script type="text/javascript"><!-- // --><![CDATA[
|
Chris@76
|
197 var oPermissionsPanelToggle = new smc_Toggle({
|
Chris@76
|
198 bToggleEnabled: true,
|
Chris@76
|
199 bCurrentlyCollapsed: ', empty($context['show_advanced_options']) ? 'true' : 'false', ',
|
Chris@76
|
200 aSwappableContainers: [
|
Chris@76
|
201 \'permissions_panel_advanced\'
|
Chris@76
|
202 ],
|
Chris@76
|
203 aSwapImages: [
|
Chris@76
|
204 {
|
Chris@76
|
205 sId: \'permissions_panel_toggle\',
|
Chris@76
|
206 srcExpanded: smf_images_url + \'/sort_down.gif\',
|
Chris@76
|
207 altExpanded: ', JavaScriptEscape($txt['upshrink_description']), ',
|
Chris@76
|
208 srcCollapsed: smf_images_url + \'/selected.gif\',
|
Chris@76
|
209 altCollapsed: ', JavaScriptEscape($txt['upshrink_description']), '
|
Chris@76
|
210 }
|
Chris@76
|
211 ],
|
Chris@76
|
212 oThemeOptions: {
|
Chris@76
|
213 bUseThemeSettings: ', $context['user']['is_guest'] ? 'false' : 'true', ',
|
Chris@76
|
214 sOptionName: \'admin_preferences\',
|
Chris@76
|
215 sSessionVar: ', JavaScriptEscape($context['session_var']), ',
|
Chris@76
|
216 sSessionId: ', JavaScriptEscape($context['session_id']), ',
|
Chris@76
|
217 sThemeId: \'1\',
|
Chris@76
|
218 sAdditionalVars: \';admin_key=app\'
|
Chris@76
|
219 }
|
Chris@76
|
220 });';
|
Chris@76
|
221
|
Chris@76
|
222 echo '
|
Chris@76
|
223
|
Chris@76
|
224 function checkSubmit()
|
Chris@76
|
225 {
|
Chris@76
|
226 if ((document.forms.permissionForm.predefined.value != "" && (document.forms.permissionForm.copy_from.value != "empty" || document.forms.permissionForm.permissions.value != "")) || (document.forms.permissionForm.copy_from.value != "empty" && document.forms.permissionForm.permissions.value != ""))
|
Chris@76
|
227 {
|
Chris@76
|
228 alert("', $txt['permissions_only_one_option'], '");
|
Chris@76
|
229 return false;
|
Chris@76
|
230 }
|
Chris@76
|
231 if (document.forms.permissionForm.predefined.value == "" && document.forms.permissionForm.copy_from.value == "" && document.forms.permissionForm.permissions.value == "")
|
Chris@76
|
232 {
|
Chris@76
|
233 alert("', $txt['permissions_no_action'], '");
|
Chris@76
|
234 return false;
|
Chris@76
|
235 }
|
Chris@76
|
236 if (document.forms.permissionForm.permissions.value != "" && document.forms.permissionForm.add_remove.value == "deny")
|
Chris@76
|
237 return confirm("', $txt['permissions_deny_dangerous'], '");
|
Chris@76
|
238
|
Chris@76
|
239 return true;
|
Chris@76
|
240 }
|
Chris@76
|
241 // ]]></script>';
|
Chris@76
|
242
|
Chris@76
|
243 if (!empty($context['profile']))
|
Chris@76
|
244 echo '
|
Chris@76
|
245 <input type="hidden" name="pid" value="', $context['profile']['id'], '" />';
|
Chris@76
|
246
|
Chris@76
|
247 echo '
|
Chris@76
|
248 <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />';
|
Chris@76
|
249 }
|
Chris@76
|
250 else
|
Chris@76
|
251 echo '
|
Chris@76
|
252 </table>';
|
Chris@76
|
253
|
Chris@76
|
254 echo '
|
Chris@76
|
255 </form>
|
Chris@76
|
256 </div>
|
Chris@76
|
257 <br class="clear" />';
|
Chris@76
|
258 }
|
Chris@76
|
259
|
Chris@76
|
260 function template_by_board()
|
Chris@76
|
261 {
|
Chris@76
|
262 global $context, $settings, $options, $scripturl, $txt, $modSettings;
|
Chris@76
|
263
|
Chris@76
|
264 echo '
|
Chris@76
|
265 <form id="admincenter" action="', $scripturl, '?action=admin;area=permissions;sa=board" method="post" accept-charset="', $context['character_set'], '">
|
Chris@76
|
266 <div class="cat_bar">
|
Chris@76
|
267 <h3 class="catbg">', $txt['permissions_boards'], '</h3>
|
Chris@76
|
268 </div>
|
Chris@76
|
269 <div class="information">
|
Chris@76
|
270 ', $txt['permissions_boards_desc'], '
|
Chris@76
|
271 </div>
|
Chris@76
|
272 <div class="title_bar">
|
Chris@76
|
273 <h3 id="board_permissions" class="titlebg flow_hidden">
|
Chris@76
|
274 <span class="perm_name floatleft">', $txt['board_name'], '</span>
|
Chris@76
|
275 <span class="perm_profile floatleft">', $txt['permission_profile'], '</span>
|
Chris@76
|
276 </h3>
|
Chris@76
|
277 </div>';
|
Chris@76
|
278
|
Chris@76
|
279 if (!$context['edit_all'])
|
Chris@76
|
280 echo '
|
Chris@76
|
281 <div class="righttext">
|
Chris@76
|
282 <a href="', $scripturl, '?action=admin;area=permissions;sa=board;edit;', $context['session_var'], '=', $context['session_id'], '">[', $txt['permissions_board_all'], ']</a>
|
Chris@76
|
283 </div>';
|
Chris@76
|
284
|
Chris@76
|
285 foreach ($context['categories'] as $category)
|
Chris@76
|
286 {
|
Chris@76
|
287 echo '
|
Chris@76
|
288 <div class="cat_bar">
|
Chris@76
|
289 <h3 class="catbg"><strong>', $category['name'], '</strong></h3>
|
Chris@76
|
290 </div>';
|
Chris@76
|
291
|
Chris@76
|
292 if (!empty($category['boards']))
|
Chris@76
|
293 echo '
|
Chris@76
|
294 <div class="windowbg">
|
Chris@76
|
295 <span class="topslice"><span></span></span>
|
Chris@76
|
296 <div class="content">
|
Chris@76
|
297 <ul class="perm_boards flow_hidden">';
|
Chris@76
|
298
|
Chris@76
|
299 $alternate = false;
|
Chris@76
|
300
|
Chris@76
|
301 foreach ($category['boards'] as $board)
|
Chris@76
|
302 {
|
Chris@76
|
303 $alternate = !$alternate;
|
Chris@76
|
304
|
Chris@76
|
305 echo '
|
Chris@76
|
306
|
Chris@76
|
307 <li class="flow_hidden' ,' windowbg', $alternate ? '' : '2','">
|
Chris@76
|
308 <span class="perm_board floatleft">
|
Chris@76
|
309 <a href="', $scripturl, '?action=admin;area=manageboards;sa=board;boardid=', $board['id'], ';rid=permissions;', $context['session_var'], '=', $context['session_id'], '">', str_repeat('-', $board['child_level']), ' ', $board['name'], '</a>
|
Chris@76
|
310 </span>
|
Chris@76
|
311 <span class="perm_boardprofile floatleft">';
|
Chris@76
|
312 if ($context['edit_all'])
|
Chris@76
|
313 {
|
Chris@76
|
314 echo '
|
Chris@76
|
315 <select name="boardprofile[', $board['id'], ']">';
|
Chris@76
|
316
|
Chris@76
|
317 foreach ($context['profiles'] as $id => $profile)
|
Chris@76
|
318 echo '
|
Chris@76
|
319 <option value="', $id, '" ', $id == $board['profile'] ? 'selected="selected"' : '', '>', $profile['name'], '</option>';
|
Chris@76
|
320
|
Chris@76
|
321 echo '
|
Chris@76
|
322 </select>';
|
Chris@76
|
323 }
|
Chris@76
|
324 else
|
Chris@76
|
325 echo '
|
Chris@76
|
326 <a href="', $scripturl, '?action=admin;area=permissions;sa=index;pid=', $board['profile'], ';', $context['session_var'], '=', $context['session_id'], '"> [', $board['profile_name'], ']</a>';
|
Chris@76
|
327
|
Chris@76
|
328 echo '
|
Chris@76
|
329 </span>
|
Chris@76
|
330 </li>';
|
Chris@76
|
331 }
|
Chris@76
|
332
|
Chris@76
|
333 if (!empty($category['boards']))
|
Chris@76
|
334 echo '
|
Chris@76
|
335 </ul>
|
Chris@76
|
336 </div>
|
Chris@76
|
337 <span class="botslice"><span></span></span>
|
Chris@76
|
338 </div>';
|
Chris@76
|
339 }
|
Chris@76
|
340
|
Chris@76
|
341 echo '
|
Chris@76
|
342 <div class="righttext">';
|
Chris@76
|
343
|
Chris@76
|
344 if ($context['edit_all'])
|
Chris@76
|
345 echo '
|
Chris@76
|
346 <input type="submit" name="save_changes" value="', $txt['save'], '" class="button_submit" />';
|
Chris@76
|
347 else
|
Chris@76
|
348 echo '
|
Chris@76
|
349 <a href="', $scripturl, '?action=admin;area=permissions;sa=board;edit;', $context['session_var'], '=', $context['session_id'], '">[', $txt['permissions_board_all'], ']</a>';
|
Chris@76
|
350
|
Chris@76
|
351 echo '
|
Chris@76
|
352 <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />
|
Chris@76
|
353 </div>
|
Chris@76
|
354 </form>
|
Chris@76
|
355 <br class="clear" />';
|
Chris@76
|
356 }
|
Chris@76
|
357
|
Chris@76
|
358 // Edit permission profiles (predefined).
|
Chris@76
|
359 function template_edit_profiles()
|
Chris@76
|
360 {
|
Chris@76
|
361 global $context, $settings, $options, $scripturl, $txt, $modSettings;
|
Chris@76
|
362
|
Chris@76
|
363 echo '
|
Chris@76
|
364 <div id="admincenter">
|
Chris@76
|
365 <form action="', $scripturl, '?action=admin;area=permissions;sa=profiles" method="post" accept-charset="', $context['character_set'], '">
|
Chris@76
|
366 <div class="title_bar">
|
Chris@76
|
367 <h3 class="titlebg">', $txt['permissions_profile_edit'], '</h3>
|
Chris@76
|
368 </div>
|
Chris@76
|
369
|
Chris@76
|
370 <table width="100%" class="table_grid">
|
Chris@76
|
371 <thead>
|
Chris@76
|
372 <tr class="catbg">
|
Chris@76
|
373 <th class="first_th">', $txt['permissions_profile_name'], '</th>
|
Chris@76
|
374 <th>', $txt['permissions_profile_used_by'], '</th>
|
Chris@76
|
375 <th class="last_th" width="5%">', $txt['delete'], '</th>
|
Chris@76
|
376 </tr>
|
Chris@76
|
377 </thead>
|
Chris@76
|
378 <tbody>';
|
Chris@76
|
379 $alternate = false;
|
Chris@76
|
380 foreach ($context['profiles'] as $profile)
|
Chris@76
|
381 {
|
Chris@76
|
382 echo '
|
Chris@76
|
383 <tr class="', $alternate ? 'windowbg' : 'windowbg2', '">
|
Chris@76
|
384 <td>';
|
Chris@76
|
385
|
Chris@76
|
386 if (!empty($context['show_rename_boxes']) && $profile['can_edit'])
|
Chris@76
|
387 echo '
|
Chris@76
|
388 <input type="text" name="rename_profile[', $profile['id'], ']" value="', $profile['name'], '" class="input_text" />';
|
Chris@76
|
389 else
|
Chris@76
|
390 echo '
|
Chris@76
|
391 <a href="', $scripturl, '?action=admin;area=permissions;sa=index;pid=', $profile['id'], ';', $context['session_var'], '=', $context['session_id'], '">', $profile['name'], '</a>';
|
Chris@76
|
392
|
Chris@76
|
393 echo '
|
Chris@76
|
394 </td>
|
Chris@76
|
395 <td>
|
Chris@76
|
396 ', !empty($profile['boards_text']) ? $profile['boards_text'] : $txt['permissions_profile_used_by_none'], '
|
Chris@76
|
397 </td>
|
Chris@76
|
398 <td align="center">
|
Chris@76
|
399 <input type="checkbox" name="delete_profile[]" value="', $profile['id'], '" ', $profile['can_delete'] ? '' : 'disabled="disabled"', ' class="input_check" />
|
Chris@76
|
400 </td>
|
Chris@76
|
401 </tr>';
|
Chris@76
|
402 $alternate = !$alternate;
|
Chris@76
|
403 }
|
Chris@76
|
404
|
Chris@76
|
405 echo '
|
Chris@76
|
406 </tbody>
|
Chris@76
|
407 </table>
|
Chris@76
|
408 <div class="righttext padding">
|
Chris@76
|
409 <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />';
|
Chris@76
|
410
|
Chris@76
|
411 if ($context['can_edit_something'])
|
Chris@76
|
412 echo '
|
Chris@76
|
413 <input type="submit" name="rename" value="', empty($context['show_rename_boxes']) ? $txt['permissions_profile_rename'] : $txt['permissions_commit'], '" class="button_submit" />';
|
Chris@76
|
414
|
Chris@76
|
415 echo '
|
Chris@76
|
416 <input type="submit" name="delete" value="', $txt['quickmod_delete_selected'], '" class="button_submit" />
|
Chris@76
|
417 </div>
|
Chris@76
|
418 </form>
|
Chris@76
|
419 <br />
|
Chris@76
|
420 <form action="', $scripturl, '?action=admin;area=permissions;sa=profiles" method="post" accept-charset="', $context['character_set'], '">
|
Chris@76
|
421 <div class="cat_bar">
|
Chris@76
|
422 <h3 class="catbg">', $txt['permissions_profile_new'], '</h3>
|
Chris@76
|
423 </div>
|
Chris@76
|
424 <div class="windowbg">
|
Chris@76
|
425 <span class="topslice"><span></span></span>
|
Chris@76
|
426 <div class="content">
|
Chris@76
|
427 <dl class="settings">
|
Chris@76
|
428 <dt>
|
Chris@76
|
429 <strong>', $txt['permissions_profile_name'], ':</strong>
|
Chris@76
|
430 </dt>
|
Chris@76
|
431 <dd>
|
Chris@76
|
432 <input type="text" name="profile_name" value="" class="input_text" />
|
Chris@76
|
433 </dd>
|
Chris@76
|
434 <dt>
|
Chris@76
|
435 <strong>', $txt['permissions_profile_copy_from'], ':</strong>
|
Chris@76
|
436 </dt>
|
Chris@76
|
437 <dd>
|
Chris@76
|
438 <select name="copy_from">';
|
Chris@76
|
439
|
Chris@76
|
440 foreach ($context['profiles'] as $id => $profile)
|
Chris@76
|
441 echo '
|
Chris@76
|
442 <option value="', $id, '">', $profile['name'], '</option>';
|
Chris@76
|
443
|
Chris@76
|
444 echo '
|
Chris@76
|
445 </select>
|
Chris@76
|
446 </dd>
|
Chris@76
|
447 </dl>
|
Chris@76
|
448 <div class="righttext">
|
Chris@76
|
449 <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />
|
Chris@76
|
450 <input type="submit" name="create" value="', $txt['permissions_profile_new_create'], '" class="button_submit" />
|
Chris@76
|
451 </div>
|
Chris@76
|
452 </div>
|
Chris@76
|
453 <span class="botslice"><span></span></span>
|
Chris@76
|
454 </div>
|
Chris@76
|
455 </form>
|
Chris@76
|
456 </div>
|
Chris@76
|
457 <br class="clear" />';
|
Chris@76
|
458 }
|
Chris@76
|
459
|
Chris@76
|
460 function template_modify_group()
|
Chris@76
|
461 {
|
Chris@76
|
462 global $context, $settings, $options, $scripturl, $txt, $modSettings;
|
Chris@76
|
463
|
Chris@76
|
464 // Cannot be edited?
|
Chris@76
|
465 if (!$context['profile']['can_modify'])
|
Chris@76
|
466 {
|
Chris@76
|
467 echo '
|
Chris@76
|
468 <div class="errorbox">
|
Chris@76
|
469 ', sprintf($txt['permission_cannot_edit'], $scripturl . '?action=admin;area=permissions;sa=profiles'), '
|
Chris@76
|
470 </div>';
|
Chris@76
|
471 }
|
Chris@76
|
472 else
|
Chris@76
|
473 {
|
Chris@76
|
474 echo '
|
Chris@76
|
475 <script type="text/javascript"><!-- // --><![CDATA[
|
Chris@76
|
476 window.smf_usedDeny = false;
|
Chris@76
|
477
|
Chris@76
|
478 function warnAboutDeny()
|
Chris@76
|
479 {
|
Chris@76
|
480 if (window.smf_usedDeny)
|
Chris@76
|
481 return confirm("', $txt['permissions_deny_dangerous'], '");
|
Chris@76
|
482 else
|
Chris@76
|
483 return true;
|
Chris@76
|
484 }
|
Chris@76
|
485 // ]]></script>';
|
Chris@76
|
486 }
|
Chris@76
|
487
|
Chris@76
|
488 echo '
|
Chris@76
|
489 <div id="admincenter">
|
Chris@76
|
490 <form action="', $scripturl, '?action=admin;area=permissions;sa=modify2;group=', $context['group']['id'], ';pid=', $context['profile']['id'], '" method="post" accept-charset="', $context['character_set'], '" name="permissionForm" id="permissionForm" onsubmit="return warnAboutDeny();">';
|
Chris@76
|
491
|
Chris@76
|
492 if (!empty($modSettings['permission_enable_deny']) && $context['group']['id'] != -1)
|
Chris@76
|
493 echo '
|
Chris@76
|
494 <div class="information">
|
Chris@76
|
495 ', $txt['permissions_option_desc'], '
|
Chris@76
|
496 </div>';
|
Chris@76
|
497
|
Chris@76
|
498 echo '
|
Chris@76
|
499 <div class="cat_bar">
|
Chris@76
|
500 <h3 class="catbg">';
|
Chris@76
|
501 if ($context['permission_type'] == 'board')
|
Chris@76
|
502 echo '
|
Chris@76
|
503 ', $txt['permissions_local_for'], ' "', $context['group']['name'], '" ', $txt['permissions_on'], ' "', $context['profile']['name'], '"';
|
Chris@76
|
504 else
|
Chris@76
|
505 echo '
|
Chris@76
|
506 ', $context['permission_type'] == 'membergroup' ? $txt['permissions_general'] : $txt['permissions_board'], ' - "', $context['group']['name'], '"';
|
Chris@76
|
507 echo '
|
Chris@76
|
508 </h3>
|
Chris@76
|
509 </div>
|
Chris@76
|
510 <div class="windowbg">
|
Chris@76
|
511 <span class="topslice"><span></span></span>
|
Chris@76
|
512 <div class="content">
|
Chris@76
|
513 ', $txt['permissions_change_view'], ': ', ($context['view_type'] == 'simple' ? '<img src="' . $settings['images_url'] . '/selected.gif" alt="*" />' : ''), '<a href="', $scripturl, '?action=admin;area=permissions;sa=modify;group=', $context['group']['id'], ($context['permission_type'] == 'board' ? ';pid=' . $context['profile']['id'] : ''), ';view=simple">', $txt['permissions_view_simple'], '</a> |
|
Chris@76
|
514 ', ($context['view_type'] == 'classic' ? '<img src="' . $settings['images_url'] . '/selected.gif" alt="*" />' : ''), '<a href="', $scripturl, '?action=admin;area=permissions;sa=modify;group=', $context['group']['id'], ($context['permission_type'] == 'board' ? ';pid=' . $context['profile']['id'] : ''), ';view=classic">', $txt['permissions_view_classic'], '</a>
|
Chris@76
|
515 </div>
|
Chris@76
|
516 <span class="botslice"><span></span></span>
|
Chris@76
|
517 </div>
|
Chris@76
|
518 <div class="flow_hidden">';
|
Chris@76
|
519
|
Chris@76
|
520 // Draw out the main bits.
|
Chris@76
|
521 if ($context['view_type'] == 'simple')
|
Chris@76
|
522 template_modify_group_simple($context['permission_type']);
|
Chris@76
|
523 else
|
Chris@76
|
524 template_modify_group_classic($context['permission_type']);
|
Chris@76
|
525
|
Chris@76
|
526 // If this is general permissions also show the default profile.
|
Chris@76
|
527 if ($context['permission_type'] == 'membergroup')
|
Chris@76
|
528 {
|
Chris@76
|
529 echo '
|
Chris@76
|
530 </div>
|
Chris@76
|
531 <br />
|
Chris@76
|
532 <div class="cat_bar">
|
Chris@76
|
533 <h3 class="catbg">', $txt['permissions_board'], '</h3>
|
Chris@76
|
534 </div>
|
Chris@76
|
535 <div class="information">
|
Chris@76
|
536 ', $txt['permissions_board_desc'], '
|
Chris@76
|
537 </div>
|
Chris@76
|
538 <div class="flow_hidden">';
|
Chris@76
|
539
|
Chris@76
|
540 if ($context['view_type'] == 'simple')
|
Chris@76
|
541 template_modify_group_simple('board');
|
Chris@76
|
542 else
|
Chris@76
|
543 template_modify_group_classic('board');
|
Chris@76
|
544
|
Chris@76
|
545 echo '
|
Chris@76
|
546 </div>';
|
Chris@76
|
547 }
|
Chris@76
|
548
|
Chris@76
|
549 if ($context['profile']['can_modify'])
|
Chris@76
|
550 echo '
|
Chris@76
|
551 <div class="righttext padding">
|
Chris@76
|
552 <input type="submit" value="', $txt['permissions_commit'], '" class="button_submit" />
|
Chris@76
|
553 </div>';
|
Chris@76
|
554
|
Chris@76
|
555 echo '
|
Chris@76
|
556 <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />
|
Chris@76
|
557 </form>
|
Chris@76
|
558 </div>
|
Chris@76
|
559 <br class="clear" />';
|
Chris@76
|
560
|
Chris@76
|
561 }
|
Chris@76
|
562
|
Chris@76
|
563 // A javascript enabled clean permissions view.
|
Chris@76
|
564 function template_modify_group_simple($type)
|
Chris@76
|
565 {
|
Chris@76
|
566 global $context, $settings, $options, $scripturl, $txt, $modSettings;
|
Chris@76
|
567
|
Chris@76
|
568 // Simple only has one column so we only need bother ourself with that one.
|
Chris@76
|
569 $permission_data = &$context['permissions'][$type]['columns'][0];
|
Chris@76
|
570
|
Chris@76
|
571 // Short cut for disabling fields we can't change.
|
Chris@76
|
572 $disable_field = $context['profile']['can_modify'] ? '' : 'disabled="disabled" ';
|
Chris@76
|
573
|
Chris@76
|
574 echo '
|
Chris@76
|
575 <table width="100%" class="table_grid">
|
Chris@76
|
576 <thead>
|
Chris@76
|
577 <tr class="catbg">
|
Chris@76
|
578 <th colspan="2" width="100%" align="left" class="first_th"></th>';
|
Chris@76
|
579 if (empty($modSettings['permission_enable_deny']) || $context['group']['id'] == -1)
|
Chris@76
|
580 echo '
|
Chris@76
|
581 <th colspan="3" width="9" class="last_th"> </th>';
|
Chris@76
|
582 else
|
Chris@76
|
583 echo '
|
Chris@76
|
584 <th>', $txt['permissions_option_on'], '</th>
|
Chris@76
|
585 <th>', $txt['permissions_option_off'], '</th>
|
Chris@76
|
586 <th class="last_th">', $txt['permissions_option_deny'], '</th>';
|
Chris@76
|
587 echo '
|
Chris@76
|
588 </tr>
|
Chris@76
|
589 </thead>
|
Chris@76
|
590 <tbody>';
|
Chris@76
|
591
|
Chris@76
|
592 foreach ($permission_data as $id_group => $permissionGroup)
|
Chris@76
|
593 {
|
Chris@76
|
594 if (empty($permissionGroup['permissions']))
|
Chris@76
|
595 continue;
|
Chris@76
|
596
|
Chris@76
|
597 // Are we likely to have something in this group to display or is it all hidden?
|
Chris@76
|
598 $has_display_content = false;
|
Chris@76
|
599 if (!$permissionGroup['hidden'])
|
Chris@76
|
600 {
|
Chris@76
|
601 // Before we go any further check we are going to have some data to print otherwise we just have a silly heading.
|
Chris@76
|
602 foreach ($permissionGroup['permissions'] as $permission)
|
Chris@76
|
603 if (!$permission['hidden'])
|
Chris@76
|
604 $has_display_content = true;
|
Chris@76
|
605
|
Chris@76
|
606 if ($has_display_content)
|
Chris@76
|
607 {
|
Chris@76
|
608 echo '
|
Chris@76
|
609 <tr class="windowbg">
|
Chris@76
|
610 <td colspan="2" width="100%" align="left">
|
Chris@76
|
611 <a href="#" onclick="return toggleBreakdown(\'', $id_group, '\');">
|
Chris@76
|
612 <img src="', $settings['images_url'], '/sort_down.gif" id="group_toggle_img_', $id_group, '" alt="*" /> <strong>', $permissionGroup['name'], '</strong>
|
Chris@76
|
613 </a>
|
Chris@76
|
614 </td>';
|
Chris@76
|
615 if (empty($modSettings['permission_enable_deny']) || $context['group']['id'] == -1)
|
Chris@76
|
616 echo '
|
Chris@76
|
617 <td colspan="3" width="10">
|
Chris@76
|
618 <div id="group_select_div_', $id_group, '">
|
Chris@76
|
619 <input type="checkbox" id="group_select_', $id_group, '" name="group_select_', $id_group, '" class="input_check" onclick="determineGroupState(\'', $id_group, '\', this.checked ? \'on\' : \'off\');" style="display: none;" ', $disable_field, '/>
|
Chris@76
|
620 </div>
|
Chris@76
|
621 </td>';
|
Chris@76
|
622 else
|
Chris@76
|
623 echo '
|
Chris@76
|
624 <td align="center">
|
Chris@76
|
625 <div id="group_select_div_on_', $id_group, '">
|
Chris@76
|
626 <input type="radio" id="group_select_on_', $id_group, '" name="group_select_', $id_group, '" value="on" onclick="determineGroupState(\'', $id_group, '\', \'on\');" style="display: none;" ', $disable_field, ' class="input_radio" />
|
Chris@76
|
627 </div>
|
Chris@76
|
628 </td>
|
Chris@76
|
629 <td align="center">
|
Chris@76
|
630 <div id="group_select_div_off_', $id_group, '">
|
Chris@76
|
631 <input type="radio" id="group_select_off_', $id_group, '" name="group_select_', $id_group, '" value="off" onclick="determineGroupState(\'', $id_group, '\', \'off\');" style="display: none;" ', $disable_field, ' class="input_radio" />
|
Chris@76
|
632 </div>
|
Chris@76
|
633 </td>
|
Chris@76
|
634 <td align="center">
|
Chris@76
|
635 <div id="group_select_div_deny_', $id_group, '">
|
Chris@76
|
636 <input type="radio" id="group_select_deny_', $id_group, '" name="group_select_', $id_group, '" value="deny" onclick="determineGroupState(\'', $id_group, '\', \'deny\');" style="display: none;" ', $disable_field, ' class="input_radio" />
|
Chris@76
|
637 </div>
|
Chris@76
|
638 </td>';
|
Chris@76
|
639 echo '
|
Chris@76
|
640 </tr>';
|
Chris@76
|
641 }
|
Chris@76
|
642 }
|
Chris@76
|
643
|
Chris@76
|
644 $alternate = false;
|
Chris@76
|
645 foreach ($permissionGroup['permissions'] as $permission)
|
Chris@76
|
646 {
|
Chris@76
|
647 // If it's hidden keep the last value.
|
Chris@76
|
648 if ($permission['hidden'] || $permissionGroup['hidden'])
|
Chris@76
|
649 {
|
Chris@76
|
650 echo '
|
Chris@76
|
651 <tr style="display: none;">
|
Chris@76
|
652 <td>
|
Chris@76
|
653 <input type="hidden" name="perm[', $type, '][', $permission['id'], ']" value="', $permission['select'] == 'denied' && !empty($modSettings['permission_enable_deny']) ? 'deny' : $permission['select'], '" />
|
Chris@76
|
654 </td>
|
Chris@76
|
655 </tr>';
|
Chris@76
|
656 }
|
Chris@76
|
657 else
|
Chris@76
|
658 {
|
Chris@76
|
659 echo '
|
Chris@76
|
660 <tr id="perm_div_', $id_group, '_', $permission['id'], '" class="', $alternate ? 'windowbg' : 'windowbg2', '">
|
Chris@76
|
661 <td valign="top" width="10" style="padding-right: 1ex;">
|
Chris@76
|
662 ', $permission['help_index'] ? '<a href="' . $scripturl . '?action=helpadmin;help=' . $permission['help_index'] . '" onclick="return reqWin(this.href);" class="help"><img src="' . $settings['images_url'] . '/helptopics.gif" alt="' . $txt['help'] . '" /></a>' : '', '
|
Chris@76
|
663 </td>
|
Chris@76
|
664 <td valign="top" width="100%" align="left" style="padding-bottom: 2px;">', $permission['name'], '</td>';
|
Chris@76
|
665
|
Chris@76
|
666 if (empty($modSettings['permission_enable_deny']) || $context['group']['id'] == -1)
|
Chris@76
|
667 echo '
|
Chris@76
|
668 <td valign="top" style="padding-bottom: 2px;"><input type="checkbox" id="select_', $permission['id'], '" name="perm[', $type, '][', $permission['id'], ']"', $permission['select'] == 'on' ? ' checked="checked"' : '', ' onclick="determineGroupState(\'', $id_group, '\');" value="on" class="input_check" ', $disable_field, '/></td>';
|
Chris@76
|
669 else
|
Chris@76
|
670 echo '
|
Chris@76
|
671 <td valign="top" width="10" style="padding-bottom: 2px;"><input type="radio" id="select_on_', $permission['id'], '" name="perm[', $type, '][', $permission['id'], ']"', $permission['select'] == 'on' ? ' checked="checked"' : '', ' value="on" onclick="determineGroupState(\'', $id_group, '\');" class="input_radio" ', $disable_field, '/></td>
|
Chris@76
|
672 <td valign="top" width="10" style="padding-bottom: 2px;"><input type="radio" id="select_off_', $permission['id'], '" name="perm[', $type, '][', $permission['id'], ']"', $permission['select'] == 'off' ? ' checked="checked"' : '', ' value="off" onclick="determineGroupState(\'', $id_group, '\');" class="input_radio" ', $disable_field, '/></td>
|
Chris@76
|
673 <td valign="top" width="10" style="padding-bottom: 2px;"><input type="radio" id="select_deny_', $permission['id'], '" name="perm[', $type, '][', $permission['id'], ']"', $permission['select'] == 'denied' ? ' checked="checked"' : '', ' value="deny" onclick="window.smf_usedDeny = true; determineGroupState(\'', $id_group, '\');" class="input_radio" ', $disable_field, '/></td>';
|
Chris@76
|
674
|
Chris@76
|
675 echo '
|
Chris@76
|
676 </tr>';
|
Chris@76
|
677 }
|
Chris@76
|
678 $alternate = !$alternate;
|
Chris@76
|
679 }
|
Chris@76
|
680
|
Chris@76
|
681 if (!$permissionGroup['hidden'] && $has_display_content)
|
Chris@76
|
682 echo '
|
Chris@76
|
683 <tr id="group_hr_div_', $id_group, '" class="windowbg2 perm_groups">
|
Chris@76
|
684 <td colspan="5" width="100%"></td>
|
Chris@76
|
685 </tr>';
|
Chris@76
|
686 }
|
Chris@76
|
687 echo '
|
Chris@76
|
688 </tbody>
|
Chris@76
|
689 </table>
|
Chris@76
|
690 <script type="text/javascript"><!-- // --><![CDATA[';
|
Chris@76
|
691
|
Chris@76
|
692 if ($context['profile']['can_modify'] && empty($context['simple_javascript_displayed']))
|
Chris@76
|
693 {
|
Chris@76
|
694 // Only show this once.
|
Chris@76
|
695 $context['simple_javascript_displayed'] = true;
|
Chris@76
|
696
|
Chris@76
|
697 // Manually toggle the breakdown.
|
Chris@76
|
698 echo '
|
Chris@76
|
699 function toggleBreakdown(id_group, forcedisplayType)
|
Chris@76
|
700 {
|
Chris@76
|
701 displayType = document.getElementById("group_hr_div_" + id_group).style.display == "none" ? "" : "none";
|
Chris@76
|
702 if (typeof(forcedisplayType) != "undefined")
|
Chris@76
|
703 displayType = forcedisplayType;
|
Chris@76
|
704
|
Chris@76
|
705 for (i = 0; i < groupPermissions[id_group].length; i++)
|
Chris@76
|
706 {
|
Chris@76
|
707 document.getElementById("perm_div_" + id_group + "_" + groupPermissions[id_group][i]).style.display = displayType
|
Chris@76
|
708 }
|
Chris@76
|
709 document.getElementById("group_hr_div_" + id_group).style.display = displayType
|
Chris@76
|
710 document.getElementById("group_toggle_img_" + id_group).src = "', $settings['images_url'], '/" + (displayType == "none" ? "selected" : "sort_down") + ".gif";
|
Chris@76
|
711
|
Chris@76
|
712 return false;
|
Chris@76
|
713 }';
|
Chris@76
|
714
|
Chris@76
|
715 // This function decides what to do when ANYTHING is touched!
|
Chris@76
|
716 echo '
|
Chris@76
|
717 var groupPermissions = new Array();
|
Chris@76
|
718 function determineGroupState(id_group, forceState)
|
Chris@76
|
719 {
|
Chris@76
|
720 if (typeof(forceState) != "undefined")
|
Chris@76
|
721 thisState = forceState;
|
Chris@76
|
722
|
Chris@76
|
723 // Cycle through this groups elements.
|
Chris@76
|
724 var curState = false, thisState;
|
Chris@76
|
725 for (var i = 0; i < groupPermissions[id_group].length; i++)
|
Chris@76
|
726 {';
|
Chris@76
|
727
|
Chris@76
|
728 if (empty($modSettings['permission_enable_deny']) || $context['group']['id'] == -1)
|
Chris@76
|
729 echo '
|
Chris@76
|
730 if (typeof(forceState) != "undefined")
|
Chris@76
|
731 {
|
Chris@76
|
732 document.getElementById(\'select_\' + groupPermissions[id_group][i]).checked = forceState == \'on\' ? 1 : 0;
|
Chris@76
|
733 }
|
Chris@76
|
734
|
Chris@76
|
735 thisState = document.getElementById(\'select_\' + groupPermissions[id_group][i]).checked ? \'on\' : \'off\';';
|
Chris@76
|
736 else
|
Chris@76
|
737 echo '
|
Chris@76
|
738 if (typeof(forceState) != "undefined")
|
Chris@76
|
739 {
|
Chris@76
|
740 document.getElementById(\'select_on_\' + groupPermissions[id_group][i]).checked = forceState == \'on\' ? 1 : 0;
|
Chris@76
|
741 document.getElementById(\'select_off_\' + groupPermissions[id_group][i]).checked = forceState == \'off\' ? 1 : 0;
|
Chris@76
|
742 document.getElementById(\'select_deny_\' + groupPermissions[id_group][i]).checked = forceState == \'deny\' ? 1 : 0;
|
Chris@76
|
743 }
|
Chris@76
|
744
|
Chris@76
|
745 if (document.getElementById(\'select_on_\' + groupPermissions[id_group][i]).checked)
|
Chris@76
|
746 thisState = \'on\';
|
Chris@76
|
747 else if (document.getElementById(\'select_off_\' + groupPermissions[id_group][i]).checked)
|
Chris@76
|
748 thisState = \'off\';
|
Chris@76
|
749 else
|
Chris@76
|
750 thisState = \'deny\';';
|
Chris@76
|
751
|
Chris@76
|
752 echo '
|
Chris@76
|
753 // Unless this is the first element, or it\'s the same state as the last we\'re buggered.
|
Chris@76
|
754 if (curState == false || thisState == curState)
|
Chris@76
|
755 {
|
Chris@76
|
756 curState = thisState;
|
Chris@76
|
757 }
|
Chris@76
|
758 else
|
Chris@76
|
759 {
|
Chris@76
|
760 curState = \'fudged\';
|
Chris@76
|
761 i = 999;
|
Chris@76
|
762 }
|
Chris@76
|
763 }
|
Chris@76
|
764
|
Chris@76
|
765 // First check the right master is selected!';
|
Chris@76
|
766 if (empty($modSettings['permission_enable_deny']) || $context['group']['id'] == -1)
|
Chris@76
|
767 echo '
|
Chris@76
|
768 document.getElementById("group_select_" + id_group).checked = curState == \'on\' ? 1 : 0;';
|
Chris@76
|
769 else
|
Chris@76
|
770 echo '
|
Chris@76
|
771 document.getElementById("group_select_on_" + id_group).checked = curState == \'on\' ? 1 : 0;
|
Chris@76
|
772 document.getElementById("group_select_off_" + id_group).checked = curState == \'off\' ? 1 : 0;
|
Chris@76
|
773 document.getElementById("group_select_deny_" + id_group).checked = curState == \'deny\' ? 1 : 0;';
|
Chris@76
|
774
|
Chris@76
|
775 // Force the display?
|
Chris@76
|
776 echo '
|
Chris@76
|
777 if (curState != \'fudged\')
|
Chris@76
|
778 toggleBreakdown(id_group, "none");';
|
Chris@76
|
779 echo '
|
Chris@76
|
780 }';
|
Chris@76
|
781 }
|
Chris@76
|
782
|
Chris@76
|
783 // Some more javascript to be displayed as long as we are editing.
|
Chris@76
|
784 if ($context['profile']['can_modify'])
|
Chris@76
|
785 {
|
Chris@76
|
786 foreach ($permission_data as $id_group => $permissionGroup)
|
Chris@76
|
787 {
|
Chris@76
|
788 if (empty($permissionGroup['permissions']))
|
Chris@76
|
789 continue;
|
Chris@76
|
790
|
Chris@76
|
791 // As before...
|
Chris@76
|
792 $has_display_content = false;
|
Chris@76
|
793 if (!$permissionGroup['hidden'])
|
Chris@76
|
794 {
|
Chris@76
|
795 // Make sure we can show it.
|
Chris@76
|
796 foreach ($permissionGroup['permissions'] as $permission)
|
Chris@76
|
797 if (!$permission['hidden'])
|
Chris@76
|
798 $has_display_content = true;
|
Chris@76
|
799
|
Chris@76
|
800 // Make all the group indicators visible on JS only.
|
Chris@76
|
801 if ($has_display_content)
|
Chris@76
|
802 {
|
Chris@76
|
803 if (empty($modSettings['permission_enable_deny']) || $context['group']['id'] == -1)
|
Chris@76
|
804 echo '
|
Chris@76
|
805 document.getElementById("group_select_div_', $id_group, '").parentNode.className = "lockedbg";
|
Chris@76
|
806 document.getElementById("group_select_', $id_group, '").style.display = "";';
|
Chris@76
|
807 else
|
Chris@76
|
808 echo '
|
Chris@76
|
809 document.getElementById("group_select_div_on_', $id_group, '").parentNode.className = "lockedbg";
|
Chris@76
|
810 document.getElementById("group_select_div_off_', $id_group, '").parentNode.className = "lockedbg";
|
Chris@76
|
811 document.getElementById("group_select_div_deny_', $id_group, '").parentNode.className = "lockedbg";
|
Chris@76
|
812 document.getElementById("group_select_on_', $id_group, '").style.display = "";
|
Chris@76
|
813 document.getElementById("group_select_off_', $id_group, '").style.display = "";
|
Chris@76
|
814 document.getElementById("group_select_deny_', $id_group, '").style.display = "";';
|
Chris@76
|
815 }
|
Chris@76
|
816
|
Chris@76
|
817 $perm_ids = array();
|
Chris@76
|
818 $count = 0;
|
Chris@76
|
819 foreach ($permissionGroup['permissions'] as $permission)
|
Chris@76
|
820 {
|
Chris@76
|
821 if (!$permission['hidden'])
|
Chris@76
|
822 {
|
Chris@76
|
823 // Need this for knowing what can be tweaked.
|
Chris@76
|
824 $perm_ids[] = "'$permission[id]'";
|
Chris@76
|
825 }
|
Chris@76
|
826 }
|
Chris@76
|
827 // Declare this groups permissions into an array.
|
Chris@76
|
828 if (!empty($perm_ids))
|
Chris@76
|
829 echo '
|
Chris@76
|
830 groupPermissions[\'', $id_group, '\'] = new Array(', count($perm_ids), ');';
|
Chris@76
|
831 foreach ($perm_ids as $count => $id)
|
Chris@76
|
832 echo '
|
Chris@76
|
833 groupPermissions[\'', $id_group, '\'][', $count, '] = ', $id, ';';
|
Chris@76
|
834
|
Chris@76
|
835 // Show the group as required.
|
Chris@76
|
836 if ($has_display_content)
|
Chris@76
|
837 echo '
|
Chris@76
|
838 determineGroupState(\'', $id_group, '\');';
|
Chris@76
|
839 }
|
Chris@76
|
840 }
|
Chris@76
|
841 }
|
Chris@76
|
842
|
Chris@76
|
843 echo '
|
Chris@76
|
844 // ]]></script>';
|
Chris@76
|
845 }
|
Chris@76
|
846
|
Chris@76
|
847 // The SMF 1.x way of looking at permissions.
|
Chris@76
|
848 function template_modify_group_classic($type)
|
Chris@76
|
849 {
|
Chris@76
|
850 global $context, $settings, $options, $scripturl, $txt, $modSettings;
|
Chris@76
|
851
|
Chris@76
|
852 $permission_type = &$context['permissions'][$type];
|
Chris@76
|
853 $disable_field = $context['profile']['can_modify'] ? '' : 'disabled="disabled" ';
|
Chris@76
|
854
|
Chris@76
|
855 echo '
|
Chris@76
|
856 <div class="windowbg2">
|
Chris@76
|
857 <span class="topslice"><span></span></span>
|
Chris@76
|
858 <div class="content">';
|
Chris@76
|
859
|
Chris@76
|
860 foreach ($permission_type['columns'] as $column)
|
Chris@76
|
861 {
|
Chris@76
|
862 echo '
|
Chris@76
|
863 <table width="49%" class="table_grid perm_classic floatleft">';
|
Chris@76
|
864
|
Chris@76
|
865 foreach ($column as $permissionGroup)
|
Chris@76
|
866 {
|
Chris@76
|
867 if (empty($permissionGroup['permissions']))
|
Chris@76
|
868 continue;
|
Chris@76
|
869
|
Chris@76
|
870 // Are we likely to have something in this group to display or is it all hidden?
|
Chris@76
|
871 $has_display_content = false;
|
Chris@76
|
872 if (!$permissionGroup['hidden'])
|
Chris@76
|
873 {
|
Chris@76
|
874 // Before we go any further check we are going to have some data to print otherwise we just have a silly heading.
|
Chris@76
|
875 foreach ($permissionGroup['permissions'] as $permission)
|
Chris@76
|
876 if (!$permission['hidden'])
|
Chris@76
|
877 $has_display_content = true;
|
Chris@76
|
878
|
Chris@76
|
879 if ($has_display_content)
|
Chris@76
|
880 {
|
Chris@76
|
881 echo '
|
Chris@76
|
882 <tr class="catbg">
|
Chris@76
|
883 <th colspan="2" width="100%" align="left"><strong class="smalltext">', $permissionGroup['name'], '</strong></th>';
|
Chris@76
|
884 if (empty($modSettings['permission_enable_deny']) || $context['group']['id'] == -1)
|
Chris@76
|
885 echo '
|
Chris@76
|
886 <th colspan="3" width="10"></th>';
|
Chris@76
|
887 else
|
Chris@76
|
888 echo '
|
Chris@76
|
889 <th align="center"><div>', $txt['permissions_option_on'], '</div></th>
|
Chris@76
|
890 <th align="center"><div>', $txt['permissions_option_off'], '</div></th>
|
Chris@76
|
891 <th align="center"><div>', $txt['permissions_option_deny'], '</div></th>';
|
Chris@76
|
892 echo '
|
Chris@76
|
893 </tr>';
|
Chris@76
|
894 }
|
Chris@76
|
895 }
|
Chris@76
|
896
|
Chris@76
|
897 $alternate = false;
|
Chris@76
|
898 foreach ($permissionGroup['permissions'] as $permission)
|
Chris@76
|
899 {
|
Chris@76
|
900 // If it's hidden keep the last value.
|
Chris@76
|
901 if ($permission['hidden'] || $permissionGroup['hidden'])
|
Chris@76
|
902 {
|
Chris@76
|
903 echo '
|
Chris@76
|
904 <tr style="display: none;">
|
Chris@76
|
905 <td>';
|
Chris@76
|
906
|
Chris@76
|
907 if ($permission['has_own_any'])
|
Chris@76
|
908 {
|
Chris@76
|
909 // Guests can't have own permissions.
|
Chris@76
|
910 if ($context['group']['id'] != -1)
|
Chris@76
|
911 echo '
|
Chris@76
|
912 <input type="hidden" name="perm[', $permission_type['id'], '][', $permission['own']['id'], ']" value="', $permission['own']['select'] == 'denied' && !empty($modSettings['permission_enable_deny']) ? 'deny' : $permission['own']['select'], '" />';
|
Chris@76
|
913
|
Chris@76
|
914 echo '
|
Chris@76
|
915 <input type="hidden" name="perm[', $permission_type['id'], '][', $permission['any']['id'], ']" value="', $permission['any']['select'] == 'denied' && !empty($modSettings['permission_enable_deny']) ? 'deny' : $permission['any']['select'], '" />';
|
Chris@76
|
916 }
|
Chris@76
|
917 else
|
Chris@76
|
918 echo '
|
Chris@76
|
919 <input type="hidden" name="perm[', $permission_type['id'], '][', $permission['id'], ']" value="', $permission['select'] == 'denied' && !empty($modSettings['permission_enable_deny']) ? 'deny' : $permission['select'], '" />';
|
Chris@76
|
920 echo '
|
Chris@76
|
921 </td>
|
Chris@76
|
922 </tr>';
|
Chris@76
|
923 }
|
Chris@76
|
924 else
|
Chris@76
|
925 {
|
Chris@76
|
926 echo '
|
Chris@76
|
927 <tr class="', $alternate ? 'windowbg' : 'windowbg2', '">
|
Chris@76
|
928 <td width="10">
|
Chris@76
|
929 ', $permission['show_help'] ? '<a href="' . $scripturl . '?action=helpadmin;help=permissionhelp_' . $permission['id'] . '" onclick="return reqWin(this.href);" class="help"><img src="' . $settings['images_url'] . '/helptopics.gif" alt="' . $txt['help'] . '" /></a>' : '', '
|
Chris@76
|
930 </td>';
|
Chris@76
|
931
|
Chris@76
|
932 if ($permission['has_own_any'])
|
Chris@76
|
933 {
|
Chris@76
|
934 echo '
|
Chris@76
|
935 <td colspan="4" width="100%" align="left">', $permission['name'], '</td>
|
Chris@76
|
936 </tr><tr class="', $alternate ? 'windowbg' : 'windowbg2', '">';
|
Chris@76
|
937
|
Chris@76
|
938 // Guests can't do their own thing.
|
Chris@76
|
939 if ($context['group']['id'] != -1)
|
Chris@76
|
940 {
|
Chris@76
|
941 echo '
|
Chris@76
|
942 <td></td>
|
Chris@76
|
943 <td width="100%" class="smalltext" align="right">', $permission['own']['name'], ':</td>';
|
Chris@76
|
944
|
Chris@76
|
945 if (empty($modSettings['permission_enable_deny']))
|
Chris@76
|
946 echo '
|
Chris@76
|
947 <td colspan="3"><input type="checkbox" name="perm[', $permission_type['id'], '][', $permission['own']['id'], ']"', $permission['own']['select'] == 'on' ? ' checked="checked"' : '', ' value="on" id="', $permission['own']['id'], '_on" class="input_check" ', $disable_field, '/></td>';
|
Chris@76
|
948 else
|
Chris@76
|
949 echo '
|
Chris@76
|
950 <td width="10"><input type="radio" name="perm[', $permission_type['id'], '][', $permission['own']['id'], ']"', $permission['own']['select'] == 'on' ? ' checked="checked"' : '', ' value="on" id="', $permission['own']['id'], '_on" class="input_radio" ', $disable_field, '/></td>
|
Chris@76
|
951 <td width="10"><input type="radio" name="perm[', $permission_type['id'], '][', $permission['own']['id'], ']"', $permission['own']['select'] == 'off' ? ' checked="checked"' : '', ' value="off" class="input_radio" ', $disable_field, '/></td>
|
Chris@76
|
952 <td width="10"><input type="radio" name="perm[', $permission_type['id'], '][', $permission['own']['id'], ']"', $permission['own']['select'] == 'denied' ? ' checked="checked"' : '', ' value="deny" class="input_radio" ', $disable_field, '/></td>';
|
Chris@76
|
953
|
Chris@76
|
954 echo '
|
Chris@76
|
955 </tr><tr class="', $alternate ? 'windowbg' : 'windowbg2', '">';
|
Chris@76
|
956 }
|
Chris@76
|
957
|
Chris@76
|
958 echo '
|
Chris@76
|
959 <td></td>
|
Chris@76
|
960 <td width="100%" class="smalltext" align="right">', $permission['any']['name'], ':</td>';
|
Chris@76
|
961
|
Chris@76
|
962 if (empty($modSettings['permission_enable_deny']) || $context['group']['id'] == -1)
|
Chris@76
|
963 echo '
|
Chris@76
|
964 <td colspan="3"><input type="checkbox" name="perm[', $permission_type['id'], '][', $permission['any']['id'], ']"', $permission['any']['select'] == 'on' ? ' checked="checked"' : '', ' value="on" class="input_check" ', $disable_field, '/></td>';
|
Chris@76
|
965 else
|
Chris@76
|
966 echo '
|
Chris@76
|
967 <td><input type="radio" name="perm[', $permission_type['id'], '][', $permission['any']['id'], ']"', $permission['any']['select'] == 'on' ? ' checked="checked"' : '', ' value="on" onclick="document.forms.permissionForm.', $permission['own']['id'], '_on.checked = true;" class="input_radio" ', $disable_field, '/></td>
|
Chris@76
|
968 <td><input type="radio" name="perm[', $permission_type['id'], '][', $permission['any']['id'], ']"', $permission['any']['select'] == 'off' ? ' checked="checked"' : '', ' value="off" class="input_radio" ', $disable_field, '/></td>
|
Chris@76
|
969 <td><input type="radio" name="perm[', $permission_type['id'], '][', $permission['any']['id'], ']"', $permission['any']['select']== 'denied' ? ' checked="checked"' : '', ' value="deny" id="', $permission['any']['id'], '_deny" onclick="window.smf_usedDeny = true;" class="input_radio" ', $disable_field, '/></td>';
|
Chris@76
|
970
|
Chris@76
|
971 echo '
|
Chris@76
|
972 </tr>';
|
Chris@76
|
973 }
|
Chris@76
|
974 else
|
Chris@76
|
975 {
|
Chris@76
|
976 echo '
|
Chris@76
|
977 <td width="100%" align="left">', $permission['name'], '</td>';
|
Chris@76
|
978
|
Chris@76
|
979 if (empty($modSettings['permission_enable_deny']) || $context['group']['id'] == -1)
|
Chris@76
|
980 echo '
|
Chris@76
|
981 <td><input type="checkbox" name="perm[', $permission_type['id'], '][', $permission['id'], ']"', $permission['select'] == 'on' ? ' checked="checked"' : '', ' value="on" class="input_check" ', $disable_field, '/></td>';
|
Chris@76
|
982 else
|
Chris@76
|
983 echo '
|
Chris@76
|
984 <td><input type="radio" name="perm[', $permission_type['id'], '][', $permission['id'], ']"', $permission['select'] == 'on' ? ' checked="checked"' : '', ' value="on" class="input_radio" ', $disable_field, '/></td>
|
Chris@76
|
985 <td><input type="radio" name="perm[', $permission_type['id'], '][', $permission['id'], ']"', $permission['select'] == 'off' ? ' checked="checked"' : '', ' value="off" class="input_radio" ', $disable_field, '/></td>
|
Chris@76
|
986 <td><input type="radio" name="perm[', $permission_type['id'], '][', $permission['id'], ']"', $permission['select'] == 'denied' ? ' checked="checked"' : '', ' value="deny" onclick="window.smf_usedDeny = true;" class="input_radio" ', $disable_field, '/></td>';
|
Chris@76
|
987
|
Chris@76
|
988 echo '
|
Chris@76
|
989 </tr>';
|
Chris@76
|
990 }
|
Chris@76
|
991 }
|
Chris@76
|
992 $alternate = !$alternate;
|
Chris@76
|
993 }
|
Chris@76
|
994
|
Chris@76
|
995 if (!$permissionGroup['hidden'] && $has_display_content)
|
Chris@76
|
996 echo '
|
Chris@76
|
997 <tr class="windowbg2">
|
Chris@76
|
998 <td colspan="5" width="100%"><!--separator--></td>
|
Chris@76
|
999 </tr>';
|
Chris@76
|
1000 }
|
Chris@76
|
1001 echo '
|
Chris@76
|
1002 </table>';
|
Chris@76
|
1003 }
|
Chris@76
|
1004 echo '
|
Chris@76
|
1005 <br class="clear" />
|
Chris@76
|
1006 </div>
|
Chris@76
|
1007 <span class="botslice"><span></span></span>
|
Chris@76
|
1008 </div>';
|
Chris@76
|
1009 }
|
Chris@76
|
1010
|
Chris@76
|
1011 function template_inline_permissions()
|
Chris@76
|
1012 {
|
Chris@76
|
1013 global $context, $settings, $options, $txt, $modSettings;
|
Chris@76
|
1014
|
Chris@76
|
1015 echo '
|
Chris@76
|
1016 <fieldset id="', $context['current_permission'], '">
|
Chris@76
|
1017 <legend><a href="javascript:void(0);" onclick="document.getElementById(\'', $context['current_permission'], '\').style.display = \'none\';document.getElementById(\'', $context['current_permission'], '_groups_link\').style.display = \'block\'; return false;">', $txt['avatar_select_permission'], '</a></legend>';
|
Chris@76
|
1018 if (empty($modSettings['permission_enable_deny']))
|
Chris@76
|
1019 echo '
|
Chris@76
|
1020 <ul class="permission_groups">';
|
Chris@76
|
1021 else
|
Chris@76
|
1022 echo '
|
Chris@76
|
1023 <div class="information">', $txt['permissions_option_desc'], '</div>
|
Chris@76
|
1024 <dl class="settings">
|
Chris@76
|
1025 <dt>
|
Chris@76
|
1026 <span class="perms"><strong>', $txt['permissions_option_on'], '</strong></span>
|
Chris@76
|
1027 <span class="perms"><strong>', $txt['permissions_option_off'], '</strong></span>
|
Chris@76
|
1028 <span class="perms" style="color: red;"><strong>', $txt['permissions_option_deny'], '</strong></span>
|
Chris@76
|
1029 </dt>
|
Chris@76
|
1030 <dd>
|
Chris@76
|
1031 </dd>';
|
Chris@76
|
1032 foreach ($context['member_groups'] as $group)
|
Chris@76
|
1033 {
|
Chris@76
|
1034 if (!empty($modSettings['permission_enable_deny']))
|
Chris@76
|
1035 echo '
|
Chris@76
|
1036 <dt>';
|
Chris@76
|
1037 else
|
Chris@76
|
1038 echo '
|
Chris@76
|
1039 <li>';
|
Chris@76
|
1040
|
Chris@76
|
1041 if (empty($modSettings['permission_enable_deny']))
|
Chris@76
|
1042 echo '
|
Chris@76
|
1043 <input type="checkbox" name="', $context['current_permission'], '[', $group['id'], ']" value="on"', $group['status'] == 'on' ? ' checked="checked"' : '', ' class="input_check" />';
|
Chris@76
|
1044 else
|
Chris@76
|
1045 echo '
|
Chris@76
|
1046 <span class="perms"><input type="radio" name="', $context['current_permission'], '[', $group['id'], ']" value="on"', $group['status'] == 'on' ? ' checked="checked"' : '', ' class="input_radio" /></span>
|
Chris@76
|
1047 <span class="perms"><input type="radio" name="', $context['current_permission'], '[', $group['id'], ']" value="off"', $group['status'] == 'off' ? ' checked="checked"' : '', ' class="input_radio" /></span>
|
Chris@76
|
1048 <span class="perms"><input type="radio" name="', $context['current_permission'], '[', $group['id'], ']" value="deny"', $group['status'] == 'deny' ? ' checked="checked"' : '', ' class="input_radio" /></span>';
|
Chris@76
|
1049
|
Chris@76
|
1050 if (!empty($modSettings['permission_enable_deny']))
|
Chris@76
|
1051 echo '
|
Chris@76
|
1052 </dt>
|
Chris@76
|
1053 <dd>
|
Chris@76
|
1054 <span', $group['is_postgroup'] ? ' style="font-style: italic;"' : '', '>', $group['name'], '</span>
|
Chris@76
|
1055 </dd>';
|
Chris@76
|
1056 else
|
Chris@76
|
1057 echo '
|
Chris@76
|
1058 <span', $group['is_postgroup'] ? ' style="font-style: italic;"' : '', '>', $group['name'], '</span>
|
Chris@76
|
1059 </li>';
|
Chris@76
|
1060 }
|
Chris@76
|
1061
|
Chris@76
|
1062 if (empty($modSettings['permission_enable_deny']))
|
Chris@76
|
1063 echo '
|
Chris@76
|
1064 </ul>';
|
Chris@76
|
1065 else
|
Chris@76
|
1066 echo '
|
Chris@76
|
1067 </dl>';
|
Chris@76
|
1068
|
Chris@76
|
1069 echo '
|
Chris@76
|
1070 </fieldset>
|
Chris@76
|
1071
|
Chris@76
|
1072 <a href="javascript:void(0);" onclick="document.getElementById(\'', $context['current_permission'], '\').style.display = \'block\'; document.getElementById(\'', $context['current_permission'], '_groups_link\').style.display = \'none\'; return false;" id="', $context['current_permission'], '_groups_link" style="display: none;">[ ', $txt['avatar_select_permission'], ' ]</a>
|
Chris@76
|
1073
|
Chris@76
|
1074 <script type="text/javascript"><!-- // --><![CDATA[
|
Chris@76
|
1075 document.getElementById("', $context['current_permission'], '").style.display = "none";
|
Chris@76
|
1076 document.getElementById("', $context['current_permission'], '_groups_link").style.display = "";
|
Chris@76
|
1077 // ]]></script>';
|
Chris@76
|
1078 }
|
Chris@76
|
1079
|
Chris@76
|
1080 // Edit post moderation permissions.
|
Chris@76
|
1081 function template_postmod_permissions()
|
Chris@76
|
1082 {
|
Chris@76
|
1083 global $context, $settings, $options, $scripturl, $txt, $modSettings;
|
Chris@76
|
1084
|
Chris@76
|
1085 echo '
|
Chris@76
|
1086 <div id="admincenter">
|
Chris@76
|
1087 <form action="', $scripturl, '?action=admin;area=permissions;sa=postmod;', $context['session_var'], '=', $context['session_id'], '" method="post" name="postmodForm" id="postmodForm" accept-charset="', $context['character_set'], '">
|
Chris@76
|
1088 <div class="title_bar">
|
Chris@76
|
1089 <h3 class="titlebg">', $txt['permissions_post_moderation'], '</h3>
|
Chris@76
|
1090 </div>';
|
Chris@76
|
1091
|
Chris@76
|
1092 // Got advanced permissions - if so warn!
|
Chris@76
|
1093 if (!empty($modSettings['permission_enable_deny']))
|
Chris@76
|
1094 echo '
|
Chris@76
|
1095 <div class="information">', $txt['permissions_post_moderation_deny_note'], '</div>';
|
Chris@76
|
1096
|
Chris@76
|
1097 echo '
|
Chris@76
|
1098 <div class="righttext padding">
|
Chris@76
|
1099 ', $txt['permissions_post_moderation_select'], ':
|
Chris@76
|
1100 <select name="pid" onchange="document.forms.postmodForm.submit();">';
|
Chris@76
|
1101
|
Chris@76
|
1102 foreach ($context['profiles'] as $profile)
|
Chris@76
|
1103 if ($profile['can_modify'])
|
Chris@76
|
1104 echo '
|
Chris@76
|
1105 <option value="', $profile['id'], '" ', $profile['id'] == $context['current_profile'] ? 'selected="selected"' : '', '>', $profile['name'], '</option>';
|
Chris@76
|
1106
|
Chris@76
|
1107 echo '
|
Chris@76
|
1108 </select>
|
Chris@76
|
1109 <input type="submit" value="', $txt['go'], '" class="button_submit" />
|
Chris@76
|
1110 </div>
|
Chris@76
|
1111 <table width="100%" class="table_grid">
|
Chris@76
|
1112 <thead>
|
Chris@76
|
1113 <tr class="catbg">
|
Chris@76
|
1114 <th class="first_th"></th>
|
Chris@76
|
1115 <th align="center" colspan="3">
|
Chris@76
|
1116 ', $txt['permissions_post_moderation_new_topics'], '
|
Chris@76
|
1117 </th>
|
Chris@76
|
1118 <th align="center" colspan="3">
|
Chris@76
|
1119 ', $txt['permissions_post_moderation_replies_own'], '
|
Chris@76
|
1120 </th>
|
Chris@76
|
1121 <th align="center" colspan="3">
|
Chris@76
|
1122 ', $txt['permissions_post_moderation_replies_any'], '
|
Chris@76
|
1123 </th>
|
Chris@76
|
1124 <th class="last_th" align="center" colspan="3">
|
Chris@76
|
1125 ', $txt['permissions_post_moderation_attachments'], '
|
Chris@76
|
1126 </th>
|
Chris@76
|
1127 </tr>
|
Chris@76
|
1128 <tr class="titlebg">
|
Chris@76
|
1129 <th width="30%">
|
Chris@76
|
1130 ', $txt['permissions_post_moderation_group'], '
|
Chris@76
|
1131 </th>
|
Chris@76
|
1132 <th align="center"><img src="', $settings['default_images_url'], '/admin/post_moderation_allow.gif" alt="', $txt['permissions_post_moderation_allow'], '" title="', $txt['permissions_post_moderation_allow'], '" /></th>
|
Chris@76
|
1133 <th align="center"><img src="', $settings['default_images_url'], '/admin/post_moderation_moderate.gif" alt="', $txt['permissions_post_moderation_moderate'], '" title="', $txt['permissions_post_moderation_moderate'], '" /></th>
|
Chris@76
|
1134 <th align="center"><img src="', $settings['default_images_url'], '/admin/post_moderation_deny.gif" alt="', $txt['permissions_post_moderation_disallow'], '" title="', $txt['permissions_post_moderation_disallow'], '" /></th>
|
Chris@76
|
1135 <th align="center"><img src="', $settings['default_images_url'], '/admin/post_moderation_allow.gif" alt="', $txt['permissions_post_moderation_allow'], '" title="', $txt['permissions_post_moderation_allow'], '" /></th>
|
Chris@76
|
1136 <th align="center"><img src="', $settings['default_images_url'], '/admin/post_moderation_moderate.gif" alt="', $txt['permissions_post_moderation_moderate'], '" title="', $txt['permissions_post_moderation_moderate'], '" /></th>
|
Chris@76
|
1137 <th align="center"><img src="', $settings['default_images_url'], '/admin/post_moderation_deny.gif" alt="', $txt['permissions_post_moderation_disallow'], '" title="', $txt['permissions_post_moderation_disallow'], '" /></th>
|
Chris@76
|
1138 <th align="center"><img src="', $settings['default_images_url'], '/admin/post_moderation_allow.gif" alt="', $txt['permissions_post_moderation_allow'], '" title="', $txt['permissions_post_moderation_allow'], '" /></th>
|
Chris@76
|
1139 <th align="center"><img src="', $settings['default_images_url'], '/admin/post_moderation_moderate.gif" alt="', $txt['permissions_post_moderation_moderate'], '" title="', $txt['permissions_post_moderation_moderate'], '" /></th>
|
Chris@76
|
1140 <th align="center"><img src="', $settings['default_images_url'], '/admin/post_moderation_deny.gif" alt="', $txt['permissions_post_moderation_disallow'], '" title="', $txt['permissions_post_moderation_disallow'], '" /></th>
|
Chris@76
|
1141 <th align="center"><img src="', $settings['default_images_url'], '/admin/post_moderation_allow.gif" alt="', $txt['permissions_post_moderation_allow'], '" title="', $txt['permissions_post_moderation_allow'], '" /></th>
|
Chris@76
|
1142 <th align="center"><img src="', $settings['default_images_url'], '/admin/post_moderation_moderate.gif" alt="', $txt['permissions_post_moderation_moderate'], '" title="', $txt['permissions_post_moderation_moderate'], '" /></th>
|
Chris@76
|
1143 <th align="center"><img src="', $settings['default_images_url'], '/admin/post_moderation_deny.gif" alt="', $txt['permissions_post_moderation_disallow'], '" title="', $txt['permissions_post_moderation_disallow'], '" /></th>
|
Chris@76
|
1144 </tr>
|
Chris@76
|
1145 </thead>
|
Chris@76
|
1146 <tbody>';
|
Chris@76
|
1147
|
Chris@76
|
1148 foreach ($context['profile_groups'] as $group)
|
Chris@76
|
1149 {
|
Chris@76
|
1150 echo '
|
Chris@76
|
1151 <tr>
|
Chris@76
|
1152 <td width="40%" class="windowbg">
|
Chris@76
|
1153 <span ', ($group['color'] ? 'style="color: ' . $group['color'] . '"' : ''), '>', $group['name'], '</span>';
|
Chris@76
|
1154 if (!empty($group['children']))
|
Chris@76
|
1155 echo '
|
Chris@76
|
1156 <br /><span class="smalltext">', $txt['permissions_includes_inherited'], ': "', implode('", "', $group['children']), '"</span>';
|
Chris@76
|
1157
|
Chris@76
|
1158 echo '
|
Chris@76
|
1159 </td>
|
Chris@76
|
1160 <td align="center" class="windowbg2"><input type="radio" name="new_topic[', $group['id'], ']" value="allow" ', $group['new_topic'] == 'allow' ? 'checked="checked"' : '', ' class="input_radio" /></td>
|
Chris@76
|
1161 <td align="center" class="windowbg2"><input type="radio" name="new_topic[', $group['id'], ']" value="moderate" ', $group['new_topic'] == 'moderate' ? 'checked="checked"' : '', ' class="input_radio" /></td>
|
Chris@76
|
1162 <td align="center" class="windowbg2"><input type="radio" name="new_topic[', $group['id'], ']" value="disallow" ', $group['new_topic'] == 'disallow' ? 'checked="checked"' : '', ' class="input_radio" /></td>
|
Chris@76
|
1163 <td align="center" class="windowbg"><input type="radio" name="replies_own[', $group['id'], ']" value="allow" ', $group['replies_own'] == 'allow' ? 'checked="checked"' : '', ' class="input_radio" /></td>
|
Chris@76
|
1164 <td align="center" class="windowbg"><input type="radio" name="replies_own[', $group['id'], ']" value="moderate" ', $group['replies_own'] == 'moderate' ? 'checked="checked"' : '', ' class="input_radio" /></td>
|
Chris@76
|
1165 <td align="center" class="windowbg"><input type="radio" name="replies_own[', $group['id'], ']" value="disallow" ', $group['replies_own'] == 'disallow' ? 'checked="checked"' : '', ' class="input_radio" /></td>
|
Chris@76
|
1166 <td align="center" class="windowbg2"><input type="radio" name="replies_any[', $group['id'], ']" value="allow" ', $group['replies_any'] == 'allow' ? 'checked="checked"' : '', ' class="input_radio" /></td>
|
Chris@76
|
1167 <td align="center" class="windowbg2"><input type="radio" name="replies_any[', $group['id'], ']" value="moderate" ', $group['replies_any'] == 'moderate' ? 'checked="checked"' : '', ' class="input_radio" /></td>
|
Chris@76
|
1168 <td align="center" class="windowbg2"><input type="radio" name="replies_any[', $group['id'], ']" value="disallow" ', $group['replies_any'] == 'disallow' ? 'checked="checked"' : '', ' class="input_radio" /></td>
|
Chris@76
|
1169 <td align="center" class="windowbg"><input type="radio" name="attachment[', $group['id'], ']" value="allow" ', $group['attachment'] == 'allow' ? 'checked="checked"' : '', ' class="input_radio" /></td>
|
Chris@76
|
1170 <td align="center" class="windowbg"><input type="radio" name="attachment[', $group['id'], ']" value="moderate" ', $group['attachment'] == 'moderate' ? 'checked="checked"' : '', ' class="input_radio" /></td>
|
Chris@76
|
1171 <td align="center" class="windowbg"><input type="radio" name="attachment[', $group['id'], ']" value="disallow" ', $group['attachment'] == 'disallow' ? 'checked="checked"' : '', ' class="input_radio" /></td>
|
Chris@76
|
1172 </tr>';
|
Chris@76
|
1173 }
|
Chris@76
|
1174
|
Chris@76
|
1175 echo '
|
Chris@76
|
1176 </tbody>
|
Chris@76
|
1177 </table>
|
Chris@76
|
1178 <div class="righttext padding">
|
Chris@76
|
1179 <input type="submit" name="save_changes" value="', $txt['permissions_commit'], '" class="button_submit" />
|
Chris@76
|
1180 </div>
|
Chris@76
|
1181 </form>
|
Chris@76
|
1182 <p class="smalltext" style="padding-left: 10px;">
|
Chris@76
|
1183 <strong>', $txt['permissions_post_moderation_legend'], ':</strong><br />
|
Chris@76
|
1184 <img src="', $settings['default_images_url'], '/admin/post_moderation_allow.gif" alt="', $txt['permissions_post_moderation_allow'], '" /> - ', $txt['permissions_post_moderation_allow'], '<br />
|
Chris@76
|
1185 <img src="', $settings['default_images_url'], '/admin/post_moderation_moderate.gif" alt="', $txt['permissions_post_moderation_moderate'], '" /> - ', $txt['permissions_post_moderation_moderate'], '<br />
|
Chris@76
|
1186 <img src="', $settings['default_images_url'], '/admin/post_moderation_deny.gif" alt="', $txt['permissions_post_moderation_disallow'], '" /> - ', $txt['permissions_post_moderation_disallow'], '
|
Chris@76
|
1187 </p>
|
Chris@76
|
1188 </div>
|
Chris@76
|
1189 <br class="clear" />';
|
Chris@76
|
1190 }
|
Chris@76
|
1191
|
Chris@76
|
1192 ?> |