############################################################## 
## MOD Title:          Gender
## MOD Author:         Niels < ncr@db9.dk > (Niels Chr. Rd) http://mods.db9.dk
## MOD Description:    This mod will add a Gender field into
##                     users' profile, and display "Gender: |image|"
##                     in posts too. 
## MOD Version:        1.2.6
## MOD Compatibility:  2.0.5->2.0.6
##
## Installation Level: Intermediate
## Installation Time:  20 Minutes (1mn by EasyMOD of Nuttzy)
## Files To Edit:      11
##      viewtopic.php
##      admin/admin_users.php
##      includes/usercp_avatar.php 
##      includes/usercp_register.php 
##      includes/usercp_viewprofile.php 
##      language/lang_english/lang_main.php 
##      templates/SubSilver/profile_add_body.tpl
##      templates/SubSilver/profile_view_body.tpl
##      templates/subSliver/subSilver.cfg
##      templates/subSliver/viewtopic_body.tpl
##      templates/subSilver/admin/user_edit_body.tpl
##
## Included Files:     3
##      birthday_db_update.php
##      root/templates/subSliver/images/icon_minigender_male.gif 
##      root/templates/subSliver/images/icon_minigender_female.gif 
##
############################################################## 
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the 
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code 
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered 
## in our MOD-Database, located at: http://www.phpbb.com/mods/ 
############################################################## 
## Author Notes: 
## 
## 1. EasyMOD
## -----------
## This MOD is compatible and can be installed by EasyMOD
## of Nuttzy (but is not officially EasyMOD Compliant)!
## http://area51.phpbb.com/phpBB22/viewforum.php?sid=&f=15
##
## However, on alpha releases of EM and meanwhile beta or 
## final release some actions are NOT performed.
## You'll have to do them manually !
##
## 1.1 SQL commands are not performed
## -----------
## This MOD need a database update.
## Then, in any case if you install this MOD manually or using
## an alpha release of EM, please copying the *_db_update.php
## in your phpBB root directory, run it with your navigator,
## and then delete it from the phpBB root directory.
##
## Please, do it NOW! Before editing phpBB files by EM or manually!!!
## Otherwise, you may have an error message during your next
## connection.
##
## 1.2 Translation are not managed
## -----------
## Moreover, EM can not already manage actions for any other
## language than English (but language intructions are proceed
## to all installed languages in order to prevent errors).
## So the translations provided with this MOD must be installed
## manually if you need them.
##
## 2. Official last version link
## -----------
## Meanwhile the phpBB group validation and as the MOD is not yet
## in the phpBB MOD database, check this official link for updates...
## http://mods.db9.dk/viewtopic.php?t=7
##
############################################################## 
## MOD History: 
##
##   2003-12-12 - Version 1.2.6
##      - phpBB template & EasyMOD compliance enhancement
##      - Arabic, Dutch, Estonian, French, German, Hungarian,
##        Icelandic, Italian, Japanese, Korean, Lithuanian,
##        Polish, Portuguese Brazil, Russian, Spanish & Turkish
##        translations now provide with the MOD
##
##   2003-08-05 - Version 1.2.5
##      - Part 1 & part 2 merge in a single how-to
##      - Add French translation
##      - How-to rewrite to be EasyMOD compatible
##
##   ????-??-?? - Version 1.2.4
##      - admin/admin_users.php added range check
##
##   ????-??-?? - Version 1.2.3
##      - confirmed for phpBB2 ver 2.0.5 by "kooky", no change needed
##      - changed for ver 2.0.4
##
##   ????-??-?? - Version 1.2.2
##      - changed a FIND tag
##
##   ????-??-?? - Version 1.2.1
##      - correct a type in the how-to
##
##   ????-??-?? - Version 1.2.0
##      - fist release for phpBB2 ver 2.0.1
##      - confirmed for phpBB2 ver 2.0.2 - no changes needed
##
##   ????-??-?? - Version 1.1.4
##      - Last release for phpBB2 ver 2.0.0
##
##   ????-??-?? - Version 0.9.0
##      - Initial release phpBB2 RC-1
##
############################################################## 
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD 
############################################################## 
# 
#-----[ COPY ]------------------------------------------------ 
# 
copy gender_db_update.php to gender_db_update.php
copy root/templates/subSilver/images/icon_minigender_female.gif to templates/subSilver/images/icon_minigender_female.gif
copy root/templates/subSilver/images/icon_minigender_male.gif to templates/subSilver/images/icon_minigender_male.gif

#
# This MOD need a database update.
# Then, as you must have now copied the gender_db_update.php file
# in your phpBB root directory, run it with your navigator...
# http://www.yourWebSite.xxx/phpbbRootDir/gender_db_update.php
#
# ...and then delete it from the phpBB root directory!!!
#
# Please, do it NOW! Before editing phpBB files by EM or manually!!!
# Otherwise, you may have an error message during your next
# connection.
#

# 
#-----[ OPEN ]------------------------------------------------ 
# 
viewtopic.php

# 
#-----[ FIND ]------------------------------------------------ 
# 
$sql = "SELECT u.username

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
, p.*

# 
#-----[ IN-LINE BEFORE, ADD ]--------------------------------- 
# 
, u.user_gender

# 
#-----[ FIND ]------------------------------------------------ 
# 
$rank_image = ''; 

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 

// Start add - Gender MOD
$gender_image = ''; 
// End add - Gender MOD

# 
#-----[ FIND ]------------------------------------------------ 
# 
$pm_img = '<a href=
    
# 
#-----[ AFTER, ADD ]------------------------------------------ 
#

// Start add - Gender MOD
switch ($postrow[$i]['user_gender']) 
{ 
	case 1 : $gender_image = $lang['Gender'].": <img src=\"" . $images['icon_minigender_male'] . "\" alt=\"" . $lang['Gender'].  ":".$lang['Male']."\" title=\"" . $lang['Gender'] . ":".$lang['Male']. "\" border=\"0\" />"; break; 
	case 2 : $gender_image = $lang['Gender'].": <img src=\"" . $images['icon_minigender_female'] . "\" alt=\"" . $lang['Gender']. ":".$lang['Female']. "\" title=\"" . $lang['Gender'] . ":".$lang['Female']. "\" border=\"0\" />"; break; 
	default : $gender_image=""; 
}
// End add - Gender MOD
    
# 
#-----[ FIND ]------------------------------------------------ 
# 
'POSTER_RANK' =>

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#

// Start add - Gender MOD
'POSTER_GENDER' => $gender_image,
// End add - Gender MOD

# 
#-----[ FIND ]------------------------------------------------ 
#
'DELETE' =>

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#

// Start add - Gender MOD
'L_GENDER' => $lang['Gender'],
// End add - Gender MOD

# 
#-----[ OPEN ]------------------------------------------------ 
# 
admin/admin_users.php

# 
#-----[ FIND ]------------------------------------------------ 
# 
$interests = ( !empty($HTTP_POST_VARS['interests']) )

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#

// Start add - Gender MOD
$gender = ( isset($HTTP_POST_VARS['gender']) ) ? intval ($HTTP_POST_VARS['gender']) : 0;
// End add - Gender MOD

# 
#-----[ FIND ]------------------------------------------------ 
# 
$sql = "UPDATE " . USERS_TABLE . "
SET

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
$user_rank

# 
#-----[ IN-LINE AFTER, ADD ]---------------------------------- 
# 
, user_gender = '$gender'

# 
#-----[ FIND ]------------------------------------------------ 
# 
$interests = htmlspecialchars($this_userdata['user_interests']);

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#

// Start add - Gender MOD
$gender = $this_userdata['user_gender'];
// End add - Gender MOD

# 
#-----[ FIND ]------------------------------------------------ 
# 
$s_hidden_fields .= '<input type="hidden" name="viewemail"

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#

// Start add - Gender MOD
$s_hidden_fields .= '<input type="hidden" name="gender" value="' . $gender . '" />';
// End add - Gender MOD

# 
#-----[ FIND ]------------------------------------------------ 
# 
//
// Let's do an overall check

# 
#-----[ BEFORE, ADD ]----------------------------------------- 
#

// Start add - Gender MOD
switch ($gender) 
{ 
   case 1: $gender_male_checked="checked=\"checked\"";break; 
   case 2: $gender_female_checked="checked=\"checked\"";break; 
   default:$gender_no_specify_checked="checked=\"checked\""; 
}
// End add - Gender MOD

# 
#-----[ FIND ]------------------------------------------------ 
# 
'INTERESTS' =>

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#

// Start add - Gender MOD
'GENDER' => $gender, 
'GENDER_NO_SPECIFY_CHECKED' => $gender_no_specify_checked, 
'GENDER_MALE_CHECKED' => $gender_male_checked, 
'GENDER_FEMALE_CHECKED' => $gender_female_checked,
// End add - Gender MOD

# 
#-----[ FIND ]------------------------------------------------ 
# 
'L_INTERESTS' =>

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#

// Start add - Gender MOD
'L_GENDER' =>$lang['Gender'], 
'L_GENDER_MALE' =>$lang['Male'], 
'L_GENDER_FEMALE' =>$lang['Female'], 
'L_GENDER_NOT_SPECIFY' =>$lang['No_gender_specify'],
// End add - Gender MOD

# 
#-----[ OPEN ]------------------------------------------------ 
# 
includes/usercp_avatar.php

# 
#-----[ FIND ]------------------------------------------------ 
# 
function display_avatar_gallery(

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
)

# 
#-----[ IN-LINE BEFORE, ADD ]--------------------------------- 
# 
, &$gender

# 
#-----[ FIND ]------------------------------------------------ 
# 
$params = array(

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
);

# 
#-----[ IN-LINE BEFORE, ADD ]--------------------------------- 
# 
, 'gender'

# 
#-----[ OPEN ]------------------------------------------------ 
#  
includes/usercp_register.php

# 
#-----[ FIND ]------------------------------------------------ 
# 
$signature = str_replace(

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 

// Start add - Gender MOD
$gender = ( isset($HTTP_POST_VARS['gender']) ) ? intval ($HTTP_POST_VARS['gender']) : 0;
// End add - Gender MOD

# 
#-----[ FIND ]------------------------------------------------ 
# 
$sql = "UPDATE " . USERS_TABLE . "
SET

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
$avatar_sql . "

# 
#-----[ IN-LINE AFTER, ADD ]---------------------------------- 
# 
, user_gender = '$gender'

# 
#-----[ FIND ]------------------------------------------------ 
# 
$sql = "INSERT INTO " . USERS_TABLE . "
VALUES

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
, user_style

# 
#-----[ IN-LINE AFTER, ADD ]---------------------------------- 
# 
, user_gender

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
, $user_style

# 
#-----[ IN-LINE AFTER, ADD ]---------------------------------- 
# 
, '$gender'

# 
#-----[ FIND ]------------------------------------------------ 
# 
$interests = $userdata['user_interests'];

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 

// Start add - Gender MOD
$gender=$userdata['user_gender']; 
// End add - Gender MOD

# 
#-----[ FIND ]------------------------------------------------ 
# 
display_avatar_gallery(

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
);

# 
#-----[ IN-LINE BEFORE, ADD ]--------------------------------- 
# 
, $gender

# 
#-----[ FIND ]------------------------------------------------ 
# 
$smilies_status = (

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 

// Start add - Gender MOD
switch ($gender) 
{ 
   case 1: $gender_male_checked="checked=\"checked\"";break; 
   case 2: $gender_female_checked="checked=\"checked\"";break; 
   default:$gender_no_specify_checked="checked=\"checked\""; 
}
// End add - Gender MOD

# 
#-----[ FIND ]------------------------------------------------ 
# 
'VIEW_EMAIL_YES' =>

# 
#-----[ BEFORE, ADD ]----------------------------------------- 
# 

// Start add - Gender MOD
'LOCK_GENDER' =>($mode!='register') ? 'DISABLED':'', 
'GENDER' => $gender, 
'GENDER_NO_SPECIFY_CHECKED' => $gender_no_specify_checked, 
'GENDER_MALE_CHECKED' => $gender_male_checked, 
'GENDER_FEMALE_CHECKED' => $gender_female_checked, 
// End add - Gender MOD

# 
#-----[ FIND ]------------------------------------------------ 
# 
'L_INTERESTS' =>

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 

// Start add - Gender MOD
'L_GENDER' =>$lang['Gender'], 
'L_GENDER_MALE' =>$lang['Male'], 
'L_GENDER_FEMALE' =>$lang['Female'], 
'L_GENDER_NOT_SPECIFY' =>$lang['No_gender_specify'], 
// End add - Gender MOD

# 
#-----[ OPEN ]------------------------------------------------ 
# 
includes/usercp_viewprofile.php

# 
#-----[ FIND ]------------------------------------------------ 
# 
// 
// Generate page 

# 
#-----[ BEFORE, ADD ]----------------------------------------- 
#

// Start add - Gender MOD
if ( !empty($profiledata['user_gender'])) 
{ 
           switch ($profiledata['user_gender']) 
           { 
                      case 1: $gender=$lang['Male'];break; 
                      case 2: $gender=$lang['Female'];break; 
                      default:$gender=$lang['No_gender_specify']; 
           } 
} else $gender=$lang['No_gender_specify']; 
// End add - Gender MOD

# 
#-----[ FIND ]------------------------------------------------ 
# 
'INTERESTS' =>

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 

// Start add - Gender MOD
'GENDER' => $gender, 
// End add - Gender MOD

# 
#-----[ FIND ]------------------------------------------------ 
# 
'L_INTERESTS' =>

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#

// Start add - Gender MOD
'L_GENDER' => $lang['Gender'], 
// End add - Gender MOD

# 
#-----[ OPEN ]------------------------------------------------ 
# 
language/lang_english/lang_main.php

# 
#-----[ FIND ]------------------------------------------------ 
# 
?>

# 
#-----[ BEFORE, ADD ]----------------------------------------- 
#

// Start add - Gender MOD
$lang['Gender'] = 'Gender';//used in users profile to display witch gender he/she is 
$lang['Male'] = 'Male'; 
$lang['Female']='Female'; 
$lang['No_gender_specify'] = 'None Specified'; 
// End add - Gender MOD

# 
#-----[ OPEN ]------------------------------------------------ 
# 
templates/subSilver/profile_add_body.tpl

# 
#-----[ FIND ]------------------------------------------------ 
# 
value="{INTERESTS}"
</td>
</tr>

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#

<!-- Start add - Gender MOD -->
<tr> 
      <td class="row1"><span class="gen">{L_GENDER}:</span></td> 
      <td class="row2"> 
      <input type="radio" {LOCK_GENDER} name="gender" value="0" {GENDER_NO_SPECIFY_CHECKED}/> 
      <span class="gen">{L_GENDER_NOT_SPECIFY}</span>&nbsp;&nbsp; 
      <input type="radio" name="gender" value="1" {GENDER_MALE_CHECKED}/> 
      <span class="gen">{L_GENDER_MALE}</span>&nbsp;&nbsp; 
      <input type="radio" name="gender" value="2" {GENDER_FEMALE_CHECKED}/> 
      <span class="gen">{L_GENDER_FEMALE}</span></td> 
</tr>
<!-- End add - Gender MOD -->

# 
#-----[ OPEN ]------------------------------------------------ 
# 
templates/subSilver/profile_view_body.tpl

# 
#-----[ FIND ]------------------------------------------------ 
# 
{INTERESTS}
</tr>

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#

<!-- Start add - Gender MOD --> 
<tr> 
	<td valign="top" align="right" nowrap="nowrap"><span class="gen">{L_GENDER}:</span></td>
	<td> <b><span class="gen">{GENDER}</span></b></td>
</tr>
<!-- End add - Gender MOD -->

# 
#-----[ OPEN ]------------------------------------------------ 
# 
templates/subSilver/subSilver.cfg

# 
#-----[ FIND ]------------------------------------------------ 
# 
?>

# 
#-----[ BEFORE, ADD ]----------------------------------------- 
#

// Start add - Gender MOD
$images['icon_minigender_male'] = "$current_template_images/icon_minigender_male.gif"; 
$images['icon_minigender_female'] = "$current_template_images/icon_minigender_female.gif";
// End add - Gender MOD

# 
#-----[ OPEN ]------------------------------------------------ 
# 
templates/subSilver/viewtopic_body.tpl

# 
#-----[ FIND ]------------------------------------------------ 
# 
{postrow.POSTER_AVATAR}<br /><br /> 

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
{postrow.POSTER_AVATAR}<br /><br /> 
# 
#-----[ IN-LINE AFTER, ADD ]---------------------------------- 
# 
{postrow.POSTER_GENDER}<br /> 

# 
#-----[ OPEN ]------------------------------------------------ 
# 
templates/subSilver/admin/user_edit_body.tpl

# 
#-----[ FIND ]------------------------------------------------ 
# 
value="{INTERESTS}"
</td>
</tr>

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#

<!-- Start add - Gender MOD -->
<tr> 
      <td class="row1"><span class="gen">{L_GENDER}:</span></td> 
      <td class="row2"> 
      <input type="radio" name="gender" value="0" {GENDER_NO_SPECIFY_CHECKED}/> 
      <span class="gen">{L_GENDER_NOT_SPECIFY}</span>&nbsp;&nbsp; 
      <input type="radio" name="gender" value="1" {GENDER_MALE_CHECKED}/> 
      <span class="gen">{L_GENDER_MALE}</span>&nbsp;&nbsp; 
      <input type="radio" name="gender" value="2" {GENDER_FEMALE_CHECKED}/> 
      <span class="gen">{L_GENDER_FEMALE}</span></td> 
</tr>
<!-- End add - Gender MOD -->

# 
#-----[ SAVE/CLOSE ALL FILES ]-------------------------------- 
# 
# EoM 