Title: Canadian Flag Selection v2.0

Author: John Briggs

Description:
This modification will provide an option to select a Canadian Flag image in your member control panel.
This modification will display your selected Canadian Flag 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_canada',

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

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

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

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

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

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

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

                // Canadian Flag Selection Mod Begin
                $canada = postedVar('canada', 'javascript', TRUE, TRUE, TRUE);
                // Canadian Flag Selection Mod End

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

) VALUES ('$username',

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

, canada) VALUES ('$username',

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

)");

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

, '$canada')");

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

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

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

                // Canadian Flag Selection Mod Begin
                $canadablock = '';
                if ($memberinfo['canada'] != '') {
                    $canadaname = $memberinfo['canada'];
                    $canadaname = str_replace('.gif', '', $canadaname);
                    $canadaname = str_replace('_', ' ', $canadaname);
                    if (file_exists(ROOT.'images/canada/'.$memberinfo['canada'])) {
                        $canadaimg = '<img src="./images/canada/'.$memberinfo['canada'].'" alt="'.$canadaname.'" title="'.$canadaname.'" border="0" /><br />'.$canadaname;
                        $memberinfo['canada'] = $canadaimg;
                        eval('$canadablock = "'.template('member_profile_canada').'";');
                    }
                }
                // Canadian Flag Selection Mod End

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

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

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

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

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

        // Canadian Flag Selection Mod Begin
        $canfs = array();
        $canfs[] = '<option value="">'.$lang['canadanone'].'</option>';
        $dp = opendir(ROOT.'images/canada');
        while ($file = readdir($dp)) {
            if ($file != '.' AND $file != '..' AND $file != 'index.html') {
                $canadaname = $file;
                $canadaname = str_replace(array('.gif','.jpg','.png','_'), array('','','',' '), $canadaname);
                if ($member['canada'] == $file) {
                    $canfs[] = '<option value="'.$file.'" selected="selected">'.$canadaname.'</option>';
                } else {
                    $canfs[] = '<option value="'.$file.'">'.$canadaname.'</option>';
                }
            }
        }
        closedir($dp);
        natcasesort($canfs);
        $canadaselect = '<select name="newcanada" onchange="document.getElementById(\'canadaimg\').src = (this.options[this.selectedIndex].value != \'\') ? \'images/canada/\'+this.options[this.selectedIndex].value : \'./images/pixel.gif\';" />'.implode("\n", $canfs).'</select>';
        $canadaimg  = '<img src="'.ROOT.'images/pixel.gif" id="canadaimg" alt="" />';
        if ($member['canada'] != '') {
            $canadaimg = '<img src="'.ROOT.'images/canada/'.$member['canada'].'" alt="'.str_replace(array('.gif','.jpg','.png','_'), array('','','',' '), $member['canada']).'" id="canadaimg" />';
        }
        // Canadian Flag Selection Mod End

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

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

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

        // Canadian Flag Selection Mod Begin
        $newcanada = formVar('newcanada');
        $canada = $newcanada ? checkInput($newcanada, 'no', 'yes', 'javascript', false) : '';
        // Canadian Flag Selection Mod End

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

        $sig = addslashes($sig);

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

        // Canadian Flag Selection Mod Begin
        $canada = addslashes($canada);
        // Canadian Flag 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:
================

, canada='$canada' 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:
===============

    // Canadian Flag Selection Mod Begin
    if ($member['canada'] != '') {
        $canadaname = $member['canada'];
        $canadaname = str_replace('.gif', '', $canadaname);
        $canadaname = str_replace('_', ' ', $canadaname);
        if (file_exists(ROOT.'images/canada/'.$member['canada'])) {
            $canadaimg = '<img src="'.ROOT.'images/canada/'.$member['canada'].'" alt="'.$canadaname.'" title="'.$canadaname.'" border="0" /><br />'.$canadaname;
            $member['canada'] = $canadaimg;
        }
    }
    // Canadian Flag Selection Mod End

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

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

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

    // Canadian Flag Selection Mod Begin
    $canfs = array();
    $canfs[] = '<option value="">'.$lang['canadanone'].'</option>';
    $dp = opendir(ROOT.'images/canada');
    while ($file = readdir($dp)) {
        if ($file != '.' AND $file != '..' AND $file != 'index.html') {
            $canadaname = $file;
            $canadaname = str_replace(array('.gif','.jpg','.png','_'), array('','','',' '), $canadaname);
            if ($member['canada'] == $file) {
                $canfs[] = '<option value="'.$file.'" selected="selected">'.$canadaname.'</option>';
            } else {
                    $canfs[] = '<option value="'.$file.'">'.$canadaname.'</option>';
            }
        }
    }
    closedir($dp);
    natcasesort($canfs);
    $canadaselect = '<select name="newcanada" onchange="document.getElementById(\'canadaimg\').src = (this.options[this.selectedIndex].value != \'\') ? \'images/canada/\'+this.options[this.selectedIndex].value : \'./images/pixel.gif\';" />'.implode("\n", $canfs).'</select>';
    $canadaimg  = '<img src="'.ROOT.'images/pixel.gif" id="canadaimg" alt="" />';
    if ($member['canada'] != '') {
        $canadaimg = '<img src="'.ROOT.'images/canada/'.$member['canada'].'" alt="'.str_replace(array('.gif','.jpg','.png','_'), array('','','',' '), $member['canada']).'" id="canadaimg" />';
    }
    // Canadian Flag Selection Mod End

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

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

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

    // Canadian Flag Selection Mod Begin
    $newcanada = formVar('newcanada');
    $canada = $newcanada ? checkInput($newcanada, 'no', 'yes', 'javascript', false) : '';
    // Canadian Flag Selection Mod End

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

    $sig = addslashes($sig);

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

    // Canadian Flag Selection Mod Begin
    $canada = addslashes($canada);
    // Canadian Flag 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:
================

, canada='$canada' 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:
===============

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

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

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

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

            // Canadian Flag Selection Mod Begin
            $post['canada'] = '';
            // Canadian Flag Selection Mod End

=======================================================================================================================================
=======
Step 6:
=======
=======================
Edit File: lang/English.lang.php
=======================
=====================
Add Code To End Of File:
=====================

// Canadian Flag Selection Mod Begin
$lang['canada'] = "Canadian Flag:";
$lang['canadanone'] = "--Select Canadian Flag--";
// Canadian Flag 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[canada]</td>
<td bgcolor="$THEME[altbg2]">$canadaselect&nbsp;$canadaimg</td>
</tr>

=======================================================================================================================================
=======
Step 8:
=======
==========================
Go To Admin Panel -> Templates
==========================
===========================
Edit Template: 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[canada]</td>
<td bgcolor="$THEME[altbg2]">$canadaselect&nbsp;<img id="canadaimg" src="./images/pixel.gif" alt="$canadaname" title="$canadaname" border="0" /></td>
</tr>

=======================================================================================================================================
=======
Step 9:
=======
==========================
Go To Admin Panel -> Templates
==========================
=======================
Edit Template: 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[canada]</td>
<td bgcolor="$THEME[altbg2]">$canadaselect&nbsp;$canadaimg</td>
</tr>

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

==========================
Go To Admin Panel -> Templates
==========================
========================
Edit Template: viewthread_post
========================

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

$location

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

$post[canada]

=======================================================================================================================================
========
Step 11:
========
==========================
Go To Admin Panel -> Templates
==========================
=======================
Edit Template: member_profile
=======================
==========
Find Code:
==========

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

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

$canadablock

=======================================================================================================================================
========
Step 12:
========
=========================
Go to Admin Panel -> Templates
=========================
===================================
Create New Template: member_profile_canada
===================================
===========================
Add Code & Click Submit Changes:
===========================

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

=======================================================================================================================================
========
Step 13:
========
==========================
Go To Admin Panel -> Templates
==========================
======================
Edit Template: 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[canada]</td>
<td bgcolor="$THEME[altbg2]" valign="top" align="center">$member[canada]</td>

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

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

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