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 // Template for listing all the current categories and boards.
|
Chris@76
|
14 function template_main()
|
Chris@76
|
15 {
|
Chris@76
|
16 global $context, $settings, $options, $scripturl, $txt, $modSettings;
|
Chris@76
|
17
|
Chris@76
|
18 // Table header.
|
Chris@76
|
19 echo '
|
Chris@76
|
20 <div id="manage_boards">
|
Chris@76
|
21 <div class="title_bar">
|
Chris@76
|
22 <h3 class="titlebg">', $txt['boardsEdit'], '</h3>
|
Chris@76
|
23 </div>';
|
Chris@76
|
24
|
Chris@76
|
25 if (!empty($context['move_board']))
|
Chris@76
|
26 echo '
|
Chris@76
|
27 <div class="information">
|
Chris@76
|
28 <p>', $context['move_title'], ' [<a href="', $scripturl, '?action=admin;area=manageboards">', $txt['mboards_cancel_moving'], '</a>]', '</p>
|
Chris@76
|
29 </div>';
|
Chris@76
|
30
|
Chris@76
|
31 // No categories so show a label.
|
Chris@76
|
32 if (empty($context['categories']))
|
Chris@76
|
33 echo '
|
Chris@76
|
34 <div class="windowbg">
|
Chris@76
|
35 <span class="topslice"><span></span></span>
|
Chris@76
|
36 <div class="content centertext">
|
Chris@76
|
37 ', $txt['mboards_no_cats'], '
|
Chris@76
|
38 </div>
|
Chris@76
|
39 <span class="botslice"><span></span></span>
|
Chris@76
|
40 </div>';
|
Chris@76
|
41
|
Chris@76
|
42 // Loop through every category, listing the boards in each as we go.
|
Chris@76
|
43 foreach ($context['categories'] as $category)
|
Chris@76
|
44 {
|
Chris@76
|
45 // Link to modify the category.
|
Chris@76
|
46 echo '
|
Chris@76
|
47 <div class="cat_bar">
|
Chris@76
|
48 <h3 class="catbg">
|
Chris@76
|
49 <a href="' . $scripturl . '?action=admin;area=manageboards;sa=cat;cat=' . $category['id'] . '">', $category['name'], '</a> <a href="' . $scripturl . '?action=admin;area=manageboards;sa=cat;cat=' . $category['id'] . '">', $txt['catModify'], '</a>
|
Chris@76
|
50 </h3>
|
Chris@76
|
51 </div>';
|
Chris@76
|
52
|
Chris@76
|
53 // Boards table header.
|
Chris@76
|
54 echo '
|
Chris@76
|
55 <form action="', $scripturl, '?action=admin;area=manageboards;sa=newboard;cat=', $category['id'], '" method="post" accept-charset="', $context['character_set'], '">
|
Chris@76
|
56 <div class="windowbg">
|
Chris@76
|
57 <span class="topslice"><span></span></span>
|
Chris@76
|
58 <div class="content">
|
Chris@76
|
59 <ul id="category_', $category['id'], '" style="float:left; width:100%;">';
|
Chris@76
|
60
|
Chris@76
|
61 if (!empty($category['move_link']))
|
Chris@76
|
62 echo '
|
Chris@76
|
63 <li><a href="', $category['move_link']['href'], '" title="', $category['move_link']['label'], '"><img src="', $settings['images_url'], '/smiley_select_spot.gif" alt="', $category['move_link']['label'], '" /></a></li>';
|
Chris@76
|
64
|
Chris@76
|
65 $alternate = false;
|
Chris@76
|
66
|
Chris@76
|
67 // List through every board in the category, printing its name and link to modify the board.
|
Chris@76
|
68 foreach ($category['boards'] as $board)
|
Chris@76
|
69 {
|
Chris@76
|
70 $alternate = !$alternate;
|
Chris@76
|
71
|
Chris@76
|
72 echo '
|
Chris@76
|
73 <li', !empty($modSettings['recycle_board']) && !empty($modSettings['recycle_enable']) && $modSettings['recycle_board'] == $board['id'] ? ' id="recycle_board"' : ' ', ' class="windowbg', $alternate ? '' : '2', '" style="padding-' . ($context['right_to_left'] ? 'right' : 'left') . ': ', 5 + 30 * $board['child_level'], 'px;', $board['move'] ? 'color: red;' : '', '"><span class="floatleft"><a href="', $scripturl, '?board=', $board['id'], '">', $board['name'], '</a>', !empty($modSettings['recycle_board']) && !empty($modSettings['recycle_enable']) && $modSettings['recycle_board'] == $board['id'] ? '<a href="' . $scripturl . '?action=admin;area=manageboards;sa=settings"> <img src="' . $settings['images_url'] . '/post/recycled.gif" alt="' . $txt['recycle_board'] . '" /></a></span>' : '</span>', '
|
Chris@76
|
74 <span class="floatright">', $context['can_manage_permissions'] ? '<span class="modify_boards"><a href="' . $scripturl . '?action=admin;area=permissions;sa=index;pid=' . $board['permission_profile'] . ';' . $context['session_var'] . '=' . $context['session_id'] . '">' . $txt['mboards_permissions'] . '</a></span>' : '', '
|
Chris@76
|
75 <span class="modify_boards"><a href="', $scripturl, '?action=admin;area=manageboards;move=', $board['id'], '">', $txt['mboards_move'], '</a></span>
|
Chris@76
|
76 <span class="modify_boards"><a href="', $scripturl, '?action=admin;area=manageboards;sa=board;boardid=', $board['id'], '">', $txt['mboards_modify'], '</a></span></span><br style="clear: right;" />
|
Chris@76
|
77 </li>';
|
Chris@76
|
78
|
Chris@76
|
79 if (!empty($board['move_links']))
|
Chris@76
|
80 {
|
Chris@76
|
81 $alternate = !$alternate;
|
Chris@76
|
82
|
Chris@76
|
83 echo '
|
Chris@76
|
84 <li class="windowbg', $alternate ? '' : '2', '" style="padding-', $context['right_to_left'] ? 'right' : 'left', ': ', 5 + 30 * $board['move_links'][0]['child_level'], 'px;">';
|
Chris@76
|
85
|
Chris@76
|
86 foreach ($board['move_links'] as $link)
|
Chris@76
|
87 echo '
|
Chris@76
|
88 <a href="', $link['href'], '" class="move_links" title="', $link['label'], '"><img src="', $settings['images_url'], '/board_select_spot', $link['child_level'] > 0 ? '_child' : '', '.gif" alt="', $link['label'], '" style="padding: 0px; margin: 0px;" /></a>';
|
Chris@76
|
89
|
Chris@76
|
90 echo '
|
Chris@76
|
91 </li>';
|
Chris@76
|
92 }
|
Chris@76
|
93 }
|
Chris@76
|
94
|
Chris@76
|
95 // Button to add a new board.
|
Chris@76
|
96 echo '
|
Chris@76
|
97 </ul>
|
Chris@76
|
98 <div class="righttext">
|
Chris@76
|
99 <input type="submit" value="', $txt['mboards_new_board'], '" class="button_submit" />
|
Chris@76
|
100 <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />
|
Chris@76
|
101 </div>
|
Chris@76
|
102 </div>
|
Chris@76
|
103 <span class="botslice"><span></span></span>
|
Chris@76
|
104 </div>
|
Chris@76
|
105 </form>';
|
Chris@76
|
106 }
|
Chris@76
|
107 echo '
|
Chris@76
|
108 </div>
|
Chris@76
|
109 <br class="clear" />';
|
Chris@76
|
110 }
|
Chris@76
|
111
|
Chris@76
|
112 // Template for editing/adding a category on the forum.
|
Chris@76
|
113 function template_modify_category()
|
Chris@76
|
114 {
|
Chris@76
|
115 global $context, $settings, $options, $scripturl, $txt;
|
Chris@76
|
116
|
Chris@76
|
117 // Print table header.
|
Chris@76
|
118 echo '
|
Chris@76
|
119 <div id="manage_boards">
|
Chris@76
|
120 <form action="', $scripturl, '?action=admin;area=manageboards;sa=cat2" method="post" accept-charset="', $context['character_set'], '">
|
Chris@76
|
121 <input type="hidden" name="cat" value="', $context['category']['id'], '" />
|
Chris@76
|
122 <div class="cat_bar">
|
Chris@76
|
123 <h3 class="catbg">
|
Chris@76
|
124 ', isset($context['category']['is_new']) ? $txt['mboards_new_cat_name'] : $txt['catEdit'], '
|
Chris@76
|
125 </h3>
|
Chris@76
|
126 </div>
|
Chris@76
|
127 <div class="windowbg">
|
Chris@76
|
128 <span class="topslice"><span></span></span>
|
Chris@76
|
129 <div class="content">
|
Chris@76
|
130 <dl class="settings">';
|
Chris@76
|
131 // If this isn't the only category, let the user choose where this category should be positioned down the board index.
|
Chris@76
|
132 if (count($context['category_order']) > 1)
|
Chris@76
|
133 {
|
Chris@76
|
134 echo '
|
Chris@76
|
135 <dt><strong>', $txt['order'], ':</strong></dt>
|
Chris@76
|
136 <dd>
|
Chris@76
|
137 <select name="cat_order">';
|
Chris@76
|
138 // Print every existing category into a select box.
|
Chris@76
|
139 foreach ($context['category_order'] as $order)
|
Chris@76
|
140 echo '
|
Chris@76
|
141 <option', $order['selected'] ? ' selected="selected"' : '', ' value="', $order['id'], '">', $order['name'], '</option>';
|
Chris@76
|
142 echo '
|
Chris@76
|
143 </select>
|
Chris@76
|
144 </dd>';
|
Chris@76
|
145 }
|
Chris@76
|
146 // Allow the user to edit the category name and/or choose whether you can collapse the category.
|
Chris@76
|
147 echo '
|
Chris@76
|
148 <dt>
|
Chris@76
|
149 <strong>', $txt['full_name'], ':</strong><br />
|
Chris@76
|
150 <span class="smalltext">', $txt['name_on_display'], '</span>
|
Chris@76
|
151 </dt>
|
Chris@76
|
152 <dd>
|
Chris@76
|
153 <input type="text" name="cat_name" value="', $context['category']['editable_name'], '" size="30" tabindex="', $context['tabindex']++, '" class="input_text" />
|
Chris@76
|
154 </dd>
|
Chris@76
|
155 <dt>
|
Chris@76
|
156 <strong>' . $txt['collapse_enable'] . '</strong><br />
|
Chris@76
|
157 <span class="smalltext">' . $txt['collapse_desc'] . '</span>
|
Chris@76
|
158 </dt>
|
Chris@76
|
159 <dd>
|
Chris@76
|
160 <input type="checkbox" name="collapse"', $context['category']['can_collapse'] ? ' checked="checked"' : '', ' tabindex="', $context['tabindex']++, '" class="input_check" />
|
Chris@76
|
161 </dd>';
|
Chris@76
|
162
|
Chris@76
|
163 // Table footer.
|
Chris@76
|
164 echo '
|
Chris@76
|
165 </dl>
|
Chris@76
|
166 <div class="righttext">';
|
Chris@76
|
167
|
Chris@76
|
168 if (isset($context['category']['is_new']))
|
Chris@76
|
169 echo '
|
Chris@76
|
170 <input type="submit" name="add" value="', $txt['mboards_add_cat_button'], '" onclick="return !isEmptyText(this.form.cat_name);" tabindex="', $context['tabindex']++, '" class="button_submit" />';
|
Chris@76
|
171 else
|
Chris@76
|
172 echo '
|
Chris@76
|
173 <input type="submit" name="edit" value="', $txt['modify'], '" onclick="return !isEmptyText(this.form.cat_name);" tabindex="', $context['tabindex']++, '" class="button_submit" />
|
Chris@76
|
174 <input type="submit" name="delete" value="', $txt['mboards_delete_cat'], '" onclick="return confirm(\'', $txt['catConfirm'], '\');" class="button_submit" />';
|
Chris@76
|
175 echo '
|
Chris@76
|
176 <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />';
|
Chris@76
|
177
|
Chris@76
|
178 // If this category is empty we don't bother with the next confirmation screen.
|
Chris@76
|
179 if ($context['category']['is_empty'])
|
Chris@76
|
180 echo '
|
Chris@76
|
181 <input type="hidden" name="empty" value="1" />';
|
Chris@76
|
182
|
Chris@76
|
183 echo '
|
Chris@76
|
184 </div>
|
Chris@76
|
185 </div>
|
Chris@76
|
186 <span class="botslice"><span></span></span>
|
Chris@76
|
187 </div>
|
Chris@76
|
188 </form>
|
Chris@76
|
189 </div>
|
Chris@76
|
190 <br class="clear" />';
|
Chris@76
|
191 }
|
Chris@76
|
192
|
Chris@76
|
193 // A template to confirm if a user wishes to delete a category - and whether they want to save the boards.
|
Chris@76
|
194 function template_confirm_category_delete()
|
Chris@76
|
195 {
|
Chris@76
|
196 global $context, $settings, $options, $scripturl, $txt;
|
Chris@76
|
197
|
Chris@76
|
198 // Print table header.
|
Chris@76
|
199 echo '
|
Chris@76
|
200 <div id="manage_boards">
|
Chris@76
|
201 <form action="', $scripturl, '?action=admin;area=manageboards;sa=cat2" method="post" accept-charset="', $context['character_set'], '">
|
Chris@76
|
202 <input type="hidden" name="cat" value="', $context['category']['id'], '" />
|
Chris@76
|
203 <div class="cat_bar">
|
Chris@76
|
204 <h3 class="catbg">', $txt['mboards_delete_cat'], '</h3>
|
Chris@76
|
205 </div>
|
Chris@76
|
206 <div class="windowbg">
|
Chris@76
|
207 <span class="topslice"><span></span></span>
|
Chris@76
|
208 <div class="content">
|
Chris@76
|
209 <p>', $txt['mboards_delete_cat_contains'], ':</p>
|
Chris@76
|
210 <ul>';
|
Chris@76
|
211
|
Chris@76
|
212 foreach ($context['category']['children'] as $child)
|
Chris@76
|
213 echo '
|
Chris@76
|
214 <li>', $child, '</li>';
|
Chris@76
|
215
|
Chris@76
|
216 echo '
|
Chris@76
|
217 </ul>
|
Chris@76
|
218 </div>
|
Chris@76
|
219 <span class="botslice"><span></span></span>
|
Chris@76
|
220 </div>
|
Chris@76
|
221 <div class="cat_bar">
|
Chris@76
|
222 <h3 class="catbg">', $txt['mboards_delete_what_do'], '</h3>
|
Chris@76
|
223 </div>
|
Chris@76
|
224 <div class="windowbg">
|
Chris@76
|
225 <span class="topslice"><span></span></span>
|
Chris@76
|
226 <div class="content">
|
Chris@76
|
227 <p>
|
Chris@76
|
228 <label for="delete_action0"><input type="radio" id="delete_action0" name="delete_action" value="0" class="input_radio" checked="checked" />', $txt['mboards_delete_option1'], '</label><br />
|
Chris@76
|
229 <label for="delete_action1"><input type="radio" id="delete_action1" name="delete_action" value="1" class="input_radio"', count($context['category_order']) == 1 ? ' disabled="disabled"' : '', ' />', $txt['mboards_delete_option2'], '</label>:
|
Chris@76
|
230 <select name="cat_to" ', count($context['category_order']) == 1 ? 'disabled="disabled"' : '', '>';
|
Chris@76
|
231
|
Chris@76
|
232 foreach ($context['category_order'] as $cat)
|
Chris@76
|
233 if ($cat['id'] != 0)
|
Chris@76
|
234 echo '
|
Chris@76
|
235 <option value="', $cat['id'], '">', $cat['true_name'], '</option>';
|
Chris@76
|
236
|
Chris@76
|
237 echo '
|
Chris@76
|
238 </select>
|
Chris@76
|
239 </p>
|
Chris@76
|
240 <input type="submit" name="delete" value="', $txt['mboards_delete_confirm'], '" class="button_submit" />
|
Chris@76
|
241 <input type="submit" name="cancel" value="', $txt['mboards_delete_cancel'], '" class="button_submit" />
|
Chris@76
|
242 <input type="hidden" name="confirmation" value="1" />
|
Chris@76
|
243 <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />
|
Chris@76
|
244 </div>
|
Chris@76
|
245 <span class="botslice"><span></span></span>
|
Chris@76
|
246 </div>
|
Chris@76
|
247 </form>
|
Chris@76
|
248 </div>
|
Chris@76
|
249 <br class="clear" />';
|
Chris@76
|
250 }
|
Chris@76
|
251
|
Chris@76
|
252 // Below is the template for adding/editing an board on the forum.
|
Chris@76
|
253 function template_modify_board()
|
Chris@76
|
254 {
|
Chris@76
|
255 global $context, $settings, $options, $scripturl, $txt, $modSettings;
|
Chris@76
|
256
|
Chris@76
|
257 // The main table header.
|
Chris@76
|
258 echo '
|
Chris@76
|
259 <div id="manage_boards">
|
Chris@76
|
260 <form action="', $scripturl, '?action=admin;area=manageboards;sa=board2" method="post" accept-charset="', $context['character_set'], '">
|
Chris@76
|
261 <input type="hidden" name="boardid" value="', $context['board']['id'], '" />
|
Chris@76
|
262 <div class="cat_bar">
|
Chris@76
|
263 <h3 class="catbg">
|
Chris@76
|
264 ', isset($context['board']['is_new']) ? $txt['mboards_new_board_name'] : $txt['boardsEdit'], '
|
Chris@76
|
265 </h3>
|
Chris@76
|
266 </div>
|
Chris@76
|
267 <div class="windowbg">
|
Chris@76
|
268 <span class="topslice"><span></span></span>
|
Chris@76
|
269 <div class="content">
|
Chris@76
|
270 <dl class="settings">';
|
Chris@76
|
271
|
Chris@76
|
272 // Option for choosing the category the board lives in.
|
Chris@76
|
273 echo '
|
Chris@76
|
274
|
Chris@76
|
275 <dt>
|
Chris@76
|
276 <strong>', $txt['mboards_category'], ':</strong>
|
Chris@76
|
277
|
Chris@76
|
278 </dt>
|
Chris@76
|
279 <dd>
|
Chris@76
|
280 <select name="new_cat" onchange="if (this.form.order) {this.form.order.disabled = this.options[this.selectedIndex].value != 0; this.form.board_order.disabled = this.options[this.selectedIndex].value != 0 || this.form.order.options[this.form.order.selectedIndex].value == \'\';}">';
|
Chris@76
|
281 foreach ($context['categories'] as $category)
|
Chris@76
|
282 echo '
|
Chris@76
|
283 <option', $category['selected'] ? ' selected="selected"' : '', ' value="', $category['id'], '">', $category['name'], '</option>';
|
Chris@76
|
284 echo '
|
Chris@76
|
285 </select>
|
Chris@76
|
286 </dd>';
|
Chris@76
|
287
|
Chris@76
|
288 // If this isn't the only board in this category let the user choose where the board is to live.
|
Chris@76
|
289 if ((isset($context['board']['is_new']) && count($context['board_order']) > 0) || count($context['board_order']) > 1)
|
Chris@76
|
290 {
|
Chris@76
|
291 echo '
|
Chris@76
|
292 <dt>
|
Chris@76
|
293 <strong>', $txt['order'], ':</strong>
|
Chris@76
|
294 </dt>
|
Chris@76
|
295 <dd>';
|
Chris@76
|
296
|
Chris@76
|
297 // The first select box gives the user the option to position it before, after or as a child of another board.
|
Chris@76
|
298 echo '
|
Chris@76
|
299 <select id="order" name="placement" onchange="this.form.board_order.disabled = this.options[this.selectedIndex].value == \'\';">
|
Chris@76
|
300 ', !isset($context['board']['is_new']) ? '<option value="">(' . $txt['mboards_unchanged'] . ')</option>' : '', '
|
Chris@76
|
301 <option value="after">' . $txt['mboards_order_after'] . '...</option>
|
Chris@76
|
302 <option value="child">' . $txt['mboards_order_child_of'] . '...</option>
|
Chris@76
|
303 <option value="before">' . $txt['mboards_order_before'] . '...</option>
|
Chris@76
|
304 </select>';
|
Chris@76
|
305
|
Chris@76
|
306 // The second select box lists all the boards in the category.
|
Chris@76
|
307 echo '
|
Chris@76
|
308 <select id="board_order" name="board_order" ', isset($context['board']['is_new']) ? '' : 'disabled="disabled"', '>
|
Chris@76
|
309 ', !isset($context['board']['is_new']) ? '<option value="">(' . $txt['mboards_unchanged'] . ')</option>' : '';
|
Chris@76
|
310 foreach ($context['board_order'] as $order)
|
Chris@76
|
311 echo '
|
Chris@76
|
312 <option', $order['selected'] ? ' selected="selected"' : '', ' value="', $order['id'], '">', $order['name'], '</option>';
|
Chris@76
|
313 echo '
|
Chris@76
|
314 </select>
|
Chris@76
|
315 </dd>';
|
Chris@76
|
316 }
|
Chris@76
|
317
|
Chris@76
|
318 // Options for board name and description.
|
Chris@76
|
319 echo '
|
Chris@76
|
320 <dt>
|
Chris@76
|
321 <strong>', $txt['full_name'], ':</strong><br />
|
Chris@76
|
322 <span class="smalltext">', $txt['name_on_display'], '</span>
|
Chris@76
|
323 </dt>
|
Chris@76
|
324 <dd>
|
Chris@76
|
325 <input type="text" name="board_name" value="', $context['board']['name'], '" size="30" class="input_text" />
|
Chris@76
|
326 </dd>
|
Chris@76
|
327 <dt>
|
Chris@76
|
328 <strong>', $txt['mboards_description'], ':</strong><br />
|
Chris@76
|
329 <span class="smalltext">', $txt['mboards_description_desc'], '</span>
|
Chris@76
|
330 </dt>
|
Chris@76
|
331 <dd>
|
Chris@76
|
332 <textarea name="desc" rows="3" cols="35" style="' . ($context['browser']['is_ie8'] ? 'width: 635px; max-width: 99%; min-width: 99%' : 'width: 99%') . ';">', $context['board']['description'], '</textarea>
|
Chris@76
|
333 </dd>
|
Chris@76
|
334 <dt>
|
Chris@76
|
335 <strong>', $txt['permission_profile'], ':</strong><br />
|
Chris@76
|
336 <span class="smalltext">', $context['can_manage_permissions'] ? sprintf($txt['permission_profile_desc'], $scripturl . '?action=admin;area=permissions;sa=profiles;' . $context['session_var'] . '=' . $context['session_id']) : strip_tags($txt['permission_profile_desc']), '</span>
|
Chris@76
|
337 </dt>
|
Chris@76
|
338 <dd>
|
Chris@76
|
339 <select name="profile">';
|
Chris@76
|
340
|
Chris@76
|
341 if (isset($context['board']['is_new']))
|
Chris@76
|
342 echo '
|
Chris@76
|
343 <option value="-1">[', $txt['permission_profile_inherit'], ']</option>';
|
Chris@76
|
344
|
Chris@76
|
345 foreach ($context['profiles'] as $id => $profile)
|
Chris@76
|
346 echo '
|
Chris@76
|
347 <option value="', $id, '" ', $id == $context['board']['profile'] ? 'selected="selected"' : '', '>', $profile['name'], '</option>';
|
Chris@76
|
348
|
Chris@76
|
349 echo '
|
Chris@76
|
350 </select>
|
Chris@76
|
351 </dd>
|
Chris@76
|
352 <dt>
|
Chris@76
|
353 <strong>', $txt['mboards_groups'], ':</strong><br />
|
Chris@76
|
354 <span class="smalltext">', $txt['mboards_groups_desc'], '</span>
|
Chris@76
|
355 </dt>
|
Chris@76
|
356 <dd>';
|
Chris@76
|
357
|
Chris@76
|
358 // List all the membergroups so the user can choose who may access this board.
|
Chris@76
|
359 foreach ($context['groups'] as $group)
|
Chris@76
|
360 echo '
|
Chris@76
|
361 <label for="groups_', $group['id'], '">
|
Chris@76
|
362 <input type="checkbox" name="groups[]" value="', $group['id'], '" id="groups_', $group['id'], '"', $group['checked'] ? ' checked="checked"' : '', ' class="input_check" />
|
Chris@76
|
363 <span', $group['is_post_group'] ? ' class="post_group" title="' . $txt['mboards_groups_post_group'] . '"' : '', $group['id'] == 0 ? ' class="regular_members" title="' . $txt['mboards_groups_regular_members'] . '"' : '', '>
|
Chris@76
|
364 ', $group['name'], '
|
Chris@76
|
365 </span>
|
Chris@76
|
366 </label><br />';
|
Chris@76
|
367 echo '
|
Chris@76
|
368 <em>', $txt['check_all'], '</em> <input type="checkbox" class="input_check" onclick="invertAll(this, this.form, \'groups[]\');" /><br />
|
Chris@76
|
369 <br />
|
Chris@76
|
370 </dd>';
|
Chris@76
|
371
|
Chris@76
|
372 // Options to choose moderators, specifiy as announcement board and choose whether to count posts here.
|
Chris@76
|
373 echo '
|
Chris@76
|
374 <dt>
|
Chris@76
|
375 <strong>', $txt['mboards_moderators'], ':</strong><br />
|
Chris@76
|
376 <span class="smalltext">', $txt['mboards_moderators_desc'], '</span><br />
|
Chris@76
|
377 </dt>
|
Chris@76
|
378 <dd>
|
Chris@76
|
379 <input type="text" name="moderators" id="moderators" value="', $context['board']['moderator_list'], '" size="30" class="input_text" />
|
Chris@76
|
380 <div id="moderator_container"></div>
|
Chris@76
|
381 </dd>
|
Chris@76
|
382 </dl>
|
Chris@76
|
383 <hr class="hrcolor" />';
|
Chris@76
|
384
|
Chris@76
|
385 if (empty($context['board']['is_recycle']) && empty($context['board']['topics']))
|
Chris@76
|
386 echo '
|
Chris@76
|
387 <dl class="settings">
|
Chris@76
|
388 <dt>
|
Chris@76
|
389 <strong', $context['board']['topics'] ? ' style="color: gray;"' : '', '>', $txt['mboards_redirect'], ':</strong><br />
|
Chris@76
|
390 <span class="smalltext">', $txt['mboards_redirect_desc'], '</span><br />
|
Chris@76
|
391 </dt>
|
Chris@76
|
392 <dd>
|
Chris@76
|
393 <input type="checkbox" id="redirect_enable" name="redirect_enable"', $context['board']['topics'] ? ' disabled="disabled"' : '', $context['board']['redirect'] != '' ? ' checked="checked"' : '', ' onclick="refreshOptions();" class="input_check" />
|
Chris@76
|
394 </dd>
|
Chris@76
|
395 </dl>';
|
Chris@76
|
396
|
Chris@76
|
397 if (!empty($context['board']['is_recycle']))
|
Chris@76
|
398 echo '
|
Chris@76
|
399 <div class="information">', $txt['mboards_redirect_disabled_recycle'], '</div>';
|
Chris@76
|
400
|
Chris@76
|
401 if (empty($context['board']['is_recycle']) && !empty($context['board']['topics']))
|
Chris@76
|
402 echo '
|
Chris@76
|
403 <div class="information">
|
Chris@76
|
404 <strong>', $txt['mboards_redirect'],'</strong><br />
|
Chris@76
|
405 ', $txt['mboards_redirect_disabled'], '
|
Chris@76
|
406 </div>';
|
Chris@76
|
407
|
Chris@76
|
408 if (!$context['board']['topics'] && empty($context['board']['is_recycle']))
|
Chris@76
|
409 {
|
Chris@76
|
410 echo '
|
Chris@76
|
411 <div id="redirect_address_div">
|
Chris@76
|
412 <dl class="settings">
|
Chris@76
|
413 <dt>
|
Chris@76
|
414 <strong>', $txt['mboards_redirect_url'], ':</strong><br />
|
Chris@76
|
415 <span class="smalltext">', $txt['mboards_redirect_url_desc'], '</span><br />
|
Chris@76
|
416 </dt>
|
Chris@76
|
417 <dd>
|
Chris@76
|
418 <input type="text" name="redirect_address" value="', $context['board']['redirect'], '" size="40" class="input_text" />
|
Chris@76
|
419 </dd>
|
Chris@76
|
420 </dl>
|
Chris@76
|
421 </div>';
|
Chris@76
|
422
|
Chris@76
|
423 if ($context['board']['redirect'])
|
Chris@76
|
424 echo '
|
Chris@76
|
425 <div id="reset_redirect_div">
|
Chris@76
|
426 <dl class="settings">
|
Chris@76
|
427 <dt>
|
Chris@76
|
428 <strong>', $txt['mboards_redirect_reset'], ':</strong><br />
|
Chris@76
|
429 <span class="smalltext">', $txt['mboards_redirect_reset_desc'], '</span><br />
|
Chris@76
|
430 </dt>
|
Chris@76
|
431 <dd>
|
Chris@76
|
432 <input type="checkbox" name="reset_redirect" class="input_check" />
|
Chris@76
|
433 <em>(', sprintf($txt['mboards_current_redirects'], $context['board']['posts']), ')</em>
|
Chris@76
|
434 </dd>
|
Chris@76
|
435 </dl>
|
Chris@76
|
436 </div>';
|
Chris@76
|
437 }
|
Chris@76
|
438
|
Chris@76
|
439 echo '
|
Chris@76
|
440 <div id="count_posts_div">
|
Chris@76
|
441 <dl class="settings">
|
Chris@76
|
442 <dt>
|
Chris@76
|
443 <strong>', $txt['mboards_count_posts'], ':</strong><br />
|
Chris@76
|
444 <span class="smalltext">', $txt['mboards_count_posts_desc'], '</span><br />
|
Chris@76
|
445 </dt>
|
Chris@76
|
446 <dd>
|
Chris@76
|
447 <input type="checkbox" name="count" ', $context['board']['count_posts'] ? ' checked="checked"' : '', ' class="input_check" />
|
Chris@76
|
448 </dd>
|
Chris@76
|
449 </dl>
|
Chris@76
|
450 </div>';
|
Chris@76
|
451
|
Chris@76
|
452 // Here the user can choose to force this board to use a theme other than the default theme for the forum.
|
Chris@76
|
453 echo '
|
Chris@76
|
454 <div id="board_theme_div">
|
Chris@76
|
455 <dl class="settings">
|
Chris@76
|
456 <dt>
|
Chris@76
|
457 <strong>', $txt['mboards_theme'], ':</strong><br />
|
Chris@76
|
458 <span class="smalltext">', $txt['mboards_theme_desc'], '</span><br />
|
Chris@76
|
459 </dt>
|
Chris@76
|
460 <dd>
|
Chris@76
|
461 <select name="boardtheme" id="boardtheme" onchange="refreshOptions();">
|
Chris@76
|
462 <option value="0"', $context['board']['theme'] == 0 ? ' selected="selected"' : '', '>', $txt['mboards_theme_default'], '</option>';
|
Chris@76
|
463
|
Chris@76
|
464 foreach ($context['themes'] as $theme)
|
Chris@76
|
465 echo '
|
Chris@76
|
466 <option value="', $theme['id'], '"', $context['board']['theme'] == $theme['id'] ? ' selected="selected"' : '', '>', $theme['name'], '</option>';
|
Chris@76
|
467
|
Chris@76
|
468 echo '
|
Chris@76
|
469 </select>
|
Chris@76
|
470 </dd>
|
Chris@76
|
471 </dl>
|
Chris@76
|
472 </div>
|
Chris@76
|
473 <div id="override_theme_div">
|
Chris@76
|
474 <dl class="settings">
|
Chris@76
|
475 <dt>
|
Chris@76
|
476 <strong>', $txt['mboards_override_theme'], ':</strong><br />
|
Chris@76
|
477 <span class="smalltext">', $txt['mboards_override_theme_desc'], '</span><br />
|
Chris@76
|
478 </dt>
|
Chris@76
|
479 <dd>
|
Chris@76
|
480 <input type="checkbox" name="override_theme"', $context['board']['override_theme'] ? ' checked="checked"' : '', ' class="input_check" />
|
Chris@76
|
481 </dd>
|
Chris@76
|
482 </dl>
|
Chris@76
|
483 </div>';
|
Chris@76
|
484
|
Chris@76
|
485 if (!empty($context['board']['is_recycle']))
|
Chris@76
|
486 echo '<div class="information">', $txt['mboards_recycle_disabled_delete'], '</div>';
|
Chris@76
|
487
|
Chris@76
|
488 echo '
|
Chris@76
|
489 <input type="hidden" name="rid" value="', $context['redirect_location'], '" />
|
Chris@76
|
490 <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />';
|
Chris@76
|
491
|
Chris@76
|
492 // If this board has no children don't bother with the next confirmation screen.
|
Chris@76
|
493 if ($context['board']['no_children'])
|
Chris@76
|
494 echo '
|
Chris@76
|
495 <input type="hidden" name="no_children" value="1" />';
|
Chris@76
|
496
|
Chris@76
|
497 if (isset($context['board']['is_new']))
|
Chris@76
|
498 echo '
|
Chris@76
|
499 <input type="hidden" name="cur_cat" value="', $context['board']['category'], '" />
|
Chris@76
|
500 <input type="submit" name="add" value="', $txt['mboards_new_board'], '" onclick="return !isEmptyText(this.form.board_name);" class="button_submit" />';
|
Chris@76
|
501 else
|
Chris@76
|
502 echo '
|
Chris@76
|
503 <input type="submit" name="edit" value="', $txt['modify'], '" onclick="return !isEmptyText(this.form.board_name);" class="button_submit" />';
|
Chris@76
|
504
|
Chris@76
|
505 if (!isset($context['board']['is_new']) && empty($context['board']['is_recycle']))
|
Chris@76
|
506 echo '
|
Chris@76
|
507 <span', $context['board']['is_recycle'] ? ' style="visibility:hidden">' : '>', '<input type="submit" name="delete" value="', $txt['mboards_delete_board'], '" onclick="return confirm(\'', $txt['boardConfirm'], '\');"', ' class="button_submit" /></span>';
|
Chris@76
|
508 echo '
|
Chris@76
|
509 </div>
|
Chris@76
|
510 <span class="botslice"><span></span></span>
|
Chris@76
|
511 </div>
|
Chris@76
|
512 </form>
|
Chris@76
|
513 </div>
|
Chris@76
|
514 <br class="clear" />
|
Chris@76
|
515 <script type="text/javascript" src="', $settings['default_theme_url'], '/scripts/suggest.js?fin20"></script>
|
Chris@76
|
516 <script type="text/javascript"><!-- // --><![CDATA[
|
Chris@76
|
517 var oModeratorSuggest = new smc_AutoSuggest({
|
Chris@76
|
518 sSelf: \'oModeratorSuggest\',
|
Chris@76
|
519 sSessionId: \'', $context['session_id'], '\',
|
Chris@76
|
520 sSessionVar: \'', $context['session_var'], '\',
|
Chris@76
|
521 sSuggestId: \'moderators\',
|
Chris@76
|
522 sControlId: \'moderators\',
|
Chris@76
|
523 sSearchType: \'member\',
|
Chris@76
|
524 bItemList: true,
|
Chris@76
|
525 sPostName: \'moderator_list\',
|
Chris@76
|
526 sURLMask: \'action=profile;u=%item_id%\',
|
Chris@76
|
527 sTextDeleteItem: \'', $txt['autosuggest_delete_item'], '\',
|
Chris@76
|
528 sItemListContainerId: \'moderator_container\',
|
Chris@76
|
529 aListItems: [';
|
Chris@76
|
530
|
Chris@76
|
531 foreach ($context['board']['moderators'] as $id_member => $member_name)
|
Chris@76
|
532 echo '
|
Chris@76
|
533 {
|
Chris@76
|
534 sItemId: ', JavaScriptEscape($id_member), ',
|
Chris@76
|
535 sItemName: ', JavaScriptEscape($member_name), '
|
Chris@76
|
536 }', $id_member == $context['board']['last_moderator_id'] ? '' : ',';
|
Chris@76
|
537
|
Chris@76
|
538 echo '
|
Chris@76
|
539 ]
|
Chris@76
|
540 });
|
Chris@76
|
541 // ]]></script>';
|
Chris@76
|
542
|
Chris@76
|
543 // Javascript for deciding what to show.
|
Chris@76
|
544 echo '
|
Chris@76
|
545 <script type="text/javascript"><!-- // --><![CDATA[
|
Chris@76
|
546 function refreshOptions()
|
Chris@76
|
547 {
|
Chris@76
|
548 var redirect = document.getElementById("redirect_enable");
|
Chris@76
|
549 var redirectEnabled = redirect ? redirect.checked : false;
|
Chris@76
|
550 var nonDefaultTheme = document.getElementById("boardtheme").value == 0 ? false : true;
|
Chris@76
|
551
|
Chris@76
|
552 // What to show?
|
Chris@76
|
553 document.getElementById("override_theme_div").style.display = redirectEnabled || !nonDefaultTheme ? "none" : "";
|
Chris@76
|
554 document.getElementById("board_theme_div").style.display = redirectEnabled ? "none" : "";
|
Chris@76
|
555 document.getElementById("count_posts_div").style.display = redirectEnabled ? "none" : "";';
|
Chris@76
|
556
|
Chris@76
|
557 if (!$context['board']['topics'] && empty($context['board']['is_recycle']))
|
Chris@76
|
558 {
|
Chris@76
|
559 echo '
|
Chris@76
|
560 document.getElementById("redirect_address_div").style.display = redirectEnabled ? "" : "none";';
|
Chris@76
|
561
|
Chris@76
|
562 if ($context['board']['redirect'])
|
Chris@76
|
563 echo '
|
Chris@76
|
564 document.getElementById("reset_redirect_div").style.display = redirectEnabled ? "" : "none";';
|
Chris@76
|
565 }
|
Chris@76
|
566
|
Chris@76
|
567 echo '
|
Chris@76
|
568 }
|
Chris@76
|
569 refreshOptions();
|
Chris@76
|
570 // ]]></script>';
|
Chris@76
|
571 }
|
Chris@76
|
572
|
Chris@76
|
573 // A template used when a user is deleting a board with child boards in it - to see what they want to do with them.
|
Chris@76
|
574 function template_confirm_board_delete()
|
Chris@76
|
575 {
|
Chris@76
|
576 global $context, $settings, $options, $scripturl, $txt;
|
Chris@76
|
577
|
Chris@76
|
578 // Print table header.
|
Chris@76
|
579 echo '
|
Chris@76
|
580 <div id="manage_boards">
|
Chris@76
|
581 <form action="', $scripturl, '?action=admin;area=manageboards;sa=board2" method="post" accept-charset="', $context['character_set'], '">
|
Chris@76
|
582 <input type="hidden" name="boardid" value="', $context['board']['id'], '" />
|
Chris@76
|
583
|
Chris@76
|
584 <div class="cat_bar">
|
Chris@76
|
585 <h3 class="catbg">', $txt['mboards_delete_board'], '</h3>
|
Chris@76
|
586 </div>
|
Chris@76
|
587 <div class="windowbg">
|
Chris@76
|
588 <span class="topslice"><span></span></span>
|
Chris@76
|
589 <div class="content">
|
Chris@76
|
590 <p>', $txt['mboards_delete_board_contains'], '</p>
|
Chris@76
|
591 <ul>';
|
Chris@76
|
592
|
Chris@76
|
593 foreach ($context['children'] as $child)
|
Chris@76
|
594 echo '
|
Chris@76
|
595 <li>', $child['node']['name'], '</li>';
|
Chris@76
|
596
|
Chris@76
|
597 echo '
|
Chris@76
|
598 </ul>
|
Chris@76
|
599 </div>
|
Chris@76
|
600 <span class="botslice"><span></span></span>
|
Chris@76
|
601 </div>
|
Chris@76
|
602 <div class="cat_bar">
|
Chris@76
|
603 <h3 class="catbg">', $txt['mboards_delete_what_do'], '</h3>
|
Chris@76
|
604 </div>
|
Chris@76
|
605 <div class="windowbg">
|
Chris@76
|
606 <span class="topslice"><span></span></span>
|
Chris@76
|
607 <div class="content">
|
Chris@76
|
608 <p>
|
Chris@76
|
609 <label for="delete_action0"><input type="radio" id="delete_action0" name="delete_action" value="0" class="input_radio" checked="checked" />', $txt['mboards_delete_board_option1'], '</label><br />
|
Chris@76
|
610 <label for="delete_action1"><input type="radio" id="delete_action1" name="delete_action" value="1" class="input_radio"', empty($context['can_move_children']) ? ' disabled="disabled"' : '', ' />', $txt['mboards_delete_board_option2'], '</label>:
|
Chris@76
|
611 <select name="board_to" ', empty($context['can_move_children']) ? 'disabled="disabled"' : '', '>';
|
Chris@76
|
612
|
Chris@76
|
613 foreach ($context['board_order'] as $board)
|
Chris@76
|
614 if ($board['id'] != $context['board']['id'] && empty($board['is_child']))
|
Chris@76
|
615 echo '
|
Chris@76
|
616 <option value="', $board['id'], '">', $board['name'], '</option>';
|
Chris@76
|
617
|
Chris@76
|
618 echo '
|
Chris@76
|
619 </select>
|
Chris@76
|
620 </p>
|
Chris@76
|
621 <input type="submit" name="delete" value="', $txt['mboards_delete_confirm'], '" class="button_submit" />
|
Chris@76
|
622 <input type="submit" name="cancel" value="', $txt['mboards_delete_cancel'], '" class="button_submit" />
|
Chris@76
|
623 <input type="hidden" name="confirmation" value="1" />
|
Chris@76
|
624 <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />
|
Chris@76
|
625 </div>
|
Chris@76
|
626 <span class="botslice"><span></span></span>
|
Chris@76
|
627 </div>
|
Chris@76
|
628 </form>
|
Chris@76
|
629 </div>
|
Chris@76
|
630 <br class="clear" />';
|
Chris@76
|
631 }
|
Chris@76
|
632
|
Chris@76
|
633 ?> |