Mercurial > hg > vamp-website
diff forum/Themes/default/Recent.template.php @ 76:e3e11437ecea website
Add forum code
author | Chris Cannam |
---|---|
date | Sun, 07 Jul 2013 11:25:48 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/forum/Themes/default/Recent.template.php Sun Jul 07 11:25:48 2013 +0200 @@ -0,0 +1,446 @@ +<?php +/** + * Simple Machines Forum (SMF) + * + * @package SMF + * @author Simple Machines + * @copyright 2011 Simple Machines + * @license http://www.simplemachines.org/about/smf/license.php BSD + * + * @version 2.0 + */ + +function template_main() +{ + global $context, $settings, $options, $txt, $scripturl; + + echo ' + <div id="recent" class="main_section"> + <div class="cat_bar"> + <h3 class="catbg"> + <span class="ie6_header floatleft"><img src="', $settings['images_url'], '/post/xx.gif" alt="" class="icon" />',$txt['recent_posts'],'</span> + </h3> + </div> + <div class="pagesection"> + <span>', $txt['pages'], ': ', $context['page_index'], '</span> + </div>'; + + foreach ($context['posts'] as $post) + { + echo ' + <div class="', $post['alternate'] == 0 ? 'windowbg' : 'windowbg2', ' core_posts"> + <span class="topslice"><span></span></span> + <div class="content"> + <div class="counter">', $post['counter'], '</div> + <div class="topic_details"> + <h5>', $post['board']['link'], ' / ', $post['link'], '</h5> + <span class="smalltext">« ', $txt['last_post'], ' ', $txt['by'], ' <strong>', $post['poster']['link'], ' </strong> ', $txt['on'], '<em> ', $post['time'], '</em> »</span> + </div> + <div class="list_posts">', $post['message'], '</div> + </div>'; + + if ($post['can_reply'] || $post['can_mark_notify'] || $post['can_delete']) + echo ' + <div class="quickbuttons_wrap"> + <ul class="reset smalltext quickbuttons">'; + + // If they *can* reply? + if ($post['can_reply']) + echo ' + <li class="reply_button"><a href="', $scripturl, '?action=post;topic=', $post['topic'], '.', $post['start'], '"><span>', $txt['reply'], '</span></a></li>'; + + // If they *can* quote? + if ($post['can_quote']) + echo ' + <li class="quote_button"><a href="', $scripturl, '?action=post;topic=', $post['topic'], '.', $post['start'], ';quote=', $post['id'], '"><span>', $txt['quote'], '</span></a></li>'; + + // Can we request notification of topics? + if ($post['can_mark_notify']) + echo ' + <li class="notify_button"><a href="', $scripturl, '?action=notify;topic=', $post['topic'], '.', $post['start'], '"><span>', $txt['notify'], '</span></a></li>'; + + // How about... even... remove it entirely?! + if ($post['can_delete']) + echo ' + <li class="remove_button"><a href="', $scripturl, '?action=deletemsg;msg=', $post['id'], ';topic=', $post['topic'], ';recent;', $context['session_var'], '=', $context['session_id'], '" onclick="return confirm(\'', $txt['remove_message'], '?\');"><span>', $txt['remove'], '</span></a></li>'; + + if ($post['can_reply'] || $post['can_mark_notify'] || $post['can_delete']) + echo ' + </ul> + </div>'; + + echo ' + <span class="botslice clear"><span></span></span> + </div>'; + + } + + echo ' + <div class="pagesection"> + <span>', $txt['pages'], ': ', $context['page_index'], '</span> + </div> + </div>'; +} + +function template_unread() +{ + global $context, $settings, $options, $txt, $scripturl, $modSettings; + + echo ' + <div id="recent" class="main_content">'; + + $showCheckboxes = !empty($options['display_quick_mod']) && $options['display_quick_mod'] == 1 && $settings['show_mark_read']; + + if ($showCheckboxes) + echo ' + <form action="', $scripturl, '?action=quickmod" method="post" accept-charset="', $context['character_set'], '" name="quickModForm" id="quickModForm" style="margin: 0;"> + <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" /> + <input type="hidden" name="qaction" value="markread" /> + <input type="hidden" name="redirect_url" value="action=unread', (!empty($context['showing_all_topics']) ? ';all' : ''), $context['querystring_board_limits'], '" />'; + + if ($settings['show_mark_read']) + { + // Generate the button strip. + $mark_read = array( + 'markread' => array('text' => !empty($context['no_board_limits']) ? 'mark_as_read' : 'mark_read_short', 'image' => 'markread.gif', 'lang' => true, 'url' => $scripturl . '?action=markasread;sa=' . (!empty($context['no_board_limits']) ? 'all' : 'board' . $context['querystring_board_limits']) . ';' . $context['session_var'] . '=' . $context['session_id']), + ); + + if ($showCheckboxes) + $mark_read['markselectread'] = array( + 'text' => 'quick_mod_markread', + 'image' => 'markselectedread.gif', + 'lang' => true, + 'url' => 'javascript:document.quickModForm.submit();', + ); + } + + if (!empty($context['topics'])) + { + echo ' + <div class="pagesection">'; + + if (!empty($mark_read) && !empty($settings['use_tabs'])) + template_button_strip($mark_read, 'right'); + + echo ' + <span>', $txt['pages'], ': ', $context['page_index'], '</span> + </div>'; + + echo ' + <div class="tborder topic_table" id="unread"> + <table class="table_grid" cellspacing="0"> + <thead> + <tr class="catbg"> + <th scope="col" class="first_th" width="8%" colspan="2"> </th> + <th scope="col"> + <a href="', $scripturl, '?action=unread', $context['showing_all_topics'] ? ';all' : '', $context['querystring_board_limits'], ';sort=subject', $context['sort_by'] == 'subject' && $context['sort_direction'] == 'up' ? ';desc' : '', '">', $txt['subject'], $context['sort_by'] == 'subject' ? ' <img src="' . $settings['images_url'] . '/sort_' . $context['sort_direction'] . '.gif" alt="" />' : '', '</a> + </th> + <th scope="col" width="14%" align="center"> + <a href="', $scripturl, '?action=unread', $context['showing_all_topics'] ? ';all' : '', $context['querystring_board_limits'], ';sort=replies', $context['sort_by'] == 'replies' && $context['sort_direction'] == 'up' ? ';desc' : '', '">', $txt['replies'], $context['sort_by'] == 'replies' ? ' <img src="' . $settings['images_url'] . '/sort_' . $context['sort_direction'] . '.gif" alt="" />' : '', '</a> + </th>'; + + // Show a "select all" box for quick moderation? + if ($showCheckboxes) + echo ' + <th scope="col" width="22%"> + <a href="', $scripturl, '?action=unread', $context['showing_all_topics'] ? ';all' : '', $context['querystring_board_limits'], ';sort=last_post', $context['sort_by'] == 'last_post' && $context['sort_direction'] == 'up' ? ';desc' : '', '">', $txt['last_post'], $context['sort_by'] == 'last_post' ? ' <img src="' . $settings['images_url'] . '/sort_' . $context['sort_direction'] . '.gif" alt="" />' : '', '</a> + </th> + <th class="last_th"> + <input type="checkbox" onclick="invertAll(this, this.form, \'topics[]\');" class="input_check" /> + </th>'; + else + echo ' + <th scope="col" class="smalltext last_th" width="22%"> + <a href="', $scripturl, '?action=unread', $context['showing_all_topics'] ? ';all' : '', $context['querystring_board_limits'], ';sort=last_post', $context['sort_by'] == 'last_post' && $context['sort_direction'] == 'up' ? ';desc' : '', '">', $txt['last_post'], $context['sort_by'] == 'last_post' ? ' <img src="' . $settings['images_url'] . '/sort_' . $context['sort_direction'] . '.gif" alt="" />' : '', '</a> + </th>'; + echo ' + </tr> + </thead> + <tbody>'; + + foreach ($context['topics'] as $topic) + { + // Calculate the color class of the topic. + $color_class = ''; + if (strpos($topic['class'], 'sticky') !== false) + $color_class = 'stickybg'; + if (strpos($topic['class'], 'locked') !== false) + $color_class .= 'lockedbg'; + + $color_class2 = !empty($color_class) ? $color_class . '2' : ''; + + echo ' + <tr> + <td class="', $color_class, ' icon1 windowbg"> + <img src="', $settings['images_url'], '/topic/', $topic['class'], '.gif" alt="" /> + </td> + <td class="', $color_class, ' icon2 windowbg"> + <img src="', $topic['first_post']['icon_url'], '" alt="" /> + </td> + <td class="subject ', $color_class2, ' windowbg2"> + <div> + ', $topic['is_sticky'] ? '<strong>' : '', '<span id="msg_' . $topic['first_post']['id'] . '">', $topic['first_post']['link'], '</span>', $topic['is_sticky'] ? '</strong>' : '', ' + <a href="', $topic['new_href'], '" id="newicon', $topic['first_post']['id'], '"><img src="', $settings['lang_images_url'], '/new.gif" alt="', $txt['new'], '" /></a> + <p> + ', $txt['started_by'], ' <strong>', $topic['first_post']['member']['link'], '</strong> + ', $txt['in'], ' <em>', $topic['board']['link'], '</em> + <small id="pages', $topic['first_post']['id'], '">', $topic['pages'], '</small> + </p> + </div> + </td> + <td class="', $color_class, ' stats windowbg"> + ', $topic['replies'], ' ', $txt['replies'], ' + <br /> + ', $topic['views'], ' ', $txt['views'], ' + </td> + <td class="', $color_class2, ' lastpost windowbg2"> + <a href="', $topic['last_post']['href'], '"><img src="', $settings['images_url'], '/icons/last_post.gif" alt="', $txt['last_post'], '" title="', $txt['last_post'], '" style="float: right;" /></a> + ', $topic['last_post']['time'], '<br /> + ', $txt['by'], ' ', $topic['last_post']['member']['link'], ' + </td>'; + + if ($showCheckboxes) + echo ' + <td class="windowbg2" valign="middle" align="center"> + <input type="checkbox" name="topics[]" value="', $topic['id'], '" class="input_check" /> + </td>'; + echo ' + </tr>'; + } + + if (!empty($context['topics']) && !$context['showing_all_topics']) + $mark_read['readall'] = array('text' => 'unread_topics_all', 'image' => 'markreadall.gif', 'lang' => true, 'url' => $scripturl . '?action=unread;all' . $context['querystring_board_limits'], 'active' => true); + + if (empty($settings['use_tabs']) && !empty($mark_read)) + echo ' + <tr class="catbg"> + <td colspan="', $showCheckboxes ? '6' : '5', '" align="right"> + ', template_button_strip($mark_read, 'top'), ' + </td> + </tr>'; + + if (empty($context['topics'])) + echo ' + <tr style="display: none;"><td></td></tr>'; + + echo ' + </tbody> + </table> + </div> + <div class="pagesection" id="readbuttons">'; + + if (!empty($settings['use_tabs']) && !empty($mark_read)) + template_button_strip($mark_read, 'right'); + + echo ' + <span>', $txt['pages'], ': ', $context['page_index'], '</span> + </div>'; + } + else + echo ' + <div class="cat_bar"> + <h3 class="catbg centertext"> + ', $context['showing_all_topics'] ? $txt['msg_alert_none'] : $txt['unread_topics_visit_none'], ' + </h3> + </div>'; + + if ($showCheckboxes) + echo ' + </form>'; + + echo ' + <div class="description " id="topic_icons"> + <p class="smalltext floatleft"> + ', !empty($modSettings['enableParticipation']) ? ' + <img src="' . $settings['images_url'] . '/topic/my_normal_post.gif" alt="" align="middle" /> ' . $txt['participation_caption'] . '<br />' : '', ' + <img src="', $settings['images_url'], '/topic/normal_post.gif" alt="" align="middle" /> ', $txt['normal_topic'], '<br /> + <img src="', $settings['images_url'], '/topic/hot_post.gif" alt="" align="middle" /> ', sprintf($txt['hot_topics'], $modSettings['hotTopicPosts']), '<br /> + <img src="', $settings['images_url'], '/topic/veryhot_post.gif" alt="" align="middle" /> ', sprintf($txt['very_hot_topics'], $modSettings['hotTopicVeryPosts']), ' + </p> + <p class="smalltext para2"> + <img src="', $settings['images_url'], '/icons/quick_lock.gif" alt="" align="middle" /> ', $txt['locked_topic'], '<br />', ($modSettings['enableStickyTopics'] == '1' ? ' + <img src="' . $settings['images_url'] . '/icons/quick_sticky.gif" alt="" align="middle" /> ' . $txt['sticky_topic'] . '<br />' : ''), ($modSettings['pollMode'] == '1' ? ' + <img src="' . $settings['images_url'] . '/topic/normal_poll.gif" alt="" align="middle" /> ' . $txt['poll'] : ''), ' + </p> + </div> + </div>'; +} + +function template_replies() +{ + global $context, $settings, $options, $txt, $scripturl, $modSettings; + + echo ' + <div id="recent">'; + + $showCheckboxes = !empty($options['display_quick_mod']) && $options['display_quick_mod'] == 1 && $settings['show_mark_read']; + + if ($showCheckboxes) + echo ' + <form action="', $scripturl, '?action=quickmod" method="post" accept-charset="', $context['character_set'], '" name="quickModForm" id="quickModForm" style="margin: 0;"> + <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" /> + <input type="hidden" name="qaction" value="markread" /> + <input type="hidden" name="redirect_url" value="action=unreadreplies', (!empty($context['showing_all_topics']) ? ';all' : ''), $context['querystring_board_limits'], '" />'; + + if (isset($context['topics_to_mark']) && !empty($settings['show_mark_read'])) + { + // Generate the button strip. + $mark_read = array( + 'markread' => array('text' => 'mark_as_read', 'image' => 'markread.gif', 'lang' => true, 'url' => $scripturl . '?action=markasread;sa=unreadreplies;topics=' . $context['topics_to_mark'] . ';' . $context['session_var'] . '=' . $context['session_id']), + ); + + if ($showCheckboxes) + $mark_read['markselectread'] = array( + 'text' => 'quick_mod_markread', + 'image' => 'markselectedread.gif', + 'lang' => true, + 'url' => 'javascript:document.quickModForm.submit();', + ); + } + + if (!empty($context['topics'])) + { + echo ' + <div class="pagesection">'; + + if (!empty($mark_read) && !empty($settings['use_tabs'])) + template_button_strip($mark_read, 'right'); + + echo ' + <span>', $txt['pages'], ': ', $context['page_index'], '</span> + </div>'; + + echo ' + <div class="tborder topic_table" id="unreadreplies"> + <table class="table_grid" cellspacing="0"> + <thead> + <tr class="catbg"> + <th scope="col" class="first_th" width="8%" colspan="2"> </th> + <th scope="col"> + <a href="', $scripturl, '?action=unreadreplies', $context['querystring_board_limits'], ';sort=subject', $context['sort_by'] === 'subject' && $context['sort_direction'] === 'up' ? ';desc' : '', '">', $txt['subject'], $context['sort_by'] === 'subject' ? ' <img src="' . $settings['images_url'] . '/sort_' . $context['sort_direction'] . '.gif" alt="" />' : '', '</a> + </th> + <th scope="col" width="14%" align="center"> + <a href="', $scripturl, '?action=unreadreplies', $context['querystring_board_limits'], ';sort=replies', $context['sort_by'] === 'replies' && $context['sort_direction'] === 'up' ? ';desc' : '', '">', $txt['replies'], $context['sort_by'] === 'replies' ? ' <img src="' . $settings['images_url'] . '/sort_' . $context['sort_direction'] . '.gif" alt="" />' : '', '</a> + </th>'; + + // Show a "select all" box for quick moderation? + if ($showCheckboxes) + echo ' + <th scope="col" width="22%"> + <a href="', $scripturl, '?action=unreadreplies', $context['querystring_board_limits'], ';sort=last_post', $context['sort_by'] === 'last_post' && $context['sort_direction'] === 'up' ? ';desc' : '', '">', $txt['last_post'], $context['sort_by'] === 'last_post' ? ' <img src="' . $settings['images_url'] . '/sort_' . $context['sort_direction'] . '.gif" alt="" />' : '', '</a> + </th> + <th class="last_th"> + <input type="checkbox" onclick="invertAll(this, this.form, \'topics[]\');" class="input_check" /> + </th>'; + else + echo ' + <th scope="col" class="last_th" width="22%"> + <a href="', $scripturl, '?action=unreadreplies', $context['querystring_board_limits'], ';sort=last_post', $context['sort_by'] === 'last_post' && $context['sort_direction'] === 'up' ? ';desc' : '', '">', $txt['last_post'], $context['sort_by'] === 'last_post' ? ' <img src="' . $settings['images_url'] . '/sort_' . $context['sort_direction'] . '.gif" alt="" />' : '', '</a> + </th>'; + echo ' + </tr> + </thead> + <tbody>'; + + foreach ($context['topics'] as $topic) + { + // Calculate the color class of the topic. + $color_class = ''; + if (strpos($topic['class'], 'sticky') !== false) + $color_class = 'stickybg'; + if (strpos($topic['class'], 'locked') !== false) + $color_class .= 'lockedbg'; + + $color_class2 = !empty($color_class) ? $color_class . '2' : ''; + + echo ' + <tr> + <td class="', $color_class, ' icon1 windowbg"> + <img src="', $settings['images_url'], '/topic/', $topic['class'], '.gif" alt="" /> + </td> + <td class="', $color_class, ' icon2 windowbg"> + <img src="', $topic['first_post']['icon_url'], '" alt="" /> + </td> + <td class="subject ', $color_class2, ' windowbg2"> + <div> + ', $topic['is_sticky'] ? '<strong>' : '', '<span id="msg_' . $topic['first_post']['id'] . '">', $topic['first_post']['link'], '</span>', $topic['is_sticky'] ? '</strong>' : '', ' + <a href="', $topic['new_href'], '" id="newicon', $topic['first_post']['id'], '"><img src="', $settings['lang_images_url'], '/new.gif" alt="', $txt['new'], '" /></a> + <p> + ', $txt['started_by'], ' <strong>', $topic['first_post']['member']['link'], '</strong> + ', $txt['in'], ' <em>', $topic['board']['link'], '</em> + <small id="pages', $topic['first_post']['id'], '">', $topic['pages'], '</small> + </p> + </div> + </td> + <td class="', $color_class, ' stats windowbg"> + ', $topic['replies'], ' ', $txt['replies'], ' + <br /> + ', $topic['views'], ' ', $txt['views'], ' + </td> + <td class="', $color_class2, ' lastpost windowbg2"> + <a href="', $topic['last_post']['href'], '"><img src="', $settings['images_url'], '/icons/last_post.gif" alt="', $txt['last_post'], '" title="', $txt['last_post'], '" style="float: right;" /></a> + ', $topic['last_post']['time'], '<br /> + ', $txt['by'], ' ', $topic['last_post']['member']['link'], ' + </td>'; + + if ($showCheckboxes) + echo ' + <td class="windowbg2" valign="middle" align="center"> + <input type="checkbox" name="topics[]" value="', $topic['id'], '" class="input_check" /> + </td>'; + echo ' + </tr>'; + } + + if (empty($settings['use_tabs']) && !empty($mark_read)) + echo ' + <tr class="catbg"> + <td colspan="', $showCheckboxes ? '6' : '5', '" align="right"> + ', template_button_strip($mark_read, 'top'), ' + </td> + </tr>'; + + echo ' + </tbody> + </table> + </div> + <div class="pagesection">'; + + if (!empty($settings['use_tabs']) && !empty($mark_read)) + template_button_strip($mark_read, 'right'); + + echo ' + <span>', $txt['pages'], ': ', $context['page_index'], '</span> + </div>'; + } + else + echo ' + <div class="cat_bar"> + <h3 class="catbg centertext"> + ', $context['showing_all_topics'] ? $txt['msg_alert_none'] : $txt['unread_topics_visit_none'], ' + </h3> + </div>'; + + if ($showCheckboxes) + echo ' + </form>'; + + echo ' + <div class="description flow_auto" id="topic_icons"> + <p class="smalltext floatleft"> + ', !empty($modSettings['enableParticipation']) ? ' + <img src="' . $settings['images_url'] . '/topic/my_normal_post.gif" alt="" align="middle" /> ' . $txt['participation_caption'] . '<br />' : '', ' + <img src="', $settings['images_url'], '/topic/normal_post.gif" alt="" align="middle" /> ', $txt['normal_topic'], '<br /> + <img src="', $settings['images_url'], '/topic/hot_post.gif" alt="" align="middle" /> ', sprintf($txt['hot_topics'], $modSettings['hotTopicPosts']), '<br /> + <img src="', $settings['images_url'], '/topic/veryhot_post.gif" alt="" align="middle" /> ', sprintf($txt['very_hot_topics'], $modSettings['hotTopicVeryPosts']), ' + </p> + <p class="smalltext para2"> + <img src="', $settings['images_url'], '/icons/quick_lock.gif" alt="" align="middle" /> ', $txt['locked_topic'], '<br />', ($modSettings['enableStickyTopics'] == '1' ? ' + <img src="' . $settings['images_url'] . '/icons/quick_sticky.gif" alt="" align="middle" /> ' . $txt['sticky_topic'] . '<br />' : '') . ($modSettings['pollMode'] == '1' ? ' + <img src="' . $settings['images_url'] . '/topic/normal_poll.gif" alt="" align="middle" /> ' . $txt['poll'] : '') . ' + </p> + </div> + </div>'; +} + +?> \ No newline at end of file