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

================================
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

==========================================
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['nomembers'];
    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: ";
$lang['nomembers'] = "0 Members";
// 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

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