<?php
// Version: 1.0.3; Display
function template_main()
{
global $context, $settings, $options, $txt, $scripturl, $modSettings;
// Show the anchor for the top and for the first message. If the first message is new, say so.
echo '
<a name="top"></a>
<a name="msg', $context['first_message'], '"></a>', $context['first_new_message'] ? '<a name="new"></a>' : '';
// Show the linktree as well as the "Who's Viewing" information.
echo '
<table width="100%" cellpadding="3" cellspacing="0">
<tr>
<td valign="bottom">', theme_linktree(), '</td>';
if (!empty($settings['display_who_viewing']))
{
echo '
<td align="center" class="smalltext">';
// Show just numbers...?
if ($settings['display_who_viewing'] == 1)
echo count($context['view_members']), ' ', count($context['view_members']) == 1 ? $txt['who_member'] : $txt[19];
// Or show the actual people viewing the topic?
else
echo empty($context['view_members_list']) ? '0 ' . $txt[19] : implode(', ', $context['view_members_list']) . (empty($context['view_num_hidden']) || $context['can_moderate_forum'] ? '' : ' (+ ' . $context['view_num_hidden'] . ' ' . $txt['hidden'] . ')');
// Now show how many guests are here too.
echo $txt['who_and'], $context['view_num_guests'], ' ', $context['view_num_guests'] == 1 ? $txt['guest'] : $txt['guests'], $txt['who_viewing_topic'], '</td>';
}
// Show the previous/next links.
echo '
<td valign="bottom" align="right" class="smalltext">
<span class="nav">', $context['previous_next'], '</span>
</td>
</tr>
</table>';
// Is this topic also a poll?
if ($context['is_poll'])
{
echo '
<table cellpadding="3" cellspacing="0" border="0" width="100%" class="tborder" style="margin-bottom: 2ex;">
<tr class="titlebg">
<td colspan="2" valign="middle" align="left" style="padding-left: 6px;">
<img src="', $settings['images_url'], '/topic/', $context['poll']['is_locked'] ? 'normal_poll_locked' : 'normal_poll', '.gif" alt="" align="top" /> ', $txt['smf43'], '
</td>
</tr>
<tr class="windowbg">
<td width="5%" valign="top"><b>', $txt['smf21'], ':</b></td>
<td>
', $context['poll']['question'];
if (!empty($context['poll']['expire_time']))
echo '
(', ($context['poll']['is_expired'] ? $txt['poll_expired_on'] : $txt['poll_expires_on']), ': ', $context['poll']['expire_time'], ')';
// Are they not allowed to vote but allowed to view the options?
if (!$context['allow_vote'])
{
echo '
<table>
<tr>
<td style="padding-top: 2ex;">
<table border="0" cellpadding="0" cellspacing="0">';
// Show each option with its corresponding percentage bar.
foreach ($context['poll']['options'] as $option)
echo '
<tr>
<td style="padding-right: 2ex;">', $option['option'], '</td>', $context['allow_poll_view'] ? '
<td nowrap="nowrap">' . $option['bar'] . ' ' . $option['votes'] . ' (' . $option['percent'] . '%)</td>' : '', '
</tr>';
echo '
</table>
</td>
<td valign="bottom" style="padding-left: 15px;">';
// If they are allowed to revote - show them a link!
if ($context['allow_change_vote'])
echo '
<a href="', $scripturl, '?action=vote;topic=', $context['current_topic'], '.', $context['start'], ';poll=', $context['poll']['id'], ';sesc=', $context['session_id'], '">', $txt['poll_change_vote'], '</a><br />';
// If they're allowed to lock the poll, show a link!
if ($context['poll']['lock'])
echo '
<a href="', $scripturl, '?action=lockVoting;topic=', $context['current_topic'], '.', $context['start'], ';sesc=', $context['session_id'], '">', !$context['poll']['is_locked'] ? $txt['smf30'] : $txt['smf30b'], '</a><br />';
// If they're allowed to edit the poll... guess what... show a link!
if ($context['poll']['edit'])
echo '
<a href="', $scripturl, '?action=editpoll;topic=', $context['current_topic'], '.', $context['start'], '">', $txt['smf39'], '</a>';
echo '
</td>
</tr>', $context['allow_poll_view'] ? '
<tr>
<td colspan="2"><b>' . $txt['smf24'] . ': ' . $context['poll']['total_votes'] . '</b></td>
</tr>' : '', '
</table><br />';
}
// They are allowed to vote! Go to it!
else
{
echo '
<form action="', $scripturl, '?action=vote;topic=', $context['current_topic'], '.', $context['start'], ';poll=', $context['poll']['id'], '" method="post" style="margin: 0px;">
<table>
<tr>
<td colspan="2">';
// Show a warning if they are allowed more than one option.
if ($context['poll']['allowed_warning'])
echo '
', $context['poll']['allowed_warning'], '
</td>
</tr><tr>
<td>';
// Show each option with its button - a radio likely.
foreach ($context['poll']['options'] as $option)
echo '
', $option['vote_button'], ' ', $option['option'], '<br />';
echo '
</td>
<td valign="bottom" style="padding-left: 15px;">';
// Allowed to view the results? (without voting!)
if ($context['allow_poll_view'])
echo '
<a href="', $scripturl, '?topic=', $context['current_topic'], '.', $context['start'], ';viewResults">', $txt['smf29'], '</a><br />';
// Show a link for locking the poll as well...
if ($context['poll']['lock'])
echo '
<a href="', $scripturl, '?action=lockVoting;topic=', $context['current_topic'], '.', $context['start'], ';sesc=', $context['session_id'], '">', (!$context['poll']['is_locked'] ? $txt['smf30'] : $txt['smf30b']), '</a><br />';
// Want to edit it? Click right here......
if ($context['poll']['edit'])
echo '
<a href="', $scripturl, '?action=editpoll;topic=', $context['current_topic'], '.', $context['start'], '">', $txt['smf39'], '</a>';
echo '
</td>
</tr><tr>
<td colspan="2"><input type="submit" value="', $txt['smf23'], '" /></td>
</tr>
</table>
<input type="hidden" name="sc" value="', $context['session_id'], '" />
</form>';
}
echo '
</td>
</tr>
</table>';
}
// Show the page index... "Pages: [1]".
echo '
<table width="100%" cellpadding="3" cellspacing="0" border="0" class="tborder" style="margin-bottom: 1ex;">
<tr>
<td align="left" class="catbg" width="100%" height="35">
<table cellpadding="3" cellspacing="0" width="100%">
<tr>
<td>
<b>', $txt[139], ':</b> ', $context['page_index'];
// Show a "go down" link?
if (!empty($modSettings['topbottomEnable']))
echo $context['menu_separator'], '<a href="#bot">', $settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/go_down.gif" alt="' . $txt['topbottom5'] . '" border="0" align="top" />' : $txt['topbottom5'], '</a>';
echo '
</td>
<td align="right" style="font-size: smaller;">';
$buttonArray = array();
if ($context['can_reply'])
$buttonArray[] = '<a href="' . $scripturl . '?action=post;topic=' . $context['current_topic'] . '.' . $context['start'] . ';num_replies=' . $context['num_replies'] . '">' . ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/reply.gif" alt="' . $txt[146] . '" border="0" />' : $txt[146]) . '</a>';
if ($context['can_mark_notify'])
$buttonArray[] = '<a href="' . $scripturl . '?action=notify;sa=' . ($context['is_marked_notify'] ? 'off' : 'on') . ';topic=' . $context['current_topic'] . '.' . $context['start'] . ';sesc=' . $context['session_id'] . '" onclick="return confirm(\'' . ($context['is_marked_notify'] ? $txt['notification_disable_topic'] : $txt['notification_enable_topic']) . '\');">' . ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/notify.gif" alt="' . $txt[131] . '" border="0" />' : $txt[131]) . '</a>';
// This is a special case; if they can see mark unread, put it at the top... otherwise show add poll.
if ($context['user']['is_logged'] && $settings['show_mark_read'])
$buttonArray[] = '<a href="' . $scripturl . '?action=markasread;sa=topic;topic=' . $context['current_topic'] . '.' . $context['start'] . '">' . ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/markunread.gif" alt="' . $txt['mark_unread'] . '" border="0" />' : $txt['mark_unread']) . '</a>';
elseif ($context['can_add_poll'])
$buttonArray[] = '<a href="' . $scripturl . '?action=post;poll;msg=' . $context['topic_first_message'] . ';topic=' . $context['current_topic'] . '.' . $context['start'] . ';sesc=' . $context['session_id'] . '">' . ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/addpoll.gif" alt="' . $txt['add_poll'] . '" border="0" />' : $txt['add_poll']) . '</a>';
if ($context['can_send_topic'])
$buttonArray[] = '<a href="' . $scripturl . '?action=sendtopic;topic=' . $context['current_topic'] . '.0">' . ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/sendtopic.gif" alt="' . $txt[707] . '" border="0" />' : $txt[707]) . '</a>';
$buttonArray[] = '<a href="' . $scripturl . '?action=printpage;topic=' . $context['current_topic'] . '.0" target="_blank">' . ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/print.gif" alt="' . $txt[465] . '" border="0" />' : $txt[465]) . '</a>';
echo implode($context['menu_separator'], $buttonArray);
echo '</td>
</tr>
</table>
</td>
</tr>
</table>';
// Engima addition
echo theme_news_Console();
// end Enigma
// Show the topic information - icon, subject, etc.
echo '
<table width="100%" cellpadding="3" cellspacing="0" border="0" class="tborder" style="border-bottom: 0;">
<tr class="titlebg">
<td valign="middle" align="left" width="15%" style="padding-left: 6px;">
<img src="', $settings['images_url'], '/topic/', $context['class'], '.gif" alt="" align="middle" /> ', $txt[29], '
</td>
<td valign="middle" align="left" width="85%" style="padding-left: 6px;">
', $txt[118], ': ', $context['subject'], ' (', $txt[641], ' ', $context['num_views'], ' ', $txt[642], ')
</td>
</tr>
</table>';
if (!empty($options['display_quick_mod']) && $options['display_quick_mod'] == 1)
echo '
<form action="', $scripturl, '?action=quickmod2;topic=', $context['current_topic'], '.', $context['start'], '" method="post" name="quickModForm" style="margin: 0;">';
echo '
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="bordercolor">';
// Get all the messages...
while ($message = $context['get_message']())
{
echo '
<tr><td style="padding: 1px 1px 0 1px;">';
// Show the message anchor and a "new" anchor if this message is new.
if ($message['id'] != $context['first_message'])
echo '
<a name="msg', $message['id'], '"></a>', $message['first_new'] ? '<a name="new"></a>' : '';
echo '
<table width="100%" cellpadding="3" cellspacing="0" border="0">
<tr><td class="', $message['alternate'] == 0 ? 'thread1bg' : 'thread2bg', '">';
// Show information about the poster of this message.
echo '
<table width="100%" cellpadding="5" cellspacing="0" style="table-layout: fixed;">
<tr>
<td valign="top" width="20%" rowspan="2" style="overflow: hidden;">
<b>', $message['member']['link'], '</b>
<div class="smalltext">';
// Show the member's custom title, if they have one.
if (isset($message['member']['title']) && $message['member']['title'] != '')
echo '
', $message['member']['title'], '<br />';
// Show the member's primary group (like 'Administrator') if they have one.
if (isset($message['member']['group']) && $message['member']['group'] != '')
echo '
', $message['member']['group'], '<br />';
// Don't show these things for guests.
if (!$message['member']['is_guest'])
{
// Show the post group if and only if they have no other group or the option is on, and they are in a post group.
if ((empty($settings['hide_post_group']) || $message['member']['group'] == '') && $message['member']['post_group'] != '')
echo '
', $message['member']['post_group'], '<br />';
echo '
', $message['member']['group_stars'], '<br />';
// Is karma display enabled? Total or +/-?
if ($modSettings['karmaMode'] == '1')
echo '
<br />
', $modSettings['karmaLabel'], ' ', $message['member']['karma']['good'] - $message['member']['karma']['bad'], '<br />';
elseif ($modSettings['karmaMode'] == '2')
echo '
<br />
', $modSettings['karmaLabel'], ' +', $message['member']['karma']['good'], '/-', $message['member']['karma']['bad'], '<br />';
// Is this user allowed to modify this member's karma?
if ($message['member']['karma']['allow'])
echo '
<a href="', $scripturl, '?action=modifykarma;sa=applaud;uid=', $message['member']['id'], ';topic=', $context['current_topic'], '.' . $context['start'], ';m=', $message['id'], '">', $modSettings['karmaApplaudLabel'], '</a>
<a href="', $scripturl, '?action=modifykarma;sa=smite;uid=', $message['member']['id'], ';topic=', $context['current_topic'], '.', $context['start'], ';m=', $message['id'], '">', $modSettings['karmaSmiteLabel'], '</a><br />';
// Show online and offline buttons?
if (!empty($modSettings['onlineEnable']) && !$message['member']['is_guest'])
echo '
', $context['can_send_pm'] ? '<a href="' . $message['member']['online']['href'] . '" title="' . $message['member']['online']['label'] . '">' : '', $settings['use_image_buttons'] ? '<img src="' . $message['member']['online']['image_href'] . '" alt="' . $message['member']['online']['text'] . '" border="0" align="middle" />' : $message['member']['online']['text'], $context['can_send_pm'] ? '</a>' : '', $settings['use_image_buttons'] ? '<span class="smalltext"> ' . $message['member']['online']['text'] . '</span>' : '', '<br /><br />';
// Show the member's gender icon?
if (!empty($settings['show_gender']) && $message['member']['gender']['image'] != '')
echo '
', $txt[231], ': ', $message['member']['gender']['image'], '<br />';
// Show how many posts they have made.
echo '
', $txt[26], ': ', $message['member']['posts'], '<br />
<br />';
// Show avatars, images, etc.?
if (!empty($settings['show_user_images']) && empty($options['show_no_avatars']) && !empty($message['member']['avatar']['image']))
echo '
<div style="overflow: auto; width: 100%;">', $message['member']['avatar']['image'], '</div><br />';
// Show their personal text?
if (!empty($settings['show_blurb']) && $message['member']['blurb'] != '')
echo '
', $message['member']['blurb'], '<br />
<br />';
// This shows the popular messaging icons.
echo '
', $message['member']['icq']['link'], '
', $message['member']['msn']['link'], '
', $message['member']['aim']['link'], '
', $message['member']['yim']['link'], '<br />';
// Show the profile, website, email address, and personal message buttons.
if ($settings['show_profile_buttons'])
{
// Don't show the profile button if you're not allowed to view the profile.
if ($message['member']['can_view_profile'])
echo '
<a href="', $message['member']['href'], '">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/icons/profile_sm.gif" alt="' . $txt[27] . '" title="' . $txt[27] . '" border="0" />' : $txt[27]), '</a>';
// Don't show an icon if they haven't specified a website.
if ($message['member']['website']['url'] != '')
echo '
<a href="', $message['member']['website']['url'], '" title="' . $message['member']['website']['title'] . '" target="_blank">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/www_sm.gif" alt="' . $txt[515] . '" border="0" />' : $txt[515]), '</a>';
// Don't show the email address if they want it hidden.
if (empty($message['member']['hide_email']))
echo '
<a href="mailto:', $message['member']['email'], '">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/email_sm.gif" alt="' . $txt[69] . '" title="' . $txt[69] . '" border="0" />' : $txt[69]), '</a>';
// Since we know this person isn't a guest, you *can* message them.
if ($context['can_send_pm'])
echo '
<a href="', $scripturl, '?action=pm;sa=send;u=', $message['member']['id'], '" title="', $message['member']['online']['label'], '">', $settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/im_' . ($message['member']['online']['is_online'] ? 'on' : 'off') . '.gif" alt="' . $message['member']['online']['label'] . '" border="0" />' : $message['member']['online']['label'], '</a>';
}
}
// Otherwise, show the guest's email.
else
echo '
<br />
<br />
<a href="mailto:', $message['member']['email'], '">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/email_sm.gif" alt="' . $txt[69] . '" title="' . $txt[69] . '" border="0" />' : $txt[69]), '</a>';
// Done with the information about the poster... on to the post itself.
echo '
</div>
</td>
<td valign="top" width="80%" height="100%">
<table width="100%" border="0"><tr>
<td align="left" valign="middle"><a href="', $message['href'], '"><img src="', $settings['images_url'], '/post/' . $message['icon'] . '.gif" alt="" border="0" /></a></td>
<td align="left" valign="middle">
<b><a href="', $message['href'], '">', $message['subject'], '</a></b>';
// If this is the first post, (#0) just say when it was posted - otherwise give the reply #.
echo '
<div class="smalltext">« <b>', !empty($message['counter']) ? $txt[146] . ' #' . $message['counter'] : '', ' ', $txt[30], ':</b> ', $message['time'], ' »</div></td>
<td align="right" valign="bottom" height="20" nowrap="nowrap" style="font-size: smaller;">';
// Can they reply? Have they turned on quick reply?
if ($context['can_reply'] && !empty($options['display_quick_reply']))
echo '
<a href="', $scripturl, '?action=post;quote=', $message['id'], ';topic=', $context['current_topic'], '.', $context['start'], ';num_replies=', $context['num_replies'], ';sesc=', $context['session_id'], '" onclick="if (!currentSwap) doQuote(', $message['id'], '); else window.location.href = this.href; return false;">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/quote.gif" alt="' . $txt[145] . '" border="0" />' : $txt[145]), '</a>';
// So... quick reply is off, but they *can* reply?
elseif ($context['can_reply'])
echo '
<a href="', $scripturl, '?action=post;quote=', $message['id'], ';topic=', $context['current_topic'], '.', $context['start'], ';num_replies=', $context['num_replies'], ';sesc=', $context['session_id'], '">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/quote.gif" alt="' . $txt[145] . '" border="0" />' : $txt[145]), '</a>';
// Can the user modify the contents of this post?
if ($message['can_modify'])
echo '
<a href="', $scripturl, '?action=post;msg=', $message['id'], ';topic=', $context['current_topic'], '.', $context['start'], ';sesc=', $context['session_id'], '">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/modify.gif" alt="' . $txt[66] . '" border="0" />' : $txt[17]), '</a>';
// How about... even... remove it entirely?!
if ($message['can_remove'])
echo '
<a href="', $scripturl, '?action=deletemsg;topic=', $context['current_topic'], '.', $context['start'], ';msg=', $message['id'], ';sesc=', $context['session_id'], '" onclick="return confirm(\'', $txt[154], '?\');">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/delete.gif" alt="' . $txt[121] . '" border="0" />' : $txt[31]), '</a>';
// What about splitting it off the rest of the topic?
if ($context['can_split'])
echo '
<a href="', $scripturl, '?action=splittopics;topic=', $context['current_topic'], '.0;at=', $message['id'], '">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/split.gif" alt="' . $txt['smf251'] . '" border="0" />' : $txt['smf251']), '</a>';
// Show a checkbox for quick moderation?
if (!empty($options['display_quick_mod']) && $options['display_quick_mod'] == 1 && $message['can_remove'])
echo '
<input type="checkbox" name="msgs[]" value="', $message['id'], '" class="check" />';
// Show the post itself, finally!
echo '
</td>
</tr></table>
<hr width="100%" size="1" class="hrcolor" />
<div style="overflow: auto; width: 100%;">', $message['body'], '</div>
</td>
</tr>';
// Now for the attachments, signature, ip logged, etc...
echo '
<tr>
<td valign="bottom" class="smalltext" width="85%">
<table width="100%" border="0" style="table-layout: fixed;"><tr>
<td align="left" colspan="2" class="smalltext" width="100%">';
// Assuming there are attachments...
if (!empty($message['attachment']))
{
echo '
<hr width="100%" size="1" class="hrcolor" />
<div style="overflow: auto; width: 100%;">';
foreach ($message['attachment'] as $attachment)
{
if (isset($attachment['image']))
echo '
', $attachment['image'], '<br />';
echo '
<a href="' . $attachment['href'] . '"><img src="' . $settings['images_url'] . '/icons/clip.gif" align="middle" alt="*" border="0" /> ' . $attachment['name'] . '</a> (', $attachment['size'], ($attachment['is_image'] ? ', ' . $attachment['width'] . 'x' . $attachment['height'] . ' - ' . $txt['attach_viewed'] : ' - ' . $txt['attach_downloaded']) . ' ' . $attachment['downloads'] . ' ' . $txt['attach_times'] . '.)<br />';
}
echo '
</div>';
}
echo '
</td>
</tr><tr>
<td align="left" valign="bottom" class="smalltext">';
// Show "« Last Edit: Time by Person »" if this post was edited.
if ($settings['show_modify'] && !empty($message['modified']['name']))
echo '
« <i>', $txt[211], ': ', $message['modified']['time'], ' ', $txt[525], ' ', $message['modified']['name'], '</i> »';
echo '
</td>
<td align="right" valign="bottom" class="smalltext">';
// Maybe they want to report this post to the moderator(s)?
if ($context['can_report_moderator'])
echo '
<a href="', $scripturl, '?action=reporttm;topic=', $context['current_topic'], '.', $message['counter'], ';msg=', $message['id'], '">', $txt['rtm1'], '</a> ';
echo '
<img src="', $settings['images_url'], '/ip.gif" alt="" border="0" />';
// Show the IP to this user for this post - because you can moderate?
if ($context['can_moderate_forum'] && !empty($message['member']['ip']))
echo '
<a href="', $scripturl, '?action=trackip;searchip=', $message['member']['ip'], '">', $message['member']['ip'], '</a> <a href="', $scripturl, '?action=helpadmin;help=see_admin_ip" onclick="return reqWin(this.href);" class="help">(?)</a>';
// Or, should we show it because this is you?
elseif ($message['can_see_ip'])
echo '
<a href="', $scripturl, '?action=helpadmin;help=see_member_ip" onclick="return reqWin(this.href);" class="help">', $message['member']['ip'], '</a>';
// Okay, are you at least logged in? Then we can show something about why IPs are logged...
elseif (!$context['user']['is_guest'])
echo '
<a href="', $scripturl, '?action=helpadmin;help=see_member_ip" onclick="return reqWin(this.href);" class="help">', $txt[511], '</a>';
// Otherwise, you see NOTHING!
else
echo '
', $txt[511];
echo '
</td>
</tr></table>';
// Show the member's signature?
if (!empty($message['member']['signature']) && empty($options['show_no_signatures']))
echo '
<hr width="100%" size="1" class="hrcolor" />
<div style="overflow: auto; width: 100%; padding-bottom: 3px;" class="signature">', $message['member']['signature'], '</div>';
echo '
</td>
</tr>
</table>
</td></tr>
</table>
</td></tr>';
}
echo '
<tr><td style="padding: 0 0 1px 0;"></td></tr>
</table>
<a name="lastPost"></a>
<table width="100%" cellpadding="3" cellspacing="0" border="0" class="tborder" style="margin-top: 1ex;">
<tr>
<td align="left" class="catbg" width="100%" height="30">
<table cellpadding="3" cellspacing="0" width="100%">
<tr>
<td>
<a name="bot"></a><b>', $txt[139], ':</b> ', $context['page_index'], ($modSettings['topbottomEnable'] ? $context['menu_separator'] . '<a href="#top">' . ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/go_up.gif" alt="' . $txt['topbottom4'] . '" border="0" align="top" />' : $txt['topbottom4']) . '</a>' : ''), '
</td>
<td align="right" style="font-size: smaller;">';
$buttonArray = array();
if ($context['can_reply'])
$buttonArray[] = '<a href="' . $scripturl . '?action=post;topic=' . $context['current_topic'] . '.' . $context['start'] . ';num_replies=' . $context['num_replies'] . '">' . ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/reply.gif" alt="' . $txt[146] . '" border="0" />' : $txt[146]) . '</a>';
if ($context['can_mark_notify'])
$buttonArray[] = '<a href="' . $scripturl . '?action=notify;sa=' . ($context['is_marked_notify'] ? 'off' : 'on') . ';topic=' . $context['current_topic'] . '.' . $context['start'] . ';sesc=' . $context['session_id'] . '" onclick="return confirm(\'' . ($context['is_marked_notify'] ? $txt['notification_disable_topic'] : $txt['notification_enable_topic']) . '\');">' . ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/notify.gif" alt="' . $txt[131] . '" border="0" />' : $txt[131]) . '</a>';
// Another special case, similar to above but reversed. Show "add poll" unless they can't - then show unread here too.
if ($context['can_add_poll'])
$buttonArray[] = '<a href="' . $scripturl . '?action=post;poll;msg=' . $context['topic_first_message'] . ';topic=' . $context['current_topic'] . '.' . $context['start'] . ';sesc=' . $context['session_id'] . '">' . ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/addpoll.gif" alt="' . $txt['add_poll'] . '" border="0" />' : $txt['add_poll']) . '</a>';
elseif ($context['user']['is_logged'] && $settings['show_mark_read'])
$buttonArray[] = '<a href="' . $scripturl . '?action=markasread;sa=topic;topic=' . $context['current_topic'] . '.' . $context['start'] . '">' . ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/markunread.gif" alt="' . $txt['mark_unread'] . '" border="0" />' : $txt['mark_unread']) . '</a>';
if ($context['can_send_topic'])
$buttonArray[] = '<a href="' . $scripturl . '?action=sendtopic;topic=' . $context['current_topic'] . '.0">' . ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/sendtopic.gif" alt="' . $txt[707] . '" border="0" />' : $txt[707]) . '</a>';
$buttonArray[] = '<a href="' . $scripturl . '?action=printpage;topic=' . $context['current_topic'] . '.0" target="_blank">' . ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/print.gif" alt="' . $txt[465] . '" border="0" />' : $txt[465]) . '</a>';
echo implode($context['menu_separator'], $buttonArray);
echo '
</td>
</tr>
</table>
</td>
</tr>
</table>
<script language="JavaScript1.2" type="text/javascript"><!--';
if (!empty($options['display_quick_reply']))
echo '
var currentSwap = ', $options['display_quick_reply'] == 2 ? 'false' : 'true', ';
function swapOptions()
{
document.getElementById("quickReplyExpand").src = smf_images_url + "/" + (currentSwap ? "collapse.gif" : "expand.gif");
document.getElementById("quickReplyOptions").style.display = currentSwap ? "" : "none";
currentSwap = !currentSwap;
}
setTimeout("fetchSession();", 600000);
function fetchSession()
{
document.getElementById("fetchSessionTemp").src = "', $scripturl, '?action=jsoption;sesc=', $context['session_id'], ';" + (new Date().getTime());
setTimeout("fetchSession();", 600000);
}';
else
echo '
var currentSwap = true';
echo '
function doQuote(messageid)
{
if (currentSwap)
window.location.href = "', $scripturl, '?action=post;quote=" + messageid + ";topic=', $context['current_topic'], '.', $context['start'], ';sesc=', $context['session_id'], '";
else
{
window.open("', $scripturl, '?action=quotefast;quote=" + messageid + ";sesc=', $context['session_id'], '", "quote", "toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,top=40,left=40,width=240,height=90,resizable=no;");
if (navigator.appName == "Microsoft Internet Explorer")
window.location.hash = "quickreply";
else
window.location.hash = "#quickreply";
}
}
// --></script>
<table border="0" width="100%" cellpadding="0" cellspacing="0">
<tr>';
if ($settings['linktree_inline'])
echo '
<td valign="top" align="left">', theme_linktree(), '</td> ';
echo '
<td valign="top" align="right" class="smalltext"> <span class="nav"> ', $context['previous_next'], '</span></td>
</tr>
</table>
<div style="padding-top: 4px; padding-bottom: 4px;">', theme_show_mod_buttons(), '</div>';
if (!empty($options['display_quick_mod']) && $options['display_quick_mod'] == 1 && $context['can_remove_post'])
echo '
<input type="hidden" name="sc" value="', $context['session_id'], '" />
</form>';
echo '
<div align="right" style="margin-bottom: 1ex;">
<form action="', $scripturl, '" method="get" name="jumptoForm">
<span class="smalltext">' . $txt[160] . ':</span>
<select name="jumpto" onchange="if (this.options[this.selectedIndex].value) window.location.href=\'', $scripturl, '\' + this.options[this.selectedIndex].value;">
<option value="">' . $txt[251] . ':</option>';
foreach ($context['jump_to'] as $category)
{
echo '
<option value="" disabled="disabled">-----------------------------</option>
<option value="#', $category['id'], '">', $category['name'], '</option>
<option value="" disabled="disabled">-----------------------------</option>';
foreach ($category['boards'] as $board)
echo '
<option value="?board=', $board['id'], '.0"', $board['is_current'] ? ' selected="selected"' : '', '> ' . str_repeat('==', $board['child_level']) . '=> ' . $board['name'] . '</option>';
}
echo '
</select>
<input type="button" value="', $txt[161], '" onclick="if (document.jumptoForm.jumpto.options[document.jumptoForm.jumpto.selectedIndex].value) window.location.href = \'', $scripturl, '\' + document.jumptoForm.jumpto.options[document.jumptoForm.jumpto.selectedIndex].value;" />
</form>
</div>
<br />';
if ($context['can_reply'] && !empty($options['display_quick_reply']))
{
if ($context['show_spellchecking'])
echo '
<script language="JavaScript1.2" type="text/javascript" src="' . $settings['default_theme_url'] . '/spellcheck.js"></script>';
echo '
<a name="quickreply"></a>
<table border="0" cellspacing="1" cellpadding="3" class="bordercolor" width="100%" style="clear: both;">
<tr>
<td colspan="2" class="catbg"><a href="javascript:swapOptions();"><img src="', $settings['images_url'], '/', $options['display_quick_reply'] == 2 ? 'collapse' : 'expand', '.gif" alt="+" border="0" id="quickReplyExpand" /></a> <a href="javascript:swapOptions();">', $txt['quick_reply_1'], '</a></td>
</tr>
<tr id="quickReplyOptions"', $options['display_quick_reply'] == 2 ? '' : ' style="display: none"', '>
<td class="windowbg" width="25%" valign="top">', $txt['quick_reply_2'], $context['is_locked'] ? '<br /><br /><b>' . $txt['quick_reply_warning'] . '</b>' : '', '</td>
<td class="windowbg" width="75%" align="center">
<form action="', $scripturl, '?action=post2" method="post" name="postmodify" onsubmit="submitonce(this);" style="margin: 0;">
<input type="hidden" name="topic" value="' . $context['current_topic'] . '" />
<input type="hidden" name="subject" value="' . $txt['response_prefix'] . $context['subject'] . '" />
<input type="hidden" name="icon" value="xx" />
<input type="hidden" name="notify" value="', $context['is_marked_notify'] || !empty($options['auto_notify']) ? '1' : '0', '" />
<input type="hidden" name="goback" value="', empty($options['return_to_post']) ? '0' : '1', '" />
<input type="hidden" name="num_replies" value="', $context['num_replies'], '" />
<textarea cols="75" rows="7" style="width: 95%; height: 100px;" name="message" tabindex="1"></textarea><br />
<input type="submit" name="post" value="' . $txt[105] . '" onclick="return submitThisOnce(this);" accesskey="s" tabindex="2" />
<input type="submit" name="preview" value="' . $txt[507] . '" onclick="return submitThisOnce(this);" accesskey="p" tabindex="4" />';
if ($context['show_spellchecking'])
echo '
<input type="button" value="', $txt['spell_check'], '" onclick="spellCheck(\'postmodify\', \'message\');" />';
echo '
<input type="hidden" name="sc" value="' . $context['session_id'] . '" />
<input type="hidden" name="seqnum" value="', $context['form_sequence_number'], '" />
</form>
</td>
</tr>
</table>';
if ($context['show_spellchecking'])
echo '
<form name="spell_form" id="spell_form" method="post" target="spellWindow" action="', $scripturl, '?action=spellcheck"><input type="hidden" name="spell_formname" value="" /><input type="hidden" name="spell_fieldname" value="" /><input type="hidden" name="spellstring" value="" /></form>';
echo '
</div>';
}
echo '<img src="', $settings['images_url'], '/blank.gif" alt="" id="fetchSessionTemp" />';
}
function theme_show_mod_buttons()
{
global $context, $settings, $options, $txt, $scripturl, $modSettings;
$moderationButtons = array();
if ($context['can_move'])
$moderationButtons[] = '<a href="' . $scripturl . '?action=movetopic;topic=' . $context['current_topic'] . '.0">' . ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/admin_move.gif" alt="' . $txt[132] . '" border="0" />' : $txt[132]) . '</a>';
if ($context['can_delete'])
$moderationButtons[] = '<a href="' . $scripturl . '?action=removetopic2;topic=' . $context['current_topic'] . '.0;sesc=' . $context['session_id'] . '" onclick="return confirm(\'' . $txt[162] . '\');">' . ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/admin_rem.gif" alt="' . $txt[63] . '" border="0" />' : $txt[63]) . '</a>';
if ($context['can_lock'])
$moderationButtons[] = '<a href="' . $scripturl . '?action=lock;topic=' . $context['current_topic'] . '.' . $context['start'] . ';sesc=' . $context['session_id'] . '">' . ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/admin_lock.gif" alt="' . (empty($context['is_locked']) ? $txt['smf279'] : $txt['smf280']) . '" border="0" />' : (empty($context['is_locked']) ? $txt['smf279'] : $txt['smf280'])) . '</a>';
if ($context['can_sticky'])
$moderationButtons[] = '<a href="' . $scripturl . '?action=sticky;topic=' . $context['current_topic'] . '.' . $context['start'] . ';sesc=' . $context['session_id'] . '">' . ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/admin_sticky.gif" alt="' . (empty($context['is_sticky']) ? $txt['smf277'] : $txt['smf278']) . '" border="0" />' : (empty($context['is_sticky']) ? $txt['smf277'] : $txt['smf278'])) . '</a>';
if ($context['can_merge'])
$moderationButtons[] = '<a href="' . $scripturl . '?action=mergetopics;board=' . $context['current_board'] . '.0;from=' . $context['current_topic'] . '">' . ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/merge.gif" alt="' . $txt['smf252'] . '" border="0" />' : $txt['smf252']) . '</a>';
if ($context['can_remove_poll'])
$moderationButtons[] = '<a href="' . $scripturl . '?action=removepoll;topic=' . $context['current_topic'] . '.' . $context['start'] . '" onclick="return confirm(\'' . $txt['poll_remove_warn'] . '\');">' . ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/admin_remove_poll.gif" alt="' . $txt['poll_remove'] . '" border="0" />' : $txt['poll_remove']) . '</a>';
if ($context['calendar_post'])
$moderationButtons[] = '<a href="' . $scripturl . '?action=post;calendar;msg=' . $context['topic_first_message'] . ';topic=' . $context['current_topic'] . '.0;sesc=' . $context['session_id'] . '">' . ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/linktocal.gif" alt="' . $txt['calendar37'] . '" border="0" />' : $txt['calendar37']) . '</a>';
if ($context['can_remove_post'] && !empty($options['display_quick_mod']) && $options['display_quick_mod'] == 1)
$moderationButtons[] = $settings['use_image_buttons'] ? '<input type="image" name="submit" src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/delete_selected.gif" alt="' . $txt['quickmod_delete_selected'] . '" onclick="return confirm(\'' . $txt['quickmod_confirm'] . '\');" />' : '<a href="javascript:document.quickModForm.submit();" onclick="return confirm(\'' . $txt['quickmod_confirm'] . '\');">' . $txt['quickmod_delete_selected'] . '</a>';
return implode($context['menu_separator'], $moderationButtons);
}
// Enigma addition
function theme_news_Console()
{
global $ID_MEMBER, $db_prefix, $txt, $context, $user_info;
loadPLanguage('News');
// get the permissions settings
$context['subNews'] = allowedTo('submit_news');
$context['revNews'] = allowedTo('review_news');
// check if the this message is marked as news
$subs_query = db_query("
SELECT n.*, IFNULL(m.realName, m.memberName) AS poster, IFNULL(mem.realName, mem.memberName) as reviewer
FROM ({$db_prefix}news AS n)
LEFT JOIN {$db_prefix}members AS m ON (m.ID_MEMBER = n.ID_POSTER)
LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = n.ID_REVIEWER)
WHERE ID_TOPIC = $context[current_topic]", __FILE__, __LINE__);
$context['submissions'] = mysql_fetch_array($subs_query);
mysql_free_result ($subs_query);
// it isn't, so just return
if (!$context['submissions'])
{
return '';
}
// message is marked as news, but if it doesn't need reviewing or isn't delayed published, then just say it's news
if ($context['submissions']['publish'] != '1' && $context['submissions']['reviewFlag'] != '1')
{
// *** the HTML below is displayed for a message that is NEWS and NOT up for SUBMISSION
$controlpanel = '
<div class="tborder">
<table width="100%" cellpadding="3" cellspacing="0" border="0">
<tr class="titlebg">
<td valign="middle" align="left" width="100%" style="padding-left: 6px;" colspan="2">
<strong>' . $txt['news_519'] . '</strong>
</td>
</tr>
</table>
</div>';
}
// message is marked as news and needs something more, go through and find out what.
else
{
// We need to do some operation on that result set upfront
$newsf_ynchecked = ($context['submissions']['featureFlag'] == '1') ? ' checked' : '';
$newsp_ynchecked = ($context['submissions']['publish'] == '1') ? ' checked' : '';
$statustext = statusText($context['submissions']['stage']);
$subdate = timeformat($context['submissions']['dateEntered']);
if (!$context['submissions']['dateModified'])
{
$moddate = $subdate;
}
else
{
$moddate = timeformat($context['submissions']['dateModified']);
}
if ($context['submissions']['reviewer'] == '')
{
$context['submissions']['reviewer'] = $txt['news_406'];
}
if ($context['submissions']['comment'] == '')
{
$context['submissions']['comment'] = $txt['news_407'];
}
// this person is a reviewer
if (($context['revNews'] == 1) && (!$user_info['is_guest']))
{
// The news item is pending, rejected, or re-submitted
if ((($context['submissions']['stage'] == 0) || ($context['submissions']['stage'] == 2) || ($context['submissions']['stage'] == 4)) && ($context['submissions']['reviewFlag'] == 1))
{
// get the news category selection box
$g_nCats = db_query("
SELECT *
FROM {$db_prefix}news_categories", __FILE__, __LINE__);
$nCats = $txt['news_413'] . ' <select name="newscat">
<option value="0">' . $txt['news_109'] . '</option>';
while ($rnCat = mysql_fetch_array($g_nCats))
{
$selected = '';
if ($context['submissions']['ID_CATEGORY'] == $rnCat['ID_CATEGORY'])
{
$selected = 'selected';
}
$nCats .= '
<option ' . $selected . ' value="' . $rnCat['ID_CATEGORY'] . '">' . $rnCat['name'] . '</option>';
}
$nCats .= '
</select>';
$subconsole = '
<td valign="top" align="left" class="windowbg" width="50%">' . $txt['news_416'] . $statustext . '<br />' . $txt['news_417'] . $context['submissions']['reviewer'] . '<br />' . $txt['news_418'] . $moddate . '</td>
<td valign="top" align="left" class="windowbg">
<input type="hidden" value="' . $context['current_topic'] . '" name="topic" />
' . $txt['news_412'] . '<br /><textarea cols="50" rows="3" name="comment">' . $context['submissions']['comment'] . '</textarea><br />
' . $nCats . '<br />
' . $txt['news_192'] . '<input type="checkbox" name="news_feature" value="1"' . $newsf_ynchecked . '><br />
' . $txt['news_438'] . '<input type="checkbox" name="news_publish" value="1"' . $newsp_ynchecked . '><br />
' . $txt['news_408'] . '<input type="radio" name="nsource" value="4"> ' . $txt['news_436'] . '
<input type="radio" name="nsource" value="5"> ' . $txt['news_437'] . '<br /><br />
<input type="submit" name="submit" value="' . $txt['news_410'] . '" />
<input type="reset" value="' . $txt['news_re1'] . '" />
</td>';
}
// The news item was submitted by a reviewer, but publishing has been delayed
else if (($context['submissions']['reviewFlag'] == 0) && ($context['submissions']['publish'] == 1)) {
$subconsole = '
<td colspan="2" valign="top" align="left" class="windowbg">
' . $txt['news_445'] . '<input type="hidden" name="nsource" value="6"><input type="hidden" value="' . $context['current_topic'] . '" name="topic" />
<input type="submit" name="submit" value="' . $txt['news_446'] . '">
</td>';
}
// The news item was subitted by a submitter and approved, but the publishing has been delayed
else if (($context['submissions']['reviewFlag'] == 1) && ($context['submissions']['publish'] == 1)) {
$subconsole = '
<td valign="top" align="left" class="windowbg" width="50%">' . $txt['news_416'] . $statustext . '<br />' . $txt['news_417'] . $context['submissions']['reviewer'] . '<br />' . $txt['news_418'] . $moddate . '</td>
<td valign="top" align="left" class="windowbg">
<input type="hidden" value="' . $context['current_topic'] . '" name="topic" />
' . $txt['news_412'] . '<br /><textarea cols="50" rows="3" name="comment">' . $context['submissions']['comment'] . '</textarea><br />
' . $nCats . '<br />
' . $txt['news_192'] . '<input type="checkbox" name="news_feature" value="1"' . $newsf_ynchecked . '><br />
' . $txt['news_438'] . '<input type="checkbox" name="news_publish" value="1"' . $newsp_ynchecked . '><br />
' . $txt['news_408'] . '<input type="radio" name="nsource" value="4"> ' . $txt['news_436'] . '
<input type="radio" name="nsource" value="5"> ' . $txt['news_437'] . '<br /><br />
<input type="submit" name="submit" value="' . $txt['news_410'] . '" />
<input type="reset" value="' . $txt['news_re1'] . '" />
</td>';
}
else {
$subconsole = '
<td valign="top" align="left" class="windowbg" width="50%">' . $txt['news_416'] . $statustext . '<br />' . $txt['news_417'] . $context['submissions']['reviewer'] . '<br />' . $txt['news_418'] . $moddate . '</td>
<td valign="top" align="left" class="windowbg">' . $txt['news_412'] . $context['submissions']['comment'] . '</td>
</tr><tr>
<td colspan="2" valign="top" align="left" class="windowbg">' . $txt['news_411'] . '</td>';
}
}
//this person is a submitter
else if (($context['subNews'] == 1) && ($ID_MEMBER == $context['submissions']['ID_POSTER']) && (!$user_info['is_guest'])){
$subconsole = '
<td valign="top" align="left" class="windowbg" width="50%">' . $txt['news_416'] . $statustext . '<br />' . $txt['news_417'] . $context['submissions']['reviewer'] . '<br />' . $txt['news_418'] . $moddate . '</td>
<td valign="top" align="left" class="windowbg">' . $txt['news_412'] . $context['submissions']['comment'] . '</td>
</tr><tr>
<td colspan="2" valign="top" align="left" class="windowbg">' . $txt['news_414'] . '</td>';
}
// these guys don't have rights - send them back
else
{
return '';
}
//now we can output everthing
// *** the HTML below is displayed for a message that is NEWS and IS up for SUBMISSION
$controlpanel = '
<form action="index.php?op=news2" method="post">
<div class="tborder">
<table width="100%" cellpadding="3" cellspacing="0" border="0">
<tr class="titlebg">
<td valign="middle" align="left" width="100%" style="padding-left: 6px;" colspan="2">
' . $txt['news_415'] . '
</td>
</tr><tr>
' . $subconsole . '
</tr>
</table>
</div>
</form>';
}
return $controlpanel;
}
// end Enigma
?>