comparison forum/Themes/default/ManageNews.template.php @ 76:e3e11437ecea website

Add forum code
author Chris Cannam
date Sun, 07 Jul 2013 11:25:48 +0200
parents
children
comparison
equal deleted inserted replaced
75:72f59aa7e503 76:e3e11437ecea
1 <?php
2 /**
3 * Simple Machines Forum (SMF)
4 *
5 * @package SMF
6 * @author Simple Machines
7 * @copyright 2011 Simple Machines
8 * @license http://www.simplemachines.org/about/smf/license.php BSD
9 *
10 * @version 2.0
11 */
12
13 // Form for editing current news on the site.
14 function template_edit_news()
15 {
16 global $context, $settings, $options, $scripturl, $txt;
17
18 echo '
19 <div id="admincenter">
20 <form action="', $scripturl, '?action=admin;area=news;sa=editnews" method="post" accept-charset="', $context['character_set'], '" name="postmodify" id="postmodify">
21 <table class="table_grid" width="100%">
22 <thead>
23 <tr class="catbg">
24 <th class="first_th" width="50%">', $txt['admin_edit_news'], '</th>
25 <th align="left" width="45%">', $txt['preview'], '</th>
26 <th class="last_th" align="center" width="5%"><input type="checkbox" class="input_check" onclick="invertAll(this, this.form);" /></th>
27 </tr>
28 </thead>
29 <tbody>';
30
31 // Loop through all the current news items so you can edit/remove them.
32 foreach ($context['admin_current_news'] as $admin_news)
33 echo '
34 <tr class="windowbg2">
35 <td align="center">
36
37 <div style="margin-bottom: 2ex;"><textarea rows="3" cols="65" name="news[]" style="' . ($context['browser']['is_ie8'] ? 'width: 635px; max-width: 85%; min-width: 85%' : 'width: 85%') . ';">', $admin_news['unparsed'], '</textarea></div>
38 </td><td align="left" valign="top">
39 <div style="overflow: auto; width: 100%; height: 10ex;">', $admin_news['parsed'], '</div>
40 </td><td align="center">
41 <input type="checkbox" name="remove[]" value="', $admin_news['id'], '" class="input_check" />
42 </td>
43 </tr>';
44
45 // This provides an empty text box to add a news item to the site.
46 echo '
47 <tr id="moreNews" class="windowbg2" style="display: none;">
48 <td align="center">
49 <div id="moreNewsItems"></div>
50 </td>
51 <td align="center">
52 </td>
53 <td align="center">
54 </td>
55 </tr>
56 </tbody>
57 </table>
58 <div class="floatleftpadding">
59 <div id="moreNewsItems_link" style="display: none;"><a href="javascript:void(0);" onclick="addNewsItem(); return false;">', $txt['editnews_clickadd'], '</a></div>
60 <script type="text/javascript"><!-- // --><![CDATA[
61 document.getElementById("moreNewsItems_link").style.display = "";
62 function addNewsItem()
63 {
64 document.getElementById("moreNews").style.display = "";
65 setOuterHTML(document.getElementById("moreNewsItems"), \'<div style="margin-bottom: 2ex;"><textarea rows="3" cols="65" name="news[]" style="' . ($context['browser']['is_ie8'] ? 'width: 635px; max-width: 85%; min-width: 85%' : 'width: 85%') . ';"><\' + \'/textarea><\' + \'/div><div id="moreNewsItems"><\' + \'/div>\');
66 }
67 // ]]></script>
68 <noscript>
69 <div style="margin-bottom: 2ex;"><textarea rows="3" cols="65" style="' . ($context['browser']['is_ie8'] ? 'width: 635px; max-width: 85%; min-width: 85%' : 'width: 85%') . ';" name="news[]"></textarea></div>
70 </noscript>
71 </div>
72 <div class="floatrightpadding">
73 <input type="submit" name="save_items" value="', $txt['save'], '" class="button_submit" /> <input type="submit" name="delete_selection" value="', $txt['editnews_remove_selected'], '" onclick="return confirm(\'', $txt['editnews_remove_confirm'], '\');" class="button_submit" />
74 </div>
75 <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />
76 </form>
77 </div>
78 <br class="clear" />';
79 }
80
81 function template_email_members()
82 {
83 global $context, $settings, $options, $txt, $scripturl;
84
85 // This is some javascript for the simple/advanced toggling stuff.
86 echo '
87 <script type="text/javascript"><!-- // --><![CDATA[
88 function toggleAdvanced(mode)
89 {
90 // What styles are we doing?
91 var divStyle = mode ? "" : "none";
92
93 document.getElementById("advanced_settings_div").style.display = divStyle;
94 document.getElementById("gosimple").style.display = divStyle;
95 document.getElementById("goadvanced").style.display = mode ? "none" : "";
96 }
97 // ]]></script>';
98
99 echo '
100 <div id="admincenter">
101 <form action="', $scripturl, '?action=admin;area=news;sa=mailingcompose" method="post" class="flow_hidden" accept-charset="', $context['character_set'], '">
102 <div class="cat_bar">
103 <h3 class="catbg">', $txt['admin_newsletters'], '</h3>
104 </div>
105 <div class="information">
106 ', $txt['admin_news_select_recipients'], '
107 </div>
108 <div class="windowbg">
109 <span class="topslice"><span></span></span>
110 <div class="content">
111 <dl class="settings">
112 <dt>
113 <strong>', $txt['admin_news_select_group'], ':</strong><br />
114 <span class="smalltext">', $txt['admin_news_select_group_desc'], '</span>
115 </dt>
116 <dd>';
117
118 foreach ($context['groups'] as $group)
119 echo '
120 <label for="groups_', $group['id'], '"><input type="checkbox" name="groups[', $group['id'], ']" id="groups_', $group['id'], '" value="', $group['id'], '" checked="checked" class="input_check" /> ', $group['name'], '</label> <em>(', $group['member_count'], ')</em><br />';
121
122 echo '
123 <br />
124 <label for="checkAllGroups"><input type="checkbox" id="checkAllGroups" checked="checked" onclick="invertAll(this, this.form, \'groups\');" class="input_check" /> <em>', $txt['check_all'], '</em></label>';
125
126 echo '
127 </dd>
128 </dl><br class="clear" />
129 </div>
130 <span class="botslice"><span></span></span>
131 </div>
132 <br />
133
134 <div class="cat_bar">
135 <h3 class="catbg" id="advanced_select_div" style="display: none;">
136 <span class="ie6_header floatleft">
137 <a href="#" onclick="toggleAdvanced(1); return false;" id="goadvanced"><img src="', $settings['images_url'], '/selected.gif" alt="', $txt['advanced'], '" />&nbsp;<strong>', $txt['advanced'], '</strong></a>
138 <a href="#" onclick="toggleAdvanced(0); return false;" id="gosimple" style="display: none;"><img src="', $settings['images_url'], '/sort_down.gif" alt="', $txt['simple'], '" />&nbsp;<strong>', $txt['simple'], '</strong></a>
139 </span>
140 </h3>
141 </div>
142
143 <div class="windowbg2" id="advanced_settings_div" style="display: none;">
144 <span class="topslice"><span></span></span>
145 <div class="content">
146 <dl class="settings">
147 <dt>
148 <strong>', $txt['admin_news_select_email'], ':</strong><br />
149 <span class="smalltext">', $txt['admin_news_select_email_desc'], '</span>
150 </dt>
151 <dd>
152 <textarea name="emails" rows="5" cols="30" style="' . ($context['browser']['is_ie8'] ? 'width: 635px; max-width: 98%; min-width: 98%' : 'width: 98%') . ';"></textarea>
153 </dd>
154 <dt>
155 <strong>', $txt['admin_news_select_members'], ':</strong><br />
156 <span class="smalltext">', $txt['admin_news_select_members_desc'], '</span>
157 </dt>
158 <dd>
159 <input type="text" name="members" id="members" value="" size="30" class="input_text" />
160 <span id="members_container"></span>
161 </dd>
162 </dl>
163 <hr class="bordercolor" />
164 <dl class="settings">
165 <dt>
166 <strong>', $txt['admin_news_select_excluded_groups'], ':</strong><br />
167 <span class="smalltext">', $txt['admin_news_select_excluded_groups_desc'], '</span>
168 </dt>
169 <dd>';
170
171 foreach ($context['groups'] as $group)
172 echo '
173 <label for="exclude_groups_', $group['id'], '"><input type="checkbox" name="exclude_groups[', $group['id'], ']" id="exclude_groups_', $group['id'], '" value="', $group['id'], '" class="input_check" /> ', $group['name'], '</label> <em>(', $group['member_count'], ')</em><br />';
174
175 echo '
176 <br />
177 <label for="checkAllGroupsExclude"><input type="checkbox" id="checkAllGroupsExclude" onclick="invertAll(this, this.form, \'exclude_groups\');" class="input_check" /> <em>', $txt['check_all'], '</em></label><br />
178 </dd>
179 <dt>
180 <strong>', $txt['admin_news_select_excluded_members'], ':</strong><br />
181 <span class="smalltext">', $txt['admin_news_select_excluded_members_desc'], '</span>
182 </dt>
183 <dd>
184 <input type="text" name="exclude_members" id="exclude_members" value="" size="30" class="input_text" />
185 <span id="exclude_members_container"></span>
186 </dd>
187 </dl>
188 <hr class="bordercolor" />
189 <dl class="settings">
190 <dt>
191 <label for="email_force"><strong>', $txt['admin_news_select_override_notify'], ':</strong></label><br />
192 <span class="smalltext">', $txt['email_force'], '</span>
193 </dt>
194 <dd>
195 <input type="checkbox" name="email_force" id="email_force" value="1" class="input_check" />
196 </dd>
197 </dl><br class="clear" />
198 </div>
199 <span class="botslice"><span></span></span>
200 </div>
201 <div class="righttext">
202 <input type="submit" value="', $txt['admin_next'], '" class="button_submit" />
203 <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />
204 </div>
205 </form>
206 </div>
207 <br class="clear" />';
208
209 // Make the javascript stuff visible.
210 echo '
211 <script type="text/javascript" src="', $settings['default_theme_url'], '/scripts/suggest.js?fin20"></script>
212 <script type="text/javascript"><!-- // --><![CDATA[
213 document.getElementById("advanced_select_div").style.display = "";
214 var oMemberSuggest = new smc_AutoSuggest({
215 sSelf: \'oMemberSuggest\',
216 sSessionId: \'', $context['session_id'], '\',
217 sSessionVar: \'', $context['session_var'], '\',
218 sSuggestId: \'members\',
219 sControlId: \'members\',
220 sSearchType: \'member\',
221 bItemList: true,
222 sPostName: \'member_list\',
223 sURLMask: \'action=profile;u=%item_id%\',
224 sTextDeleteItem: \'', $txt['autosuggest_delete_item'], '\',
225 sItemListContainerId: \'members_container\',
226 aListItems: []
227 });
228 var oExcludeMemberSuggest = new smc_AutoSuggest({
229 sSelf: \'oExcludeMemberSuggest\',
230 sSessionId: \'', $context['session_id'], '\',
231 sSessionVar: \'', $context['session_var'], '\',
232 sSuggestId: \'exclude_members\',
233 sControlId: \'exclude_members\',
234 sSearchType: \'member\',
235 bItemList: true,
236 sPostName: \'exclude_member_list\',
237 sURLMask: \'action=profile;u=%item_id%\',
238 sTextDeleteItem: \'', $txt['autosuggest_delete_item'], '\',
239 sItemListContainerId: \'exclude_members_container\',
240 aListItems: []
241 });
242 // ]]></script>';
243 }
244
245 function template_email_members_compose()
246 {
247 global $context, $settings, $options, $txt, $scripturl;
248
249 echo '
250 <div id="admincenter">
251 <form action="', $scripturl, '?action=admin;area=news;sa=mailingsend" method="post" accept-charset="', $context['character_set'], '">
252 <div class="cat_bar">
253 <h3 class="catbg">
254 <a href="', $scripturl, '?action=helpadmin;help=email_members" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.gif" alt="', $txt['help'], '" class="icon" /></a> ', $txt['admin_newsletters'], '
255 </h3>
256 </div>
257 <div class="information">
258 ', $txt['email_variables'], '
259 </div>
260 <div class="windowbg">
261 <span class="topslice"><span></span></span>
262 <div class="content">
263 <p>
264 <input type="text" name="subject" size="60" value="', $context['default_subject'], '" class="input_text" />
265 </p>
266 <p>
267 <textarea cols="70" rows="9" name="message" class="editor">', $context['default_message'], '</textarea>
268 </p>
269 <ul class="reset">
270 <li><label for="send_pm"><input type="checkbox" name="send_pm" id="send_pm" class="input_check" onclick="if (this.checked && ', $context['total_emails'], ' != 0 && !confirm(\'', $txt['admin_news_cannot_pm_emails_js'], '\')) return false; this.form.parse_html.disabled = this.checked; this.form.send_html.disabled = this.checked; " /> ', $txt['email_as_pms'], '</label></li>
271 <li><label for="send_html"><input type="checkbox" name="send_html" id="send_html" class="input_check" onclick="this.form.parse_html.disabled = !this.checked;" /> ', $txt['email_as_html'], '</label></li>
272 <li><label for="parse_html"><input type="checkbox" name="parse_html" id="parse_html" checked="checked" disabled="disabled" class="input_check" /> ', $txt['email_parsed_html'], '</label></li>
273 </ul>
274 <p>
275 <input type="submit" value="', $txt['sendtopic_send'], '" class="button_submit" />
276 </p>
277 </div>
278 <span class="botslice"><span></span></span>
279 </div>
280 <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />
281 <input type="hidden" name="email_force" value="', $context['email_force'], '" />
282 <input type="hidden" name="total_emails" value="', $context['total_emails'], '" />
283 <input type="hidden" name="max_id_member" value="', $context['max_id_member'], '" />';
284
285 foreach ($context['recipients'] as $key => $values)
286 echo '
287 <input type="hidden" name="', $key, '" value="', implode(($key == 'emails' ? ';' : ','), $values), '" />';
288
289 echo '
290 </form>
291 </div>
292 <br class="clear" />';
293 }
294
295 function template_email_members_send()
296 {
297 global $context, $settings, $options, $txt, $scripturl;
298
299 echo '
300 <div id="admincenter">
301 <form action="', $scripturl, '?action=admin;area=news;sa=mailingsend" method="post" accept-charset="', $context['character_set'], '" name="autoSubmit" id="autoSubmit">
302 <div class="cat_bar">
303 <h3 class="catbg">
304 <a href="', $scripturl, '?action=helpadmin;help=email_members" onclick="return reqWin(this.href);" class="help"><img src="', $settings['images_url'], '/helptopics.gif" alt="', $txt['help'], '" align="top" /></a> ', $txt['admin_newsletters'], '
305 </h3>
306 </div>
307 <div class="windowbg">
308 <span class="topslice"><span></span></span>
309 <div class="content">
310 <p>
311 <strong>', $context['percentage_done'], '% ', $txt['email_done'], '</strong>
312 </p>
313 <input type="submit" name="b" value="', $txt['email_continue'], '" class="button_submit" />
314 <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />
315 <input type="hidden" name="subject" value="', $context['subject'], '" />
316 <input type="hidden" name="message" value="', $context['message'], '" />
317 <input type="hidden" name="start" value="', $context['start'], '" />
318 <input type="hidden" name="total_emails" value="', $context['total_emails'], '" />
319 <input type="hidden" name="max_id_member" value="', $context['max_id_member'], '" />
320 <input type="hidden" name="send_pm" value="', $context['send_pm'], '" />
321 <input type="hidden" name="send_html" value="', $context['send_html'], '" />
322 <input type="hidden" name="parse_html" value="', $context['parse_html'], '" />';
323
324 // All the things we must remember!
325 foreach ($context['recipients'] as $key => $values)
326 echo '
327 <input type="hidden" name="', $key, '" value="', implode(($key == 'emails' ? ';' : ','), $values), '" />';
328
329 echo '
330 </div>
331 <span class="botslice"><span></span></span>
332 </div>
333 </form>
334 </div>
335 <br class="clear" />
336 <script type="text/javascript"><!-- // --><![CDATA[
337 var countdown = 2;
338 doAutoSubmit();
339
340 function doAutoSubmit()
341 {
342 if (countdown == 0)
343 document.forms.autoSubmit.submit();
344 else if (countdown == -1)
345 return;
346
347 document.forms.autoSubmit.b.value = "', $txt['email_continue'], ' (" + countdown + ")";
348 countdown--;
349
350 setTimeout("doAutoSubmit();", 1000);
351 }
352 // ]]></script>';
353 }
354
355 ?>