annotate forum/Themes/default/ManageNews.template.php @ 82:6dd719d7c78b website

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