SimplePortal
Customization => Custom Coding => Topic started by: tombillings on February 10, 2011, 10:36:54 AM
-
Hello I'm trying to get my who's online block to list the people online horizontally not vertically I am using SMF 2.0 r4 and SP 2.3.3 I have tried out 130860's code for it as I will list here and I still had no resolve as it did put things horizontal, but did not display who was online meaning no one showed up as being online. Thanks in advance.
global $context, $txt, $settings, $modSettings;
// "Users online" - in order of activity.
echo '
', $context['show_who'] ? '<a href="' . $scripturl . '?action=who' . '">' : '', '<img class="icon" src="', $settings['images_url'], '/icons/online.gif', '" alt="', $txt['online_users'], '" />', $context['show_who'] ? '</a>' : '', '
', $txt['online_users'], '
<p class="inline stats">
', $context['show_who'] ? '<a href="' . $scripturl . '?action=who">' : '', comma_format($context['num_guests']), ' ', $context['num_guests'] == 1 ? $txt['guest'] : $txt['guests'], ', ' . comma_format($context['num_users_online']), ' ', $context['num_users_online'] == 1 ? $txt['user'] : $txt['users'];
// Handle hidden users and buddies.
$bracketList = array();
if ($context['show_buddies'])
$bracketList[] = comma_format($context['num_buddies']) . ' ' . ($context['num_buddies'] == 1 ? $txt['buddy'] : $txt['buddies']);
if (!empty($context['num_spiders']))
$bracketList[] = comma_format($context['num_spiders']) . ' ' . ($context['num_spiders'] == 1 ? $txt['spider'] : $txt['spiders']);
if (!empty($context['num_users_hidden']))
$bracketList[] = comma_format($context['num_users_hidden']) . ' ' . $txt['hidden'];
if (!empty($bracketList))
echo ' (' . implode(', ', $bracketList) . ')';
echo $context['show_who'] ? '</a>' : '', '
</p>
<p class="inline smalltext">';
// Assuming there ARE users online... each user in users_online has an id, username, name, group, href, and link.
if (!empty($context['users_online']))
{
echo '
', sprintf($txt['users_active'], $modSettings['lastActive']), ':<br />', implode(', ', $context['list_users_online']);
// Showing membergroups?
if (!empty($settings['show_group_key']) && !empty($context['membergroups']))
echo '
<br />[' . implode('] [', $context['membergroups']) . ']';
}
echo '
</p>
<p class="last smalltext">
', $txt['most_online_today'], ': <strong>', comma_format($modSettings['mostOnlineToday']), '</strong>.
', $txt['most_online_ever'], ': ', comma_format($modSettings['mostOnline']), ' (', timeformat($modSettings['mostDate']), ')
</p>';
-
global $txt, $modSettings, $scripturl, $context, $sourcedir, $smcFunc;
// Get the user online list.
require_once($sourcedir . '/Subs-MembersOnline.php');
$membersOnlineOptions = array(
'show_hidden' => allowedTo('moderate_forum'),
'sort' => 'log_time',
'reverse_sort' => true,
);
$context += getMembersOnlineStats($membersOnlineOptions);
// "Users online" - in order of activity.
echo '
<div class="infocenter_section">
<div>
<div>
', $context['show_who'] ? '<a href="' . $scripturl . '?action=who">' : '', $context['num_guests'], ' ', $context['num_guests'] == 1 ? $txt['guest'] : $txt['guests'], ', ' . $context['num_users_online'], ' ', $context['num_users_online'] == 1 ? $txt['user'] : $txt['users'];
// Handle hidden users and buddies.
$bracketList = array();
if ($context['show_buddies'])
$bracketList[] = $context['num_buddies'] . ' ' . ($context['num_buddies'] == 1 ? $txt['buddy'] : $txt['buddies']);
if (!empty($context['num_spiders']))
$bracketList[] = $context['num_spiders'] . ' ' . ($context['num_spiders'] == 1 ? $txt['spider'] : $txt['spiders']);
if (!empty($context['num_users_hidden']))
$bracketList[] = $context['num_users_hidden'] . ' ' . $txt['hidden'];
if (!empty($bracketList))
echo ' (' . implode(', ', $bracketList) . ')';
echo $context['show_who'] ? '</a>' : '', '
<div class="smalltext">';
// Assuming there ARE users online... each user in users_online has an id, username, name, group, href, and link.
if (!empty($context['users_online']))
{
echo '
', sprintf($txt['users_active'], $modSettings['lastActive']), ':<br />', implode(', ', $context['list_users_online']);
// Showing membergroups?
global $context, $settings;
$context['membergroups'] = cache_quick_get('membergroup_list', 'Subs-Membergroups.php', 'cache_getMembergroupList', array());
if (!empty($settings['show_group_key']) && !empty($context['membergroups']))
echo '
<br />[' . implode('] [', $context['membergroups']) . ']';
}
$my_groups = array(
1 => array(
'name' => 'Administrators: ',
'members' => array(),
),
2 => array(
'name' => 'Global Moderators: ',
'members' => array(),
),
18 => array(
'name' => 'Mods: ',
'members' => array(),
),
);
$query = $smcFunc['db_query']('', '
SELECT id_group, member_name
FROM {db_prefix}members
WHERE id_group IN ({array_int:groups})
ORDER BY member_name',
array(
'groups' => array(1, 2, 11),
)
);
while ($row = $smcFunc['db_fetch_assoc']($query))
$my_groups[$row['id_group']]['members'][] = '<strong>' . $row['member_name'] . '</strong>';
$smcFunc['db_free_result']($query);
echo '
</div>
<hr />
<div class="smalltext">
', $txt['most_online_today'], ': <b>', $modSettings['mostOnlineToday'], '</b>.
', $txt['most_online_ever'], ': ', $modSettings['mostOnline'], ' (' , timeformat($modSettings['mostDate']), ')
<div style=font-size:9px;position:fixed;right:0px;top:0px></div><hr width=100%" size="2" color="green" align="center"><div class="catbg">Staff </div>';
foreach ($my_groups as $group)
echo '
<p><span style="color: #ffffff;">', $group['name'], '</span><span style="color: #ff0000;">', implode(', ', $group['members']), '</span></p>';
echo '
</div></div>
</div>
</div>';
Madify this section changing
the numbers 1 2 and 18 with your group number
and change the names of those groups with the group name
1 => array(
'name' => 'Administrators: ',
'members' => array(),
),
2 => array(
'name' => 'Global Moderators: ',
'members' => array(),
),
18 => array(
'name' => 'Mods: ',
'members' => array(),
cool huh?
-
That code worked perfectly; minus 1 thing, it also produced a mini staff block embedded into the whos online block, directly beneath who is online, and the text is all in white against my white background, i already have a real staff block so this other one is not needed, is there a way to remove it?
-
here you go without staff block
global $txt, $modSettings, $scripturl, $context, $sourcedir;
// Get the user online list.
require_once($sourcedir . '/Subs-MembersOnline.php');
$membersOnlineOptions = array(
'show_hidden' => allowedTo('moderate_forum'),
'sort' => 'log_time',
'reverse_sort' => true,
);
$context += getMembersOnlineStats($membersOnlineOptions);
// "Users online" - in order of activity.
echo '
<div class="infocenter_section">
<div class="windowbg">
<div class="windowbg2 sectionbody">
', $context['show_who'] ? '<a href="' . $scripturl . '?action=who">' : '', $context['num_guests'], ' ', $context['num_guests'] == 1 ? $txt['guest'] : $txt['guests'], ', ' . $context['num_users_online'], ' ', $context['num_users_online'] == 1 ? $txt['user'] : $txt['users'];
// Handle hidden users and buddies.
$bracketList = array();
if ($context['show_buddies'])
$bracketList[] = $context['num_buddies'] . ' ' . ($context['num_buddies'] == 1 ? $txt['buddy'] : $txt['buddies']);
if (!empty($context['num_spiders']))
$bracketList[] = $context['num_spiders'] . ' ' . ($context['num_spiders'] == 1 ? $txt['spider'] : $txt['spiders']);
if (!empty($context['num_users_hidden']))
$bracketList[] = $context['num_users_hidden'] . ' ' . $txt['hidden'];
if (!empty($bracketList))
echo ' (' . implode(', ', $bracketList) . ')';
echo $context['show_who'] ? '</a>' : '', '
<div class="smalltext">';
// Assuming there ARE users online... each user in users_online has an id, username, name, group, href, and link.
if (!empty($context['users_online']))
{
echo '
', sprintf($txt['users_active'], $modSettings['lastActive']), ':<br />', implode(', ', $context['list_users_online']);
// Showing membergroups?
global $context, $settings;
$context['membergroups'] = cache_quick_get('membergroup_list', 'Subs-Membergroups.php', 'cache_getMembergroupList', array());
if (!empty($settings['show_group_key']) && !empty($context['membergroups']))
echo '
<br />[' . implode('] [', $context['membergroups']) . ']';
}
echo '
</div>
<hr />
<div class="smalltext">
', $txt['most_online_today'], ': <b>', $modSettings['mostOnlineToday'], '</b>.
', $txt['most_online_ever'], ': ', $modSettings['mostOnline'], ' (' , timeformat($modSettings['mostDate']), ')
</div></div>
</div>
</div>
</div>';
-
Thanks so much ares, you totally solved my problem!!! ;D
-
glade to help
-
I want to have the same feature in my portal but i cant really understand what file i need to edit and what edit to make exactly.
Can pls someone make a guide step by step here so I wont mess my portal.
Pleaseee :angel:
-
make a new php block and place the code there