============================================================================================================================
Title: Ranking System v2.0

Author: nfpunk, GuldantheWarlock, John Briggs and WormHole

Updated By: GuldantheWarlock, John Briggs and WormHole

Description:
This modification will add a Ranking System that keeps track of wins and losses.
Editable by Staff or members, your choice.
Also has its own admin panel.
Version 2 has admin editing via the members manager to edit wins/losses.
Version 2 has an extra on/off switch via the Admin Panel --> Settings to prevent the lower Staff ranks from enabling/disabling the Ranking System in the Ranking System Settings. 

Compatibility: XMB 1.9.8 SP3

Updated for 1.9.8 SP3 by: WormHole @ XMB Garage

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

Note: Before Installing this modification you should back up all files modified by this modification.

============================================================================================================================
=======
Step 1:
=======
====================================
Go To Administration Panel --> Insert Raw SQL
====================================

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

============================================================================================================================
=======
Step 2:
=======
=======================
Edit File: lang/English.lang.php
=======================
=======================
Add To End Of File Above ?>
=======================

// Ranking System Mod Begin
$lang['ranking'] = 'Rankings';
$lang['ranking_settings'] = 'Ranking Settings';
$lang['ranking_status'] = 'Ranking Status:';
$lang['ranking_enabled'] = 'Enabled';
$lang['ranking_disabled'] = 'Disabled';
$lang['ranking_name'] = 'Ranking Name';
$lang['ranking_winname'] = 'Win Name';
$lang['ranking_lossname'] = 'Loss Name';
$lang['ranking_increment'] = 'Increment';
$lang['ranking_edit'] = 'Input user status and/or usernames that are allowed to edit rankings.';
$lang['ranking_updatesuccessful'] = 'Ranking Settings Updated Successfully';
$lang['ranking_editdeny'] = "Sorry! You are not allowed to edit $member\'s ";
$lang['ranking_editallow'] = "You have successfully edited $member\'s ";
$lang['ranking_commanote'] = '<strong>Note:</strong> Place a comma after every entry, including the last one.';
$lang['ranking_noeditown'] = "Sorry! You are not allowed to edit your own *TITLE*";
$lang['ranking_wins'] = 'Wins';
$lang['ranking_losses'] = 'Losses';
$lang['rankings'] = 'Rankings:';
// Ranking System Mod End

============================================================================================================================
=======
Step 3.
=======
==============
Edit File: cp.php
==============
==========
Find Code:
==========

        $timezone1 = $timezone2 = $timezone3 = $timezone4 = $timezone5 = $timezone6 = false;

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

        // Ranking System Mod Begin
        $ranking_statuson = $ranking_statusoff = '';
        switch ($SETTINGS['ranking_status']) {
            case 'on':
                $ranking_statuson = $selHTML;
                break;
            default:
                $ranking_statusoff = $selHTML;
                break;
        }
        // Ranking System Mod End

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

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

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

        // Ranking System Mod Begin
        printsetting1($lang['ranking_status'], 'ranking_statusnew', $ranking_statuson, $ranking_statusoff);
        // Ranking System Mod End

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

        $onlinetoday_statusnew = formOnOff('onlinetoday_statusnew');

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

        // Ranking System Mod Begin
        $ranking_statusnew = formOnOff('ranking_statusnew');
        // Ranking System Mod End

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

        $db->query("UPDATE ".X_PREFIX."settings SET

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

        $db->query("UPDATE ".X_PREFIX."settings SET
            ranking_status='$ranking_statusnew',

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

            <td><strong><font color="<?php echo $cattext?>"><?php echo $lang['textposts']?></font></strong></td>

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

            <!-- Ranking System Mod Begin -->
            <td colspan="2"><strong><font color="<?php echo $THEME['cattext']?>"><?php echo $lang['ranking']?></font></strong></td>
            <!-- Ranking System Mod End -->

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

                <td><input type="text" size="3" name="postnum<?php echo $member['uid']?>" value="<?php echo $member['postnum']?>"></td>

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

                <!-- Ranking System Mod Begin -->
                <?php
                $rankquery = $db->query("SELECT * FROM ".X_PREFIX."ranking_settings");
                $rankingsettings = $db->fetch_array($rankquery);
                $db->free_result($rankquery);
                ?>
                <td valign="top"><?php echo $rankingsettings['wintitle']?><br /><input type="text" size="3" name="wins<?php echo $member['uid']?>" value="<?php echo $member['wins']?>" /></td>
                <td valign="top"><?php echo $rankingsettings['losstitle']?><br /><input type="text" size="3" name="losses<?php echo $member['uid']?>" value="<?php echo $member['losses']?>" /></td>
                <!-- Ranking System Mod End -->

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

            $postnum = isset($_POST[$postnum]) ? $_POST[$postnum] : '';

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

            // Ranking System Mod Begin
            $wins = "wins".$mem['uid'];
            $wins = isset($_POST[$wins]) ? $_POST[$wins] : '';
            $losses = "losses".$mem['uid'];
            $losses = isset($_POST[$losses]) ? $_POST[$losses] : '';
            // Ranking System Mod End

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

colspan="7"

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

colspan="9"

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

$db->query("UPDATE ".X_PREFIX."members SET ban='$banstatus', status='$to[status]', postnum='$postnum'

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

$db->query("UPDATE ".X_PREFIX."members SET ban='$banstatus', status='$to[status]', postnum='$postnum', wins='$wins', losses='$losses'

============================================================================================================================
=======
Step 4:
=======
=================
Edit File: header.php
=================
==========
Find Code:
==========

    'ranks',

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

    'ranking_settings',
    'ranks',

============================================================================================================================
=======
Step 5:
=======
=======================
Edit File: include/admin.inc.php
=======================
==========
Find Code:
==========

    &raquo;&nbsp;<a href="cp2.php?action=restrictions"><?php echo $lang['cprestricted']?></a><br />

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

    <!-- Ranking System Mod Begin -->
    &raquo;&nbsp;<a href="ranking.php?action=settings"><?php echo $lang['ranking']?></a><br />
    <!-- Ranking System Mod End -->

============================================================================================================================
=======
Step 6:
=======
=================
Edit File: member.php
=================
==========
Find Code:
==========

loadtemplates(

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

loadtemplates(
'member_profile_ranking',

=============
Find (2 Times):
=============

                $db->query("INSERT INTO ".X_PREFIX."members (username

=======================================
Add Code To Both Lines Just BEFORE: ) VALUES (
=======================================

, wins, losses

======================================
Add Code To End Of Both Lines Just BEFORE: )");
======================================

, '0', '0'

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

            $memberinfo = $db->fetch_array($db->query("SELECT * FROM ".X_PREFIX."members WHERE username='$member'"));

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

            // Ranking System Mod Begin
            $rankquery = $db->query("SELECT * FROM ".X_PREFIX."ranking_settings");
            $rankingsettings = $db->fetch_array($rankquery);
            $db->free_result($rankquery);
            // Ranking System Mod End

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

                if (strpos($memberinfo['site'], 'http') === false) {
                    $memberinfo['site'] = "http://$memberinfo[site]";
                }

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

                // Ranking System Mod Begin
                $rankingblock = '';
                if ($rankingsettings['rstatus'] == 'on') {
                    eval('$rankingblock = "'.template('member_profile_ranking').'";');
                }
                // Ranking System Mod End

============================================================================================================================
=======
Step 7:
=======
===================
Edit File: viewthread.php
===================
==========
Find Code:
==========

    while($post = $db->fetch_array($querypost)) {

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

    // Ranking System Mod Begin
    $rankquery = $db->query("SELECT * FROM ".X_PREFIX."ranking_settings");
    $rankingsettings = $db->fetch_array($rankquery);
    $db->free_result($rankquery);
    // Ranking System Mod End

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

            if ($post['location'] != '') {
                $post['location'] = censor($post['location']);
                $location = '<br />'.$lang['textlocation'].' '.$post['location'];
            } else {
                $location = '';
            }

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

            // Ranking System Mod Begin
            $rankhtml = '';
            if ($rankingsettings['rstatus'] != 'off') {
                $rankhtml = '<br /><br /><div align="left">'.$rankingsettings['ranktitle'].'<br />'.$rankingsettings['wintitle'].': '.$post['wins'].' | '.$rankingsettings['losstitle'].': '.$post['losses'].'<br />';
                $rankhtml .= '<a href="ranking.php?action=win&amp;member='.$encodename.'&amp;tid='.$tid.'&amp;pid='.$post['pid'].'">'.$rankingsettings['wintitle'].'</a> | <a href="ranking.php?action=lose&amp;member='.$encodename.'&amp;tid='.$tid.'&amp;pid='.$post['pid'].'">'.$rankingsettings['losstitle'].'</a></div>';
            }
            // Ranking System Mod End

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

            $location = '';
            $mood = '';

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

            // Ranking System Mod Begin
            $rankhtml = '';
            // Ranking System Mod End

============================================================================================================================
=======
Step 8:
=======
===============================
Go to Administration Panel --> Templates
===============================
===========================
Create New Template: ranking_edit
===========================
=============================
Add Code Below and Submit Changes
=============================

<div align="center"><font class="mediumtxt">$lang[ranking_editallow]$rsettings[ranktitle].</font></div>

============================================================================================================================
=======
Step 9:
=======
===============================
Go to Administration Panel --> Templates
===============================
===========================
Create New Template: ranking_deny
===========================
=============================
Add Code Below and Submit Changes
=============================

<div align="center"><font class="mediumtxt">$lang[ranking_editdeny]$rsettings[ranktitle].</font></div>

============================================================================================================================
========
Step 10:
========
===============================
Go to Administration Panel --> Templates
===============================
===================================
Create New Template: member_profile_ranking
===================================
=============================
Add Code Below and Submit Changes
=============================

<tr class="tablerow">
<td bgcolor="$THEME[altbg1]" width="22%">$rankingsettings[ranktitle]</td>
<td bgcolor="$THEME[altbg2]">$rankingsettings[wintitle]: $memberinfo[wins] - $rankingsettings[losstitle]: $memberinfo[losses]</td>
</tr>

============================================================================================================================
========
Step 11:
========
===============================
Go to Administration Panel --> Templates
===============================
=======================
Edit Template: member_profile
=======================
==========
Find Code:
==========

<tr class="tablerow">
<td bgcolor="$altbg1" valign="top">$lang[lastactive]</td>
<td bgcolor="$altbg2">$lastmembervisittext</td>
</tr>

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

$rankingblock

============================================================================================================================
========
Step 12:
========
===============================
Go to Administration Panel --> Templates
===============================
========================
Edit Template: viewthread_post
========================
==========
Find Code:
==========

$location

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

$rankhtml

============================================================================================================================
========
Step 13:
========

Upload all edited files and upload ranking.php from the "Contents" folder to your forum directory

============================================================================================================================
Enjoy!