mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-30 21:40:43 +02:00
use same method to update custom profile fields in UCP and ACP (and then i am able to debug what is wrong with the oracle code)
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@9582 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
@@ -1136,54 +1136,7 @@ class acp_users
|
||||
$db->sql_query($sql);
|
||||
|
||||
// Update Custom Fields
|
||||
if (sizeof($cp_data))
|
||||
{
|
||||
switch ($db->sql_layer)
|
||||
{
|
||||
case 'oracle':
|
||||
case 'firebird':
|
||||
case 'postgres':
|
||||
$right_delim = $left_delim = '"';
|
||||
break;
|
||||
|
||||
case 'sqlite':
|
||||
case 'mssql':
|
||||
case 'mssql_odbc':
|
||||
$right_delim = ']';
|
||||
$left_delim = '[';
|
||||
break;
|
||||
|
||||
case 'mysql':
|
||||
case 'mysql4':
|
||||
case 'mysqli':
|
||||
$right_delim = $left_delim = '`';
|
||||
break;
|
||||
}
|
||||
|
||||
foreach ($cp_data as $key => $value)
|
||||
{
|
||||
// Firebird is case sensitive with delimiter
|
||||
$cp_data[$left_delim . (($db->sql_layer == 'firebird') ? strtoupper($key) : $key) . $right_delim] = $value;
|
||||
unset($cp_data[$key]);
|
||||
}
|
||||
|
||||
$sql = 'UPDATE ' . PROFILE_FIELDS_DATA_TABLE . '
|
||||
SET ' . $db->sql_build_array('UPDATE', $cp_data) . "
|
||||
WHERE user_id = $user_id";
|
||||
$db->sql_query($sql);
|
||||
|
||||
if (!$db->sql_affectedrows())
|
||||
{
|
||||
$cp_data['user_id'] = (int) $user_id;
|
||||
|
||||
$db->sql_return_on_error(true);
|
||||
|
||||
$sql = 'INSERT INTO ' . PROFILE_FIELDS_DATA_TABLE . ' ' . $db->sql_build_array('INSERT', $cp_data);
|
||||
$db->sql_query($sql);
|
||||
|
||||
$db->sql_return_on_error(false);
|
||||
}
|
||||
}
|
||||
$cp->update_profile_field_data($user_id, $cp_data);
|
||||
|
||||
trigger_error($user->lang['USER_PROFILE_UPDATED'] . adm_back_link($this->u_action . '&u=' . $user_id));
|
||||
}
|
||||
|
Reference in New Issue
Block a user