mirror of
https://github.com/e107inc/e107.git
synced 2025-08-02 04:40:44 +02:00
Fix for extended user fields not saving in user_extended in the case where the record is missing from the table.
This commit is contained in:
@@ -666,24 +666,21 @@ class usersettings_front // Begin Usersettings rewrite.
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Save extended field values
|
|
||||||
if (isset($changedEUFData['data']) && count($changedEUFData['data']))
|
|
||||||
{
|
|
||||||
$ue->addFieldTypes($changedEUFData); // Add in the data types for storage
|
|
||||||
$changedEUFData['WHERE'] = '`user_extended_id` = '.$inp;
|
|
||||||
|
|
||||||
//print_a($changedEUFData);
|
// Save extended field values
|
||||||
if (false === $sql->retrieve('user_extended', 'user_extended_id', 'user_extended_id='.$inp))
|
if (!empty($changedEUFData['data']))
|
||||||
{
|
{
|
||||||
// ***** Next line creates a record which presumably should be there anyway, so could generate an error if no test first
|
|
||||||
$sql->gen("INSERT INTO #user_extended (user_extended_id, user_hidden_fields) values ('".$inp."', '')");
|
$ue->addFieldTypes($changedEUFData); // Add in the data types for storage
|
||||||
//print_a('New extended fields added: '.$inp.'<br />');
|
|
||||||
}
|
$changedEUFData['_DUPLICATE_KEY_UPDATE'] = true; // update record if key found, otherwise INSERT.
|
||||||
if (false === $sql->update('user_extended', $changedEUFData))
|
$changedEUFData['data']['user_extended_id'] = $inp;
|
||||||
|
|
||||||
|
if (false === $sql->insert('user_extended', $changedEUFData))
|
||||||
{
|
{
|
||||||
$message .= '<br />Error updating EUF';
|
$message .= '<br />Error updating EUF';
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Now see if we need to log anything. First check the options and class membership
|
// Now see if we need to log anything. First check the options and class membership
|
||||||
|
Reference in New Issue
Block a user