display/store custom profile fields

git-svn-id: file:///svn/phpbb/trunk@4739 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Meik Sievertsen 2004-01-10 12:19:39 +00:00
parent 36f039cb1b
commit 62429cb9fb
2 changed files with 47 additions and 2 deletions

View file

@ -192,6 +192,11 @@ class ucp_profile extends module
case 'profile_info':
include($phpbb_root_path . 'includes/functions_profile_fields.' . $phpEx);
$cp = new custom_profile();
$cp_data = $cp_error = array();
if ($submit)
{
$var_ary = array(
@ -239,7 +244,10 @@ class ucp_profile extends module
extract($data);
unset($data);
if (!sizeof($error))
// validate custom profile fields
$cp->submit_cp_field('profile', $cp_data, $cp_error);
if (!sizeof($error) && !sizeof($cp_error))
{
$sql_ary = array(
'user_icq' => $icq,
@ -259,6 +267,19 @@ class ucp_profile extends module
WHERE user_id = ' . $user->data['user_id'];
$db->sql_query($sql);
// Update Custom Fields
$sql = 'UPDATE phpbb_profile_fields_data
SET ' . $db->sql_build_array('UPDATE', $cp_data) . '
WHERE user_id = ' . $user->data['user_id'];
$db->sql_query($sql);
if (!$db->sql_affectedrows())
{
$db->return_on_error = true;
$cp_data['user_id'] = (int) $user->data['user_id'];
$db->sql_query('INSERT INTO phpbb_profile_fields_data ' . $db->sql_build_array('INSERT', $cp_data));
$db->return_on_error = false;
}
meta_refresh(3, "ucp.$phpEx$SID&i=$id&mode=$mode");
$message = $user->lang['PROFILE_UPDATED'] . '<br /><br />' . sprintf($user->lang['RETURN_UCP'], "<a href=\"ucp.$phpEx$SID&amp;i=$id&amp;mode=$mode\">", '</a>');
trigger_error($message);
@ -311,6 +332,11 @@ class ucp_profile extends module
'S_BIRTHDAY_MONTH_OPTIONS' => $s_birthday_month_options,
'S_BIRTHDAY_YEAR_OPTIONS' => $s_birthday_year_options,)
);
// Get additional profile fields and assign them to the template block var 'profile_fields'
$user->get_profile_fields($user->data['user_id']);
$cp->generate_profile_fields('profile', $user->get_iso_lang_id(), $cp_error);
break;
case 'signature':

View file

@ -64,6 +64,11 @@ class ucp_register extends module
$this->display($user->lang['REGISTER'], 'ucp_agreement.html');
}
include($phpbb_root_path . 'includes/functions_profile_fields.' . $phpEx);
$cp = new custom_profile();
$cp_data = $cp_error = array();
// Check and initialize some variables if needed
if ($submit)
{
@ -103,6 +108,9 @@ class ucp_register extends module
extract($data);
unset($data);
// validate custom profile fields
$cp->submit_cp_field('register', $cp_data, $cp_error);
// Visual Confirmation handling
if ($config['enable_confirm'])
{
@ -140,7 +148,7 @@ class ucp_register extends module
}
}
if (!sizeof($error))
if (!sizeof($error) && !sizeof($cp_error))
{
$server_url = generate_board_url();
@ -181,6 +189,11 @@ class ucp_register extends module
$user_id = $db->sql_nextid();
// Insert Custom Profile Fields
$cp_data['user_id'] = (int) $user_id;
$sql = 'INSERT INTO phpbb_profile_fields_data ' . $db->sql_build_array('INSERT', $cp->build_insert_sql_array($cp_data));
$db->sql_query($sql);
// Place into appropriate group, either REGISTERED(_COPPA) or INACTIVE(_COPPA) depending on config
$group_reg = ($coppa) ? 'REGISTERED_COPPA' : 'REGISTERED';
$group_inactive = ($coppa) ? 'INACTIVE_COPPA' : 'INACTIVE';
@ -391,6 +404,12 @@ class ucp_register extends module
'S_UCP_ACTION' => "ucp.$phpEx$SID&amp;mode=register")
);
//
$user->profile_fields = array();
// Generate profile fields -> Template Block Variable profile_fields
$cp->generate_profile_fields('register', $user->get_iso_lang_id(), $cp_error);
//
$this->display($user->lang['REGISTER'], 'ucp_register.html');
}