smf-theme/Who.template.php

268 lines
No EOL
8.3 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* Simple Machines Forum (SMF)
*
* @package SMF
* @author Simple Machines https://www.simplemachines.org
* @copyright 2022 Simple Machines and individual contributors
* @license https://www.simplemachines.org/about/smf/license.php BSD
*
* @version 2.1.3
*/
/**
* This handles the Who's Online page
*/
function template_main()
{
global $context, $settings, $scripturl, $txt;
// Only admins and moderators are allowed to see the list of online members.
if (
! $context['user']['is_admin'] &&
! $context['user']['is_mod']
) {
echo '
<p><strong>Vous nêtes pas autorisé à accéder à la liste des membres actuellement en ligne.</strong></p>';
return;
}
// Display the table header and linktree.
echo '
<div class="main_section" id="whos_online">
<form action="', $scripturl, '?action=who" method="post" id="whoFilter" accept-charset="', $context['character_set'], '">
<div class="cat_bar">
<h2 class="catbg">', $txt['who_title'], '</h2>
</div>
<div id="mlist">
<div class="pagesection">
<div class="pagelinks floatleft">', $context['page_index'], '</div>
<div class="selectbox floatright" id="upper_show">
', $txt['who_show'], '
<select name="show_top" onchange="document.forms.whoFilter.show.value = this.value; document.forms.whoFilter.submit();">';
foreach ($context['show_methods'] as $value => $label)
echo '
<option value="', $value, '" ', $value == $context['show_by'] ? ' selected' : '', '>', $label, '</option>';
echo '
</select>
<noscript>
<input type="submit" name="submit_top" value="', $txt['go'], '" class="button">
</noscript>
</div>
</div>
<table class="table_grid">
<thead>
<tr class="title_bar">
<th scope="col" class="lefttext" style="width: 40%;"><a href="', $scripturl, '?action=who;start=', $context['start'], ';show=', $context['show_by'], ';sort=user', $context['sort_direction'] != 'down' && $context['sort_by'] == 'user' ? '' : ';asc', '" rel="nofollow">', $txt['who_user'], $context['sort_by'] == 'user' ? '<span class="main_icons sort_' . $context['sort_direction'] . '"></span>' : '', '</a></th>
<th scope="col" class="lefttext time" style="width: 10%;"><a href="', $scripturl, '?action=who;start=', $context['start'], ';show=', $context['show_by'], ';sort=time', $context['sort_direction'] == 'down' && $context['sort_by'] == 'time' ? ';asc' : '', '" rel="nofollow">', $txt['who_time'], $context['sort_by'] == 'time' ? '<span class="main_icons sort_' . $context['sort_direction'] . '"></span>' : '', '</a></th>
<th scope="col" class="lefttext half_table">', $txt['who_action'], '</th>
</tr>
</thead>
<tbody>';
foreach ($context['members'] as $member)
{
echo '
<tr class="windowbg">
<td>';
// Guests can't be messaged.
if (!$member['is_guest'])
echo '
<span class="contact_info floatright">
', $context['can_send_pm'] ? '<a href="' . $member['online']['href'] . '" title="' . $txt['pm_online'] . '">' : '', $settings['use_image_buttons'] ? '<span class="main_icons im_' . ($member['online']['is_online'] == 1 ? 'on' : 'off') . '" title="' . $txt['pm_online'] . '"></span>' : $member['online']['label'], $context['can_send_pm'] ? '</a>' : '', '
</span>';
echo '
<span class="member', $member['is_hidden'] ? ' hidden' : '', '">
', $member['is_guest'] ? $member['name'] : '<a href="' . $member['href'] . '" title="' . sprintf($txt['view_profile_of_username'], $member['name']) . '"' . (empty($member['color']) ? '' : ' style="color: ' . $member['color'] . ';"') . '>' . $member['name'] . '</a>', '
</span>';
if (!empty($member['ip']))
echo '
(<a href="' . $scripturl . '?action=', ($member['is_guest'] ? 'trackip' : 'profile;area=tracking;sa=ip;u=' . $member['id']), ';searchip=' . $member['ip'] . '">' . str_replace(':', ':&ZeroWidthSpace;', $member['ip']) . '</a>)';
echo '
</td>
<td class="time">', $member['time'], '</td>
<td>';
if (is_array($member['action']))
{
$tag = !empty($member['action']['tag']) ? $member['action']['tag'] : 'span';
echo '
<', $tag, !empty($member['action']['class']) ? ' class="' . $member['action']['class'] . '"' : '', '>
', $txt[$member['action']['label']], (!empty($member['action']['error_message']) ? $member['action']['error_message'] : ''), '
</', $tag, '>';
}
else
echo $member['action'];
echo '
</td>
</tr>';
}
// No members?
if (empty($context['members']))
echo '
<tr class="windowbg">
<td colspan="3">
', $txt['who_no_online_' . ($context['show_by'] == 'guests' || $context['show_by'] == 'spiders' ? $context['show_by'] : 'members')], '
</td>
</tr>';
echo '
</tbody>
</table>
<div class="pagesection" id="lower_pagesection">
<div class="pagelinks floatleft" id="lower_pagelinks">', $context['page_index'], '</div>
<div class="selectbox floatright">
', $txt['who_show'], '
<select name="show" onchange="document.forms.whoFilter.submit();">';
foreach ($context['show_methods'] as $value => $label)
echo '
<option value="', $value, '" ', $value == $context['show_by'] ? ' selected' : '', '>', $label, '</option>';
echo '
</select>
<noscript>
<input type="submit" value="', $txt['go'], '" class="button">
</noscript>
</div>
</div><!-- #lower_pagesection -->
</div><!-- #mlist -->
</form>
</div><!-- #whos_online -->';
}
/**
* This displays a nice credits page
*/
function template_credits()
{
global $context, $txt;
// The most important part - the credits :P.
echo '
<div class="main_section" id="credits">
<div class="cat_bar">
<h2 class="catbg">', $txt['credits'], '</h2>
</div>';
foreach ($context['credits'] as $section)
{
if (isset($section['pretext']))
echo '
<div class="windowbg">
<p>', $section['pretext'], '</p>
</div>';
if (isset($section['title']))
echo '
<div class="cat_bar">
<h2 class="catbg">', $section['title'], '</h2>
</div>';
echo '
<div class="windowbg">
<dl>';
foreach ($section['groups'] as $group)
{
echo '
<dt>
', isset($group['title']) ? '<strong>' . $group['title'] . '</strong>' : '', '
</dt>
<dd>';
$names = sentence_list($group['members']);
echo sprintf($txt['credits_list'], $names);
echo '
</dd>';
}
echo '
</dl>';
if (isset($section['posttext']))
echo '
<p class="posttext">', $section['posttext'], '</p>';
echo '
</div>';
}
// Other software and graphics
if (!empty($context['credits_software_graphics']))
{
echo '
<div class="cat_bar">
<h2 class="catbg">', $txt['credits_software_graphics'], '</h2>
</div>
<div class="windowbg">';
if (!empty($context['credits_software_graphics']['graphics']))
echo '
<dl>
<dt><strong>', $txt['credits_graphics'], '</strong></dt>
<dd>', implode('</dd><dd>', $context['credits_software_graphics']['graphics']), '</dd>
</dl>';
if (!empty($context['credits_software_graphics']['software']))
echo '
<dl>
<dt><strong>', $txt['credits_software'], '</strong></dt>
<dd>', implode('</dd><dd>', $context['credits_software_graphics']['software']), '</dd>
</dl>';
if (!empty($context['credits_software_graphics']['fonts']))
echo '
<dl>
<dt><strong>', $txt['credits_fonts'], '</strong></dt>
<dd>', implode('</dd><dd>', $context['credits_software_graphics']['fonts']), '</dd>
</dl>';
echo '
</div>';
}
// How about Modifications, we all love em
if (!empty($context['credits_modifications']) || !empty($context['copyrights']['mods']))
{
echo '
<div class="cat_bar">
<h2 class="catbg">', $txt['credits_modifications'], '</h2>
</div>
<div class="windowbg">
<ul>';
// Display the credits.
if (!empty($context['credits_modifications']))
echo '
<li>', implode('</li><li>', $context['credits_modifications']), '</li>';
// Legacy.
if (!empty($context['copyrights']['mods']))
echo '
<li>', implode('</li><li>', $context['copyrights']['mods']), '</li>';
echo '
</ul>
</div>';
}
// SMF itself
echo '
<div class="cat_bar">
<h2 class="catbg">', $txt['credits_forum'], ' ', $txt['credits_copyright'], '</h2>
</div>
<div class="windowbg">
', $context['copyrights']['smf'], '
</div>
</div><!-- #credits -->';
}
?>