Disable Members Online Now

shakuni

New member
Hi, how can I delete the 'Members Online Now' box from the sidebar completely? Thanks for the help!
 

Shelley

Well-known member
I'm quite sure there isn't an option to disable it. You can throw the following in EXTRA.CSS and hide it.

Code:
.sidebar .membersOnline {display: none;}
 

shakuni

New member
Hi Shelley, Thanks a lot for quick reply. But I am not a big fan of display:none. Google doesn't like it much and the code is still being executed. I need to remove the code from sidebar.
 

Shelley

Well-known member
Hi Shelley, Thanks a lot for quick reply. But I am not a big fan of display:none. Google doesn't like it much and the code is still being executed. I need to remove the code from sidebar.
I'm quite sure then you want to be looking in the sidebar_online_users template

Code:
<!-- block: sidebar_online_users -->
<div class="section membersOnline userList">        
    <div class="secondaryContent">
        <h3><a href="{xen:link online}" title="{xen:phrase see_all_online_users}">{xen:phrase members_online_now}</a></h3>
        
        <xen:if is="{$onlineUsers.records}">
        
            <xen:if is="{$visitor.user_id}">
                <xen:if hascontent="true">
                <h4 class="minorHeading"><a href="{xen:link account/following}">{xen:phrase people_you_follow}:</a></h4>
                <ul class="followedOnline">
                    <xen:contentcheck>
                        <xen:foreach loop="$onlineUsers.records" value="$user">
                            <xen:if is="{$user.followed}">
                                <li title="{$user.username}" class="Tooltip"><xen:avatar user="$user" size="s" img="true" class="_plainImage" /></li>
                            </xen:if>
                        </xen:foreach>
                    </xen:contentcheck>
                </ul>
                <h4 class="minorHeading"><a href="{xen:link members}">{xen:phrase members}:</a></h4>
                </xen:if>
            </xen:if>
            
            <ol class="listInline">
                <xen:foreach loop="$onlineUsers.records" value="$user" i="$i">
                    <xen:if is="{$i} <= {$onlineUsers.limit}">
                        <li>
                        <xen:if is="{$user.user_id}">
                            <a href="{xen:link members, $user}"
                                class="username{xen:if '!{$user.visible}', ' invisible'}{xen:if {$user.followed}, ' followed'}">{xen:helper richUserName, $user}</a><xen:if is="{$i} < {$onlineUsers.limit}">,</xen:if>
                        <xen:else />
                            {xen:phrase guest}<xen:if is="{$i} < {$onlineUsers.limit}">,</xen:if>
                        </xen:if>
                        </li>
                    </xen:if>
                </xen:foreach>
                <xen:if is="{$onlineUsers.recordsUnseen}">
                    <li class="moreLink">... <a href="{xen:link online}" title="{xen:phrase see_all_visitors}">{xen:phrase and_x_more, 'count={xen:number $onlineUsers.recordsUnseen}'}</a></li>
                </xen:if>
            </ol>
        </xen:if>
        
        <div class="footnote">
            {xen:phrase online_now_x_members_y_guests_z, 'total={xen:number $onlineUsers.total}', 'members={xen:number $onlineUsers.members}', 'guests={xen:number $onlineUsers.guests}'}
        </div>
    </div>
</div>
<!-- end block: sidebar_online_users -->
 

shakuni

New member
Hi Shelley, Thanks for quick update. Can you tell me which file handles the whole sidebar? I will then go into it and remove the call to sidebar_online_users template. Hope that will work?
 

Shelley

Well-known member
Hi Shelley, Thanks for quick update. Can you tell me which file handles the whole sidebar? I will then go into it and remove the call to sidebar_online_users template. Hope that will work?
I'm not sure. Perhaps Brogan or one of the advance devs can jump in and answer this for you. Sorry.
 

Jeremy

Well-known member
The call is in the template forum_list, specifically:
HTML:
<xen:include template="sidebar_online_users" />
 

Brogan

XenForo moderator
Staff member
The ACP option doesn't allow it to be disabled completely so you would have to edit the template.

Alternatively you can try adding to EXTRA.css: .listInline { display:none; }
 

semprot

Well-known member
The call is in the template forum_list, specifically:
HTML:
<xen:include template="sidebar_online_users" />
If the template is removed from being called, does the database process to get online users is not called too?
 

semprot

Well-known member
That is incorrect. The database call will still be made.
Any idea how to disable the db call? Because my forum has > 1000 online logged in users, and online list is not necessary on my forum, any idea how to disable the db call? :)
 

AndyB

Well-known member
Any idea how to disable the db call? Because my forum has > 1000 online logged in users, and online list is not necessary on my forum, any idea how to disable the db call? :)
You can do this to save running the code.

library/XenForo/Model/Session.php

line 55

PHP:
  public function getSessionActivityQuickList(array $viewingUser, array $conditions = array(), array $forceInclude = null)
   { 

    // start hack
    return;
    // end hack

     $fetchOptions = array(
       'join' => self::FETCH_USER,
       'order' => 'username'
     );
It's possible to create an add-on to do the above so you won't have to edit the core code every time you upgrade.
 
Top