Modification Title: Gender Selection v1.0

Modification Author: John Briggs

Mod Description:
This modification will provide an option on registration to select a gender.
This modification will provide an option in member control panel to select a gender.
This modification will provide an option in admin editprofile to select a gender.
This modification will display a gender image and text in the member's profile.
This modification will display a gender image and text in the member's posts.
This modification will display a gender image in member list next to the member's username.

Modification Copyright:  2006 John Briggs. All rights reserved.

Modification Compatibility: XMB 1.9.11

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

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

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

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

ALTER TABLE `$table_members` ADD `gender` INT(1) NOT NULL default '0';

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

===================
Edit File: misc.php
===================

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

                // Gender Selection Mod Begin
                if ($member['location'] != '') {
                    $member['location'] = censor($member['location']);
                } else {
                    $member['location'] = '';
                }
                // Gender Selection Mod End

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

                // Gender Selection Mod Begin
                if ($member['gender'] != '' && $member['gender'] == '1') {
                    $genderimg = '<img src="./images/gender/male.gif" border="0" alt="'.$lang['gendermale'].'" title="'.$lang['gendermale'].'"/>';
                } else if ($member['gender'] != '' && $member['gender'] == '2') {
                    $genderimg = '<img src="./images/gender/female.gif" border="0" alt="'.$lang['genderfemale'].'" title="'.$lang['genderfemale'].'"/>';
                } else if ($member['gender'] != '' && $member['gender'] == '3') {
                    $genderimg = '<img src="./images/gender/other.gif" border="0" alt="'.$lang['genderother'].'" title="'.$lang['genderother'].'"/>';
                } else {
                    $genderimg = '';
                }
                // Gender Selection Mod End

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

=====================
Edit File: member.php
=====================

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

loadtemplates(


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

'member_profile_gender',

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

            $useoldu2u = formYesNo('useoldu2u');

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

            // Gender Selection Mod Begin
            $gender = formInt('gender');
            // Gender Selection Mod End

==============================
Find Code On First Occurrence:
==============================

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

=================================
Add before ) VALUES ( in same line:
=================================

, gender

================================
Add to end of line BEFORE )"); :
================================

, '$gender'

===============================
Find Code On Second Occurrence:
===============================

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

=================================
Add before ) VALUES ( in same line:
=================================

, gender

================================
Add to end of line BEFORE )"); :
================================

, '$gender'

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

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

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

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

        // Gender Selection Mod Begin
        if ($memberinfo['gender'] != '' && $memberinfo['gender'] == '1') {
            $gendertxt = $lang['gendermale'];
            $genderimg = '<img src="./images/gender/male.gif" border="0" alt="'.$lang['gendermale'].'" title="'.$lang['gendermale'].'"/>';
            eval('$genderblock = "'.template('member_profile_gender').'";');
        } else if ($memberinfo['gender'] != '' && $memberinfo['gender'] == '2') {
            $gendertxt = $lang['genderfemale'];
            $genderimg = '<img src="./images/gender/female.gif" border="0" alt="'.$lang['genderfemale'].'" title="'.$lang['genderfemale'].'"/>';
            eval('$genderblock = "'.template('member_profile_gender').'";');
        } else if ($memberinfo['gender'] != '' && $memberinfo['gender'] == '3') {
            $gendertxt = $lang['genderother'];
            $genderimg = '<img src="./images/gender/other.gif" border="0" alt="'.$lang['genderother'].'" title="'.$lang['genderother'].'"/>';
            eval('$genderblock = "'.template('member_profile_gender').'";');
        } else {
            $gendertxt = $genderimg = $genderblock = '';
        }
        // Gender Selection Mod End

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

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

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

        $member['icq'] = ($member['icq'] > 0) ? $member['icq'] : '';
        eval('$mempage = "'.template('memcp_profile').'";');
    }

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

        // Gender Selection Mod Begin
        $gender0 = $gender1 = $gender2 = $gender3 = '';
        switch($member['gender']) {
            case 3:
                $gender3 = $selHTML;
                break;
            case 2:
                $gender2 = $selHTML;
                break;
            case 1:
                $gender1 = $selHTML;
                break;
            case 0:
                $gender0 = $selHTML;
                break;
            default:
                $gender0 = $selHTML;
                break;
        }
        // Gender Selection Mod End

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

        $newsletter = formYesNo('newnewsletter');

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

        // Gender Selection Mod Begin
        $gender = formInt('gender');
        // Gender Selection Mod End

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

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

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

u2ualert=$u2ualert WHERE username='$xmbuser'");

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

u2ualert='$u2ualert', gender='$gender' WHERE username='$xmbuser'");

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

    eval('$mempage = "'.template('memcp_home').'";');

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

    // Gender Selection Mod Begin
    if ($member['gender'] != '' && $member['gender'] == '1') {
        $gendertxt = $lang['gendermale'];
        $genderimg = '<img src="./images/gender/male.gif" border="0" alt="'.$lang['gendermale'].'" title="'.$lang['gendermale'].'"/>';
    } else if ($member['gender'] != '' && $member['gender'] == '2') {
        $gendertxt = $lang['genderfemale'];
        $genderimg = '<img src="./images/gender/female.gif" border="0" alt="'.$lang['genderfemale'].'" title="'.$lang['genderfemale'].'"/>';
    } else if ($member['gender'] != '' && $member['gender'] == '3') {
        $gendertxt = $lang['genderother'];
        $genderimg = '<img src="./images/gender/other.gif" border="0" alt="'.$lang['genderother'].'" title="'.$lang['genderother'].'"/>';
    } else {
        $gendertxt = $genderimg = '';
    }
    // Gender Selection Mod End

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

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

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

    $dayselect = array();
    $dayselect[] = '<select name="day">';
    $dayselect[] = '<option value="">&nbsp;</option>';
    for($num = 1; $num <= 31; $num++) {
        if ($day == $num) {
            $dayselect[] = '<option value="'.$num.'" '.$selHTML.'>'.$num.'</option>';
        } else {
            $dayselect[] = '<option value="'.$num.'">'.$num.'</option>';
        }
    }
    $dayselect[] = '</select>';
    $dayselect = implode("\n", $dayselect);

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

    // Gender Selection Mod Begin
    $gender0 = $gender1 = $gender2 = $gender3 = '';
    switch($member['gender']) {
        case 3:
            $gender3 = $selHTML;
            break;
        case 2:
            $gender2 = $selHTML;
            break;
        case 1:
            $gender1 = $selHTML;
            break;
        case 0:
            $gender0 = $selHTML;
            break;
        default:
            $gender0 = $selHTML;
            break;
    }
    // Gender Selection Mod End

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

    $newsletter = formYesNo('newnewsletter');

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

    // Gender Selection Mod Begin
    $gender = formInt('gender');
    // Gender Selection Mod End

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

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

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

u2ualert=$u2ualert WHERE username='$user'")

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

u2ualert='$u2ualert', gender='$gender' WHERE username='$user'")

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

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

            // Gender Selection Mod Begin
            if ($post['gender'] != '' && $post['gender'] == '1') {
                $gendertxt = '<br />'.$lang['gender'].' '.$lang['gendermale'];
                $genderimg = '<img src="./images/gender/male.gif" border="0" alt="'.$lang['gendermale'].'" title="'.$lang['gendermale'].'"/>';
            } else if ($post['gender'] != '' && $post['gender'] == '2') {
                $gendertxt = '<br />'.$lang['gender'].' '.$lang['genderfemale'];
                $genderimg = '<img src="./images/gender/female.gif" border="0" alt="'.$lang['genderfemale'].'" title="'.$lang['genderfemale'].'"/>';
            } else if ($post['gender'] != '' && $post['gender'] == '3') {
                $gendertxt = '<br />'.$lang['gender'].' '.$lang['genderother'];
                $genderimg = '<img src="./images/gender/other.gif" border="0" alt="'.$lang['genderother'].'" title="'.$lang['genderother'].'"/>';
            } else {
                $gendertxt = $genderimg = '';
            }
            // Gender Selection Mod End

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

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

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

            // Gender Selection Mod Begin
            $gendertxt = '';
            $genderimg = '';
            // Gender Selection Mod End

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

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

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

/* Set Up HTML Templates and Themes */

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

// Gender Selection Mod Begin
// Assert Gender Selection Translation
if (!isset($lang['genderother'])) {
    require_once(ROOT.'include/translation.inc.php');
    setNewLangValue('gender', 'Gender:');
    setNewLangValue('gendernone', 'None');
    setNewLangValue('gendermale', 'Male');
    setNewLangValue('genderfemale', 'Female');
    setNewLangValue('genderother', 'Other');
    loadLang($langfile);
}
// Gender Selection Mod End

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

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

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

$profilelink

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

$profilelink$genderimg

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

$location

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

$gendertxt

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

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

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

<tr class="tablerow">
<td bgcolor="$altbg1" width="22%">$lang[textlanguage]</td>
<td bgcolor="$altbg2">$langfileselect</td>
</tr>

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

<tr class="tablerow">
<td bgcolor="$THEME[altbg1]" width="22%">$lang[gender]</td>
<td bgcolor="$THEME[altbg2]">
<select name="gender">
<option value="0">$lang[gendernone]</option>
<option value="1">$lang[gendermale]</option>
<option value="2">$lang[genderfemale]</option>
<option value="3">$lang[genderother]</option>
</select>
</td>
</tr>

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

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

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

<tr class="tablerow">
<td bgcolor="$altbg1" width="22%">$lang[textlanguage]</td>
<td bgcolor="$altbg2">$langfileselect </td>
</tr>

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

<tr class="tablerow">
<td bgcolor="$THEME[altbg1]" width="22%">$lang[gender]</td>
<td bgcolor="$THEME[altbg2]">
<select name="gender">
<option value="0" $gender0>$lang[gendernone]</option>
<option value="1" $gender1>$lang[gendermale]</option>
<option value="2" $gender2>$lang[genderfemale]</option>
<option value="3" $gender3>$lang[genderother]</option>
</select>
</td>
</tr>

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

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

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

<tr class="tablerow">
<td bgcolor="$THEME[altbg1]" width="22%">$lang[textlanguage]</td>
<td bgcolor="$THEME[altbg2]">$langfileselect</td>
</tr>

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

<tr class="tablerow">
<td bgcolor="$THEME[altbg1]" width="22%">$lang[gender]</td>
<td bgcolor="$THEME[altbg2]">
<select name="gender">
<option value="0" $gender0>$lang[gendernone]</option>
<option value="1" $gender1>$lang[gendermale]</option>
<option value="2" $gender2>$lang[genderfemale]</option>
<option value="3" $gender3>$lang[genderother]</option>
</select>
</td>
</tr>

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

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

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

$member[username]</a></td>

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

$member[username]</a>$genderimg</td>

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

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

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

{$memberinfo['username']}$memberlinks

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

{$memberinfo['username']}$genderimg$memberlinks

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

$emailblock

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

$genderblock

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

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

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

<tr class="tablerow">
<td bgcolor="$THEME[altbg1]">{$lang['gender']}</td>
<td bgcolor="$THEME[altbg2]">$gendertxt</td>
</tr>

=======================================================================================================================================
========
Step 15:
========

============================================
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['gender']}</td>
<td bgcolor="$THEME[altbg2]" valign="top">$genderimg$gendertxt</td>

=======================================================================================================================================
========
Step 16:
========

Now upload all the "gender" folder in folder named "Contents" to your "images" folder.

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