Who among my friends is online?

Tamás Varga Posted in Technical Support 2 years ago

I disabled the OSSNchat 5.5 component. Now there is no indication which of my friends is online. I don't want to use the ossnchat5.5 component. I need to know who is online. Is this possible?

Replies
German Michael Zülsdorff Replied 2 years ago

You wanted to see who of your friends is online, right?
Thus, you would click the "Friends" tab, and as before - only friends will be displayed - not all members.
If you want to see all members, search for people.
This time you'll see all members - being marked the same way.

Hungarian Tamás Varga Replied 2 years ago

Can I see my friends online with this, or all users?

German Michael Zülsdorff Replied 2 years ago

So the result with both methods implemented looks like

So the result looks like

Still one thing you should be aware of is that the member-activity update intervals are longer when OssnChat is disabled. Thus, by chance you may pick a member who is still marked as being online but has logged off already.

German Michael Zülsdorff Replied 2 years ago

One way could be to add a 'online check' while running the foreach loop in
system/plugins/default/output/users.php like

    foreach ($users as $user) {
    $online_class = '';
    $online_icon = '';
    if ($user->isOnline()) {
        $online_class = ' user-icon-online';
        $online_icon = ' <i class="fa fa-wifi"></i>';
    }

The method of marking depends on the theme in use. With GreenByGreen, member icons are available throughout all display sizes. That's why I can simply add a colorizing 'online-class' to them, defined in theme's CSS like

.user-icon-online {
border-color: #77d560;
border-width: 1.9px;
border-style: solid;

}

While on themes which are missing member icons in mobile view, my idea was adding a fontawesome 'wifi' icon next to the member name.

To get an idea, I implemented both methods like:

echo '<img class="user-icon-small' . $online_class . '" src="' . $user->iconURL()->small . '">'; // green border
echo ossn_plugin_view('output/url', array(
    'text' => ' ' . $user->fullname . $online_icon, // extra wifi icon 
    'href' =>  $user->profileURL(),
    'class' => 'userlink',
));                     
in Georgeann Flynn Replied 2 years ago

Only you can know.