Title: Users Viewing Page v1.0

Author: John Briggs

Description:
This mod will add a feature for members to see who is visiting the page they are viewing.
This mod will add a on/off control in admin panel settings to choose if you want it on or not.

Copyright:  2006 John Briggs. All rights reserved.

Compatability: XMB 1.9.5 Final

Install Note: Before adding this mod to your forum, you should back up all files related to this mod.

License Note: This mod is released under the GPL License. A copy is provided with this software.

Author Note:
You downloaded this hack from XMBMods.com, the #1 source for XMB related downloads.
Please visit http://www.xmbmods.com/ for support.

=======================================================================================================================================================
=======
Step 1:
=======

===================================
Go To Admin Panel -> Insert Raw SQL
===================================

Upload provided file named "SQL.txt" & click "Submit Changes" button.

=======================================================================================================================================
=======
Step 2:
=======

=================
Edit File: cp.php
=================

==========
Find Code:
==========

        $avchecked[0] = $avchecked[1] = $avchecked[2] = false;

        if (!empty($avatarlist)) {
            $avchecked[1] = true;
        } elseif (!empty($avataroff)) {
            $avchecked[2] = true;
        } else {
            $avchecked[0] = true;
        }

===============
Add Code Below:
===============

        // Users Viewing Page Mod Begin
        $viewuserson = $viewusersoff = '';
        switch ($SETTINGS['viewusers']) {
            case 'on':
                $viewuserson = $selHTML;
                break;
            default:
                $viewusersoff = $selHTML;
                break;
        }
        // Users Viewing Page Mod End

==========
Find Code:
==========

        printsetting1($lang['reportpoststatus'], 'reportpostnew', $reportposton, $reportpostoff);

===============
Add Code Below:
===============

        // Users Viewing Page Mod Begin
        printsetting1($lang['viewusers'], 'viewusersnew', $viewuserson, $viewusersoff);
        // Users Viewing Page Mod End

==========
Find Code:
==========

        $resetSigNew = ($resetSigNew == 'on') ? 'on' : 'off';

===============
Add Code Below:
===============

        // Users Viewing Page Mod Begin
        $viewusersnew = ($viewusersnew == 'on') ? 'on' : 'off';
        // Users Viewing Page Mod End

==========
Find Code:
==========

$db->query("UPDATE $table_settings SET langfile='$langfilenew'

====================================
Find Code At End Of Above Statement:
====================================

");

==================
Replace Code With:
==================

, viewusers='$viewusersnew'");

=======================================================================================================================================
=======
Step 3:
=======

=======================================================================================================================================
NOTE: There are 2 versions. One that uses user rank icons display and one that uses text version display.
=======================================================================================================================================

=====================
Edit File: header.php
=====================

==========
Find Code:
==========

    $threadSubject	= '';

===============
Add Code Below:
===============

    $listusersvar   = '';

===========================
Find Code For Text Version:
===========================

// If the board is offline, display an appropriate message
    if ( $bbstatus == "off" && !(X_ADMIN) && false === strpos($url, "misc.php") && false === strpos($url, "member.php")) {
        eval('$css = "'.template('css').'";');
        error(stripslashes($bboffreason));
    }

================================
Add Code Above For Text Version:
================================

    // Users Viewing Page Mod Begin
    $listusersvar = '';
    if ($SETTINGS['viewusers'] == 'on') {
        if (X_ADMIN) {
            $qv = $db->query("SELECT m.status, m.username, w.* FROM $table_whosonline w LEFT JOIN $table_members m ON m.username=w.username WHERE w.location='$wollocation' ORDER BY w.username");
        } else {
            $qv = $db->query("SELECT m.status, m.username, w.* FROM $table_whosonline w LEFT JOIN $table_members m ON m.username=w.username WHERE w.location='$wollocation' AND w.invisible !='1' ORDER BY w.username");
        }

        $listusers = '';
        $countguests = 0;
        while ($viewing = $db->fetch_array($qv)) {
        if ($viewing['invisible'] == 1 && (X_ADMIN || $viewing['username'] == $xmbuser)) {
            $hpre = '<strike>';
            $hsuf = '</strike>';
        } else {
            $hpre = $hsuf = '';
        }

        $pre = $suff = '';
        switch ($viewing['status']) {
            case 'Super Administrator':
                $pre = '<strong><u><em>';
                $suff = '</em></u></strong>';
                break;
            case 'Administrator':
                $pre = '<strong><u>';
                $suff = '</u></strong>';
                break;
            case 'Super Moderator':
                $pre = '<em><strong>';
                $suff = '</strong></em>';
                break;
            case 'Moderator':
                $pre = '<strong>';
                $suff = '</strong>';
                break;
            default:
                $pre = '';
                $suff = '';
                break;
        }

        if ($viewing['username'] != 'xguest123') {
            if ($listusers != '')
                $listusers .= ', '.$hpre.'<a href="member.php?action=viewpro&amp;member='.rawurlencode($viewing['username']).'">'.$pre.''.$viewing['username'].''.$suff.'</a>'.$hsuf;
            else
                $listusers = $hpre.'<a href="member.php?action=viewpro&amp;member='.rawurlencode($viewing['username']).'">'.$pre.''.$viewing['username'].''.$suff.'</a>'.$hsuf;
            } else {
                $countguests++;
            }
        }

        if ($listusers == '') $listusers = $lang['textnone'];
        if ($countguests == 1) $listusers .= ' - 1 '.$lang['textguest1'];
        if ($countguests > 1)  $listusers .= ' - '.$countguests.' '.$lang['textguests'];
        $listusersvar = '<tr><td class="tablerow">'.$lang['usersinforum'].''.$listusers.'</td></tr>';
        $db->free_result($qv);
    }
    // Users Viewing Page Mod End

=====================================
Find Code For User Rank Icon Version:
=====================================

// If the board is offline, display an appropriate message
    if ( $bbstatus == "off" && !(X_ADMIN) && false === strpos($url, "misc.php") && false === strpos($url, "member.php")) {
        eval('$css = "'.template('css').'";');
        error(stripslashes($bboffreason));
    }

==========================================
Add Code Above For User Rank Icon Version:
==========================================

    // Users Viewing Page Mod Begin
    $listusersvar = '';
    if ($SETTINGS['viewusers'] == 'on') {
        if (X_ADMIN) {
            $qv = $db->query("SELECT m.status, m.username, w.* FROM $table_whosonline w LEFT JOIN $table_members m ON m.username=w.username WHERE w.location='$wollocation' ORDER BY w.username");
        } else {
            $qv = $db->query("SELECT m.status, m.username, w.* FROM $table_whosonline w LEFT JOIN $table_members m ON m.username=w.username WHERE w.location='$wollocation' AND w.invisible !='1' ORDER BY w.username");
        }

        $listusers = '';
        $countguests = 0;
        while ($viewing = $db->fetch_array($qv)) {
        if ($viewing['invisible'] == 1 && (X_ADMIN || $viewing['username'] == $xmbuser)) {
            $hpre = '<strike>';
            $hsuf = '</strike>';
        } else {
            $hpre = $hsuf = '';
        }

        $ricon = $pre = $suff = '';
        switch ($viewing['status']) {
            case 'Super Administrator':
                $ricon = '<img src="'.$THEME['imgdir'].'/online_supadmin.gif" border="0px" alt="'.$lang['ranksupadmin'].'" title="'.$lang['ranksupadmin'].'" />';
                $pre = '<strong><u><em>';
                $suff = '</em></u></strong>';
                break;
            case 'Administrator':
                $ricon = '<img src="'.$THEME['imgdir'].'/online_admin.gif" border="0px" alt="'.$lang['rankadmin'].'" title="'.$lang['rankadmin'].'" />';
                $pre = '<strong><u>';
                $suff = '</u></strong>';
                break;
            case 'Super Moderator':
                $ricon = '<img src="'.$THEME['imgdir'].'/online_supmod.gif" border="0px" alt="'.$lang['ranksupmod'].'" title="'.$lang['ranksupmod'].'" />';
                $pre = '<em><strong>';
                $suff = '</strong></em>';
                break;
            case 'Moderator':
                $ricon = '<img src="'.$THEME['imgdir'].'/online_mod.gif" border="0px" alt="'.$lang['rankmod'].'" title="'.$lang['rankmod'].'" />';
                $pre = '<strong>';
                $suff = '</strong>';
                break;
            default:
                $ricon = '<img src="'.$THEME['imgdir'].'/online_mem.gif" border="0px" alt="'.$lang['rankmem'].'" title="'.$lang['rankmem'].'" />';
                $pre = '';
                $suff = '';
                break;
        }

        if ($viewing['username'] != 'xguest123') {
            if ($listusers != '')
                $listusers .= ', '.$ricon.''.$hpre.'<a href="member.php?action=viewpro&amp;member='.rawurlencode($viewing['username']).'">'.$pre.''.$viewing['username'].''.$suff.'</a>'.$hsuf;
            else
                $listusers = $ricon.''.$hpre.'<a href="member.php?action=viewpro&amp;member='.rawurlencode($viewing['username']).'">'.$pre.''.$viewing['username'].''.$suff.'</a>'.$hsuf;
            } else {
                $countguests++;
            }
        }

        if ($listusers == '') $listusers = $lang['textnone'];
        if ($countguests == 1) $listusers .= ' - <img src="'.$THEME['imgdir'].'/online_guest.gif" border="0px" alt="'.$lang['textguest1'].'" title="'.$lang['textguest1'].'" />1 '.$lang['textguest1'];
        if ($countguests > 1)  $listusers .= ' - <img src="'.$THEME['imgdir'].'/online_guest.gif" border="0px" alt="'.$lang['textguest1'].'" title="'.$lang['textguest1'].'" />'.$countguests.' '.$lang['textguests'];
        $listusersvar = '<tr><td class="tablerow">'.$lang['usersinforum'].''.$listusers.'</td></tr>';
        $db->free_result($qv);
    }
    // Users Viewing Page Mod End

=======================================================================================================================================
=======
Step 4:
=======

================================
Edit File: lang/English.lang.php
================================

================================
Add Code At Very Bottom Of File:
================================

// Users Viewing Page Mod Begin
$lang['viewusers'] = "Users Viewing Page Status:";
$lang['usersinforum'] = "Users viewing this page: ";
// Users Viewing Page Mod End

=======================================================================================================================================
=======
Step 5:
=======

========================================
Go to admin panel -> templates -> header
========================================

=========================
Find Code At Very Bottom:
=========================

</table></td>
</tr>
</table>

<br />

===============
Add Code Above:
===============

$listusersvar

=======================================================================================================================================