################################################################################### 
## 
## Hack Title:   Add option (yes/no) to profile 
## Hack Version: 1.0 (ex phpbb 2.0.4)
## Author        Acid
## Support:	 http://www.phpbbhacks.com/forums
##
## Description:  Just a simple way to add an option to profile. "option" can be
##		 changed to "whatever" of cours but be aware of the spelling (e.g.
##		 "OPTION", "option", "user_option").
##		 If you want to add more than one field duplicate the following
##		 steps and change "option" (be aware of the spelling).	 
##		 If you want to provide several option you can use the "Gender"
##		 hack by Niels as a guide.
##
## Files to edit:	8
##			admin/admin_users.php
##	                language/lang_english/lang_main.php
##              	includes/usercp_viewprofile.php 
##	                includes/usercp_register.php
##      	        includes/usercp_avatar.php 
##              	templates/xxx/admin/user_edit_body.tpl
## 	                templates/xxx/profile_add_body.tpl 
##      	        templates/xxx/profile_view_body.tpl 
##
################################################################################### 
## 
## Installation/Author Notes: 
## First always backup the files that you're going to edit. 
## 
## This hacks adds a new column to your 'user' table. 
##
################################################################################### 
##
## Versionen:
##
## 1.0       - Release
##
##################################################################################### 
#
#-----[ SQL ]-------------------------------------------
#  
# You may have to change your database prefix

ALTER TABLE phpbb_users ADD user_option TINYINT(1) default '0' AFTER user_viewemail;

## alternate you can use table_update.php to alter the database automatically
## (just upload and run the file)
##
################################################################################### 
# 
#-----[ OPEN ]------------------------------------------ 
#  
# language/lang_english/lang_main.php
# 
#-----[ FIND ]---------------------------------------------------
# 
$lang['Interests'] = 'Interests';

# 
#-----[ ADD BELOW ]---------------------------------------------------
# 
$lang['Option'] = 'Option';



# 
#-----[ OPEN ]------------------------------------------ 
#  
# includes/usercp_viewprofile.php
# 
#-----[ FIND ]---------------------------------------------------
# 
	'INTERESTS' => ( $profiledata['user_interests'] ) ? $profiledata['user_interests'] : '&nbsp;',

# 
#-----[ ADD BELOW ]---------------------------------------------------
# 
	'OPTION' => ( $profiledata['user_option'] == '0' ) ? $lang['No'] : $lang['Yes'],
	'L_OPTION' => $lang['Option'],



# 
#-----[ OPEN ]------------------------------------------ 
#  
# includes/usercp_register.php
# 
#-----[ FIND ]---------------------------------------------------
# 
	$viewemail = ( isset($HTTP_POST_VARS['viewemail']) ) ? ( ($HTTP_POST_VARS['viewemail']) ? TRUE : 0 ) : 0;

# 
#-----[ ADD BELOW ]---------------------------------------------------
# 
	$option = ( isset($HTTP_POST_VARS['option']) ) ? ( ($HTTP_POST_VARS['option']) ? TRUE : 0 ) : 0;

# 
#-----[ FIND ]---------------------------------------------------
# 
			$sql = "UPDATE " . USERS_TABLE . "
				SET " . $username_sql . $passwd_sql . "user_email = '" . str_replace("\'", "''", $email) ."', user_icq = '" . str_replace("\'", "''", $icq) . "', user_website = '" . str_replace("\'", "''", $website) . "', user_occ = '" . str_replace("\'", "''", $occupation) . "', user_from = '" . str_replace("\'", "''", $location) . "', user_interests = '" . str_replace("\'", "''", $interests) . "', user_sig = '" . str_replace("\'", "''", $signature) . "', user_sig_bbcode_uid = '$signature_bbcode_uid', user_viewemail = $viewemail, user_aim = '" . str_replace("\'", "''", str_replace(' ', '+', $aim)) . "', user_yim = '" . str_replace("\'", "''", $yim) . "', user_msnm = '" . str_replace("\'", "''", $msn) . "', user_attachsig = $attachsig, user_allowsmile = $allowsmilies, user_allowhtml = $allowhtml, user_allowbbcode = $allowbbcode, user_allow_viewonline = $allowviewonline, user_notify = $notifyreply, user_notify_pm = $notifypm, user_popup_pm = $popuppm, user_timezone = $user_timezone, user_dateformat = '" . str_replace("\'", "''", $user_dateformat) . "', user_lang = '" . str_replace("\'", "''", $user_lang) . "', user_style = $user_style, user_active = $user_active, user_actkey = '" . str_replace("\'", "''", $user_actkey) . "'" . $avatar_sql . "

# 
#-----[ IN-LINE FIND ]---------------------------------------------------
# 
$interests) . "'

# 
#-----[ IN-LINE ADD ]---------------------------------------------------
# 
, user_option = $option

# 
#-----[ FIND ]---------------------------------------------------
# 
			$sql = "INSERT INTO " . USERS_TABLE . "	(user_id, username, user_regdate, user_password, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_sig_bbcode_uid, user_avatar, user_avatar_type, user_viewemail, user_aim, user_yim, user_msnm, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_viewonline, user_notify, user_notify_pm, user_popup_pm, user_timezone, user_dateformat, user_lang, user_style, user_level, user_allow_pm, user_active, user_actkey)
				VALUES ($user_id, '" . str_replace("\'", "''", $username) . "', " . time() . ", '" . str_replace("\'", "''", $password) . "', '" . str_replace("\'", "''", $email) . "', '" . str_replace("\'", "''", $icq) . "', '" . str_replace("\'", "''", $website) . "', '" . str_replace("\'", "''", $occupation) . "', '" . str_replace("\'", "''", $location) . "', '" . str_replace("\'", "''", $interests) . "', '" . str_replace("\'", "''", $signature) . "', '$signature_bbcode_uid', $avatar_sql, $viewemail, '" . str_replace("\'", "''", str_replace(' ', '+', $aim)) . "', '" . str_replace("\'", "''", $yim) . "', '" . str_replace("\'", "''", $msn) . "', $attachsig, $allowsmilies, $allowhtml, $allowbbcode, $allowviewonline, $notifyreply, $notifypm, $popuppm, $user_timezone, '" . str_replace("\'", "''", $user_dateformat) . "', '" . str_replace("\'", "''", $user_lang) . "', $user_style, 0, 1, ";

# 
#-----[ IN-LINE FIND ]---------------------------------------------------
# 
user_interests

# 
#-----[ IN-LINE ADD ]---------------------------------------------------
# 
, user_option

# 
#-----[ IN-LINE FIND ]---------------------------------------------------
# 
$interests) . "'

# 
#-----[ IN-LINE ADD ]---------------------------------------------------
# 
, $option

# 
#-----[ FIND ]---------------------------------------------------
# 
	$viewemail = $userdata['user_viewemail'];

# 
#-----[ ADD BELOW ]---------------------------------------------------
# 
	$option = $userdata['user_option'];

# 
#-----[ FIND ]---------------------------------------------------
# 
display_avatar_gallery($mode, $avatar_category, $user_id, $email, $current_email, $coppa, $username, $email, &$new_password, &$cur_password, $password_confirm, $icq, $aim, $msn, $yim, $website, $location, $occupation, $interests, $signature, $viewemail, $notifypm, $popuppm, $notifyreply, $attachsig, $allowhtml, $allowbbcode, $allowsmilies, $allowviewonline, $user_style, $user_lang, $user_timezone, $user_dateformat, $userdata['session_id']);

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

# 
#-----[ IN-LINE ADD ]---------------------------------------------------
# 
, $option

# 
#-----[ FIND (just a quote) ]--------------------------
# 
	$template->assign_vars(array(
		.
		.
		.
		.
		'INTERESTS' => $interests,

# 
#-----[ ADD BELOW ]---------------------------------------------------
# 
		'OPTION_YES' => ( $option ) ? 'checked="checked"' : '',
		'OPTION_NO' => ( !$option ) ? 'checked="checked"' : '',



# 
#-----[ OPEN ]------------------------------------------ 
#  
# includes/usercp_avatar.php
# 
#-----[ FIND ]---------------------------------------------------
# 
function display_avatar_gallery($mode, &$category, &$user_id, &$email, &$current_email, &$coppa, &$username, &$email, &$new_password, &$cur_password, &$password_confirm, &$icq, &$aim, &$msn, &$yim, &$website, &$location, &$occupation, &$interests, &$signature, &$viewemail, &$notifypm, &$popuppm, &$notifyreply, &$attachsig, &$allowhtml, &$allowbbcode, &$allowsmilies, &$hideonline, &$style, &$language, &$timezone, &$dateformat, &$session_id)

# 
#-----[ IN-LINE FIND ]---------------------------------------------------
# 
&$dateformat

# 
#-----[ IN-LINE ADD ]---------------------------------------------------
# 
, &$option

# 
#-----[ FIND ]---------------------------------------------------
# 
$params = array('coppa', 'user_id', 'username', 'email', 'current_email', 'cur_password', 'new_password', 'password_confirm', 'icq', 'aim', 'msn', 'yim', 'website', 'location', 'occupation', 'interests', 'signature', 'viewemail', 'notifypm', 'popuppm', 'notifyreply', 'attachsig', 'allowhtml', 'allowbbcode', 'allowsmilies', 'hideonline', 'style', 'language', 'timezone', 'dateformat');

# 
#-----[ IN-LINE FIND ]---------------------------------------------------
# 
'dateformat'

# 
#-----[ IN-LINE ADD ]---------------------------------------------------
# 
, 'option'



# 
#-----[ OPEN ]------------------------------------------ 
#  
# admin/admin_users.php 
# 
#-----[ FIND ]---------------------------------------------------
# 
		$viewemail = ( isset( $HTTP_POST_VARS['viewemail']) ) ? ( ( $HTTP_POST_VARS['viewemail'] ) ? TRUE : 0 ) : 0;

# 
#-----[ ADD BELOW ]---------------------------------------------------
# 
		$option = ( isset( $HTTP_POST_VARS['option']) ) ? ( ( $HTTP_POST_VARS['option'] ) ? TRUE : 0 ) : 0;

# 
#-----[ FIND ]---------------------------------------------------
# 
			$sql = "UPDATE " . USERS_TABLE . "
				SET " . $username_sql . $passwd_sql . "user_email = '" . str_replace("\'", "''", $email) . "', user_icq = '" . str_replace("\'", "''", $icq) . "', user_website = '" . str_replace("\'", "''", $website) . "', user_occ = '" . str_replace("\'", "''", $occupation) . "', user_from = '" . str_replace("\'", "''", $location) . "', user_interests = '" . str_replace("\'", "''", $interests) . "', user_sig = '" . str_replace("\'", "''", $signature) . "', user_viewemail = $viewemail, user_aim = '" . str_replace("\'", "''", $aim) . "', user_yim = '" . str_replace("\'", "''", $yim) . "', user_msnm = '" . str_replace("\'", "''", $msn) . "', user_attachsig = $attachsig, user_sig_bbcode_uid = '$signature_bbcode_uid', user_allowsmile = $allowsmilies, user_allowhtml = $allowhtml, user_allowavatar = $user_allowavatar, user_allowbbcode = $allowbbcode, user_allow_viewonline = $allowviewonline, user_notify = $notifyreply, user_allow_pm = $user_allowpm, user_notify_pm = $notifypm, user_popup_pm = $popuppm, user_lang = '" . str_replace("\'", "''", $user_lang) . "', user_style = $user_style, user_timezone = $user_timezone, user_dateformat = '" . str_replace("\'", "''", $user_dateformat) . "', user_active = $user_status, user_rank = $user_rank" . $avatar_sql . "

# 
#-----[ IN-LINE FIND ]---------------------------------------------------
# 
$interests) . "'

# 
#-----[ IN-LINE ADD ]---------------------------------------------------
# 
, user_option = $option

# 
#-----[ FIND ]---------------------------------------------------
# 
		$viewemail = $this_userdata['user_viewemail'];

# 
#-----[ ADD BELOW ]---------------------------------------------------
# 
		$option = $this_userdata['user_option'];

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

# 
#-----[ ADD BELOW ]---------------------------------------------------
# 
			$s_hidden_fields .= '<input type="hidden" name="option" value="' . $option . '" />';

# 
#-----[ FIND ]---------------------------------------------------
# 
			'INTERESTS' => $interests,

# 
#-----[ ADD BELOW ]---------------------------------------------------
# 
			'OPTION_YES' => ($option) ? 'checked="checked"' : '',
			'OPTION_NO' => (!$option) ? 'checked="checked"' : '',
			'L_OPTION' => $lang['Option'],



# 
#-----[ OPEN ]------------------------------------------ 
#  
# templates/xxx/profile_add_body.tpl
# 
#-----[ FIND ]---------------------------------------------------
# 
	<tr> 
	  <td class="row1"><span class="gen">{L_INTERESTS}:</span></td>
	  <td class="row2"> 
		<input type="text" class="post"style="width: 200px"  name="interests" size="35" maxlength="150" value="{INTERESTS}" />
	  </td>
	</tr>

# 
#-----[ ADD BELOW ]---------------------------------------------------
# 
	<tr> 
	  <td class="row1"><span class="gen">{L_OPTION}:</span></td>
	  <td class="row2"> 
		<input type="radio" name="option" value="1" {OPTION_YES} />
		<span class="gen">{L_YES}</span>&nbsp;&nbsp; 
		<input type="radio" name="option" value="0" {OPTION_NO} />
		<span class="gen">{L_NO}</span></td>
	</tr>



# 
#-----[ OPEN ]------------------------------------------ 
#  
# templates/xxx/profile_view_body.tpl
# 
#-----[ FIND ]---------------------------------------------------
# 
		<tr> 
		  <td valign="top" align="right"><span class="gen">{L_INTERESTS}:</span></td>
		  <td> <b><span class="gen">{INTERESTS}</span></b></td>
		</tr>

# 
#-----[ ADD BELOW ]---------------------------------------------------
# 
		<tr> 
		  <td valign="top" align="right"><span class="gen">{L_OPTION}:</span></td>
		  <td> <b><span class="gen">{OPTION}</span></b></td>
		</tr>



# 
#-----[ OPEN ]------------------------------------------ 
#  
# templates/xxx/admin/user_edit_body.tpl
# 
#-----[ FIND ]---------------------------------------------------
# 
	<tr> 
	  <td class="row1"><span class="gen">{L_INTERESTS}</span></td>
	  <td class="row2"> 
		<input type="text" name="interests" size="35" maxlength="150" value="{INTERESTS}" />
	  </td>
	</tr>

# 
#-----[ ADD BELOW ]---------------------------------------------------
# 
	<tr> 
	  <td class="row1"><span class="gen">{L_OPTION}</span></td>
	  <td class="row2"> 
		<input type="radio" name="option" value="1" {OPTION_YES} />
		<span class="gen">{L_YES}</span>&nbsp;&nbsp; 
		<input type="radio" name="option" value="0" {OPTION_NO} />
		<span class="gen">{L_NO}</span></td>
	</tr>

#############################################################################################################################################################################################
#############################################################################################################################################################################################
#############################################################################################################################################################################################
