Title: RPG Element Selection v2.0

Author: John Briggs

Description:
This modification will provide an option to select a RPG Element image in your member control panel.
This modification will display your selected RPG Element image in your profile, control panel and threads.

Copyright:  2006 John Briggs. All rights reserved.

Compatability: XMB 1.9.8 SP3

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

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

Author Note:
You downloaded this hack from XMBGarage.com, the #1 source for XMB related downloads.
Please visit http://www.xmbgarage.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: member.php
=================

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

loadtemplates(

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

loadtemplates(
'member_profile_rpgelem',

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

                $langfileselect = createLangFileSelect($SETTINGS['langfile']);

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

                // RPG Element Selection Mod Begin
                $efs = array();
                $efs[] = '<option value="">'.$lang['rpgelemnone'].'</option>';
                $dp = opendir(ROOT.'images/rpgelem');
                while ($file = readdir($dp)) {
                    if ($file != '.' AND $file != '..' AND $file != 'index.html') {
                        $rpgelemname = $file;
                        $rpgelemname = str_replace(array('.gif','.jpg','.png','_'), array('','','',' '), $rpgelemname);
                        if ($memberinfo['rpgelem'] == $file) {
                            $efs[] = '<option value="'.$file.'" selected="selected">'.$rpgelemname.'</option>';
                        } else {
                            $efs[] = '<option value="'.$file.'">'.$rpgelemname.'</option>';
                        }
                    }
                }
                closedir($dp);
                natcasesort($efs);
                $rpgelemselect = '<select name="rpgelem" onchange="document.getElementById(\'rpgelemimg\').src = (this.options[this.selectedIndex].value != \'\') ? \'images/rpgelem/\'+this.options[this.selectedIndex].value : \'./images/pixel.gif\';" />'.implode("\n", $efs).'</select>';
                $rpgelemimg  = '<img src="'.ROOT.'images/pixel.gif" id="rpgelemimg" alt="" />';
                if ($memberinfo['rpgelem'] != '') {
                    $rpgelemimg = '<img src="'.ROOT.'images/rpgelem/'.$memberinfo['rpgelem'].'" alt="'.str_replace(array('.gif','.jpg','.png','_'), array('','','',' '), $memberinfo['rpgelem']).'" id="rpgelemimg" />';
                }
                // RPG Element Selection Mod End

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

                $sig = postedVar('sig', 'javascript', ($SETTINGS['sightml']=='off'), TRUE, TRUE);

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

                // RPG Element Selection Mod Begin
                $rpgelem = postedVar('rpgelem', 'javascript', TRUE, TRUE, TRUE);
                // RPG Element Selection Mod End

===================
Find Code (2 instances):
===================

) VALUES ('$username',

=========================
Replace Code With (2 instances):
=========================

, rpgelem) VALUES ('$username',

=================================
Find Code At End Of Both Query Statements:
=================================

)");

===========================
Replace Code With (Both Instances):
===========================

, '$rpgelem')");

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

                if ($memberinfo['customstatus'] != '') {
                    $showtitle = $rank['title'];
                    $customstatus = '<br />'.censor($memberinfo['customstatus']);
                } else {
                    $showtitle = $rank['title'];
                    $customstatus = '';
                }

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

                // RPG Element Selection Mod Begin
                $rpgelemblock = '';
                if ($memberinfo['rpgelem'] != '') {
                    $rpgelemname = $memberinfo['rpgelem'];
                    $rpgelemname = str_replace('.gif', '', $rpgelemname);
                    $rpgelemname = str_replace('_', ' ', $rpgelemname);
                    if (file_exists(ROOT.'images/rpgelem/'.$memberinfo['rpgelem'])) {
                        $rpgelemimg = '<img src="./images/rpgelem/'.$memberinfo['rpgelem'].'" alt="'.$rpgelemname.'" title="'.$rpgelemname.'" border="0" /><br />'.$rpgelemname;
                        $memberinfo['rpgelem'] = $rpgelemimg;
                        eval('$rpgelemblock = "'.template('member_profile_rpgelem').'";');
                    }
                }
                // RPG Element Selection Mod End

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

=================
Edit File: memcp.php
=================

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

        $langfileselect = createLangFileSelect($member['langfile']);

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

        // RPG Element Selection Mod Begin
        $efs = array();
        $efs[] = '<option value="">'.$lang['rpgelemnone'].'</option>';
        $dp = opendir(ROOT.'images/rpgelem');
        while ($file = readdir($dp)) {
            if ($file != '.' AND $file != '..' AND $file != 'index.html') {
                $rpgelemname = $file;
                $rpgelemname = str_replace(array('.gif','.jpg','.png','_'), array('','','',' '), $rpgelemname);
                if ($member['rpgelem'] == $file) {
                    $efs[] = '<option value="'.$file.'" selected="selected">'.$rpgelemname.'</option>';
                } else {
                    $efs[] = '<option value="'.$file.'">'.$rpgelemname.'</option>';
                }
            }
        }
        closedir($dp);
        natcasesort($efs);
        $rpgelemselect = '<select name="newrpgelem" onchange="document.getElementById(\'rpgelemimg\').src = (this.options[this.selectedIndex].value != \'\') ? \'images/rpgelem/\'+this.options[this.selectedIndex].value : \'./images/pixel.gif\';" />'.implode("\n", $efs).'</select>';
        $rpgelemimg  = '<img src="'.ROOT.'images/pixel.gif" id="rpgelemimg" alt="" />';
        if ($member['rpgelem'] != '') {
            $rpgelemimg = '<img src="'.ROOT.'images/rpgelem/'.$member['rpgelem'].'" alt="'.str_replace(array('.gif','.jpg','.png','_'), array('','','',' '), $member['rpgelem']).'" id="rpgelemimg" />';
        }
        // RPG Element Selection Mod End

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

        $sig = isset($_POST['newsig']) ? checkInput($_POST['newsig'], '', $SETTINGS['sightml'], '', false) : '';

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

        // RPG Element Selection Mod Begin
        $newrpgelem = formVar('newrpgelem');
        $rpgelem = $newrpgelem ? checkInput($newrpgelem, 'no', 'yes', 'javascript', false) : '';
        // RPG Element Selection Mod End

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

        $sig = addslashes($sig);

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

        // RPG Element Selection Mod Begin
        $rpgelem = addslashes($rpgelem);
        // RPG Element Selection Mod End

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

$db->query("UPDATE ".X_PREFIX."members SET $pwtxt

=======================================
Find Code In-Line At End Of Above Query Statement:
=======================================

 WHERE username='$xmbuser'");

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

, rpgelem='$rpgelem' WHERE username='$xmbuser'");

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

    if ($member['mood'] != '') {
        $member['mood'] = censor($member['mood']);
        $member['mood'] = postify($member['mood'], 'no', 'no', 'yes', 'no', 'yes', 'no', true, 'yes');
    } else {
        $member['mood'] = '';
    }

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

    // RPG Element Selection Mod Begin
    if ($member['rpgelem'] != '') {
        $rpgelemname = $member['rpgelem'];
        $rpgelemname = str_replace('.gif', '', $rpgelemname);
        $rpgelemname = str_replace('_', ' ', $rpgelemname);
        if (file_exists(ROOT.'images/rpgelem/'.$member['rpgelem'])) {
            $rpgelemimg = '<img src="'.ROOT.'images/rpgelem/'.$member['rpgelem'].'" alt="'.$rpgelemname.'" title="'.$rpgelemname.'" border="0" /><br />'.$rpgelemname;
            $member['rpgelem'] = $rpgelemimg;
        }
    }
    // RPG Element Selection Mod End

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

==========================
Edit File: editprofile.php
==========================

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

    $langfileselect = createLangFileSelect($member['langfile']);

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

    // RPG Element Selection Mod Begin
    $efs = array();
    $efs[] = '<option value="">'.$lang['rpgelemnone'].'</option>';
    $dp = opendir(ROOT.'images/rpgelem');
    while ($file = readdir($dp)) {
        if ($file != '.' AND $file != '..' AND $file != 'index.html') {
            $rpgelemname = $file;
            $rpgelemname = str_replace(array('.gif','.jpg','.png','_'), array('','','',' '), $rpgelemname);
            if ($member['rpgelem'] == $file) {
                $efs[] = '<option value="'.$file.'" selected="selected">'.$rpgelemname.'</option>';
            } else {
                    $efs[] = '<option value="'.$file.'">'.$rpgelemname.'</option>';
            }
        }
    }
    closedir($dp);
    natcasesort($efs);
    $rpgelemselect = '<select name="newrpgelem" onchange="document.getElementById(\'rpgelemimg\').src = (this.options[this.selectedIndex].value != \'\') ? \'images/rpgelem/\'+this.options[this.selectedIndex].value : \'./images/pixel.gif\';" />'.implode("\n", $efs).'</select>';
    $rpgelemimg  = '<img src="'.ROOT.'images/pixel.gif" id="rpgelemimg" alt="" />';
    if ($member['rpgelem'] != '') {
        $rpgelemimg = '<img src="'.ROOT.'images/rpgelem/'.$member['rpgelem'].'" alt="'.str_replace(array('.gif','.jpg','.png','_'), array('','','',' '), $member['rpgelem']).'" id="rpgelemimg" />';
    }
    // RPG Element Selection Mod End

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

    $sig = isset($_POST['newsig']) ? checkInput($_POST['newsig'], '', $SETTINGS['sightml'], '', false) : '';

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

    // RPG Element Selection Mod Begin
    $newrpgelem = formVar('newrpgelem');
    $rpgelem = $newrpgelem ? checkInput($newrpgelem, 'no', 'yes', 'javascript', false) : '';
    // RPG Element Selection Mod End

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

    $sig = addslashes($sig);

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

    // RPG Element Selection Mod Begin
    $rpgelem = addslashes($rpgelem);
    // RPG Element Selection Mod End

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

$db->query("UPDATE ".X_PREFIX."members SET email='$email',

==================================================
Find Code In-Line At End Of Above Query Statement:
==================================================

 WHERE username='$user'");

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

, rpgelem='$rpgelem' WHERE username='$user'");

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

=========================
Edit File: viewthread.php
=========================

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

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

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

            // RPG Element Selection Mod Begin
            if ($post['rpgelem'] != '') {
                $rpgelemname = $post['rpgelem'];
                $rpgelemname = str_replace(array('.gif','.jpg','.png','_'), array('','','',' '), $rpgelemname);
                if (file_exists(ROOT.'images/rpgelem/'.$post['rpgelem'].'')) {
                    $rpgelemimg = '<img src="'.ROOT.'images/rpgelem/'.$post['rpgelem'].'" alt="'.$rpgelemname.'" title="'.$rpgelemname.'" border="0" /><br />'.$rpgelemname.'<br />';
                    $post['rpgelem'] = '<br />'.$lang['rpgelem'].' '.$rpgelemimg;
                }
            }
            // RPG Element Selection Mod End

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

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

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

            // RPG Element Selection Mod Begin
            $post['rpgelem'] = '';
            // RPG Element Selection Mod End

=======================================================================================================================================
=======
Step 6:
=======

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

====================
Add Code To End Of File:
====================

// RPG Element Selection Mod Begin
$lang['rpgelem'] = "RPG Element:";
$lang['rpgelemnone'] = "--Select RPG Element--";
// RPG Element Selection Mod End

=======================================================================================================================================
=======
Step 7:
=======

=======================================================
Go To Admin Panel -> Templates -> admintool_editprofile
=======================================================

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

<tr class="tablerow">
<td bgcolor="$altbg1" width="22%">$lang[textlocation]</td>
<td bgcolor="$altbg2"><input type="text" name="newlocation" size="25" value="$member[location]" /></td>
</tr>

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

<tr class="tablerow">
<td bgcolor="$THEME[altbg1]" width="22%">$lang[rpgelem]</td>
<td bgcolor="$THEME[altbg2]">$rpgelemselect&nbsp;<img id="rpgelemimg" src="./images/rpgelem/$member[rpgelem]" alt="$rpgelemname" title="$rpgelemname" border="0" /></td>
</tr>

=======================================================================================================================================
=======
Step 8:
=======

==========================================
Go To Admin Panel -> Templates -> member_reg_optional
==========================================

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

<tr class="tablerow">
<td bgcolor="$altbg1" width="22%">$lang[textlocation]</td>
<td bgcolor="$altbg2"><input type="text" name="location" size="25" value="" /></td>
</tr>

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

<tr class="tablerow">
<td bgcolor="$THEME[altbg1]" width="22%">$lang[rpgelem]</td>
<td bgcolor="$THEME[altbg2]">$rpgelemselect&nbsp;<img id="rpgelemimg" src="./images/pixel.gif" alt="$rpgelemname" title="$rpgelemname" border="0" /></td>
</tr>

=======================================================================================================================================
=======
Step 9:
=======

===============================================
Go To Admin Panel -> Templates -> memcp_profile
===============================================

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

<tr class="tablerow">
<td bgcolor="$altbg1" width="22%">$lang[textlocation]</td>
<td bgcolor="$altbg2"><input type="text" name="newlocation" size="25" value="$member[location]" /></td>
</tr>

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

<tr class="tablerow">
<td bgcolor="$THEME[altbg1]" width="22%">$lang[rpgelem]</td>
<td bgcolor="$THEME[altbg2]">$rpgelemselect&nbsp;$rpgelemimg</td>
</tr>

=======================================================================================================================================
========
Step 10:
========

=================================================
Go To Admin Panel -> Templates -> viewthread_post
=================================================

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

$location

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

$post[rpgelem]

=======================================================================================================================================
========
Step 11:
========

======================================
Go To Admin Panel -> Templates -> member_profile
======================================

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

<tr class="tablerow">
<td bgcolor="$altbg1">$lang[textlocation]</td>
<td bgcolor="$altbg2">$memberinfo[location]</td>
</tr>

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

$rpgelemblock

=======================================================================================================================================
========
Step 12:
========

===========================================================
Go to admin panel -> templates -> create template name -> member_profile_rpgelem
===========================================================

================================
Add Code & Click Submit Changes:
================================

<tr class="tablerow">
<td bgcolor="$THEME[altbg1]" width="22%" valign="top">$lang[rpgelem]</td>
<td bgcolor="$THEME[altbg2]">$memberinfo[rpgelem]</td>
</tr>

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

=====================================
Go To Admin Panel -> Templates -> memcp_home
=====================================

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

<td bgcolor="$altbg1" valign="top">&nbsp;</td>
<td bgcolor="$altbg2" valign="top">&nbsp;</td>

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

<td bgcolor="$THEME[altbg1]" valign="top">$lang[rpgelem]</td>
<td bgcolor="$THEME[altbg2]" valign="top" align="center">$member[rpgelem]</td>

=======================================================================================================================================
========
Step 14:
========

Now upload provided folder named "/rpgelem/" to your forum "/images/" directory.

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