1
0
mirror of https://github.com/e107inc/e107.git synced 2025-07-31 20:00:37 +02:00

Issue #179 possible fix - only create new UEF record if not already present

This commit is contained in:
SteveD
2013-04-28 22:03:46 +01:00
parent a8f927f281
commit f6703349a5

View File

@@ -348,9 +348,10 @@ if (isset($_POST['updatesettings']))
// All key fields validated here
// -----------------------------
// $inp - UID of user whose data is being changed (may not be the currently logged in user)
$inp = intval($inp);
if (!$error && count($changedUserData) || count($changedEUFData))
{
$_POST['user_id'] = intval($inp);
$_POST['user_id'] = $inp;
$ret = $e_event->trigger('preuserset', $_POST);
if ($ret == '')
@@ -464,6 +465,7 @@ if ($dataToSave)
if ($dataToSave && !$promptPassword)
{
$inp = intval($inp);
$message = LAN_USET_41;
// We can update the basic user record now - can just update fields from $changedUserData
@@ -471,7 +473,7 @@ if ($dataToSave && !$promptPassword)
if (isset($changedUserData) && count($changedUserData))
{
$changedData['data'] = $changedUserData;
$changedData['WHERE'] = 'user_id='.intval($inp);
$changedData['WHERE'] = 'user_id='.$inp;
validatorClass::addFieldTypes($userMethods->userVettingInfo,$changedData);
//print_a($changedData);
@@ -494,11 +496,15 @@ if ($dataToSave && !$promptPassword)
if (isset($changedEUFData['data']) && count($changedEUFData['data']))
{
$ue->addFieldTypes($changedEUFData); // Add in the data types for storage
$changedEUFData['WHERE'] = '`user_extended_id` = '.intval($inp);
$changedEUFData['WHERE'] = '`user_extended_id` = '.$inp;
//print_a($changedEUFData);
// ***** Next line creates a record which presumably should be there anyway, so could generate an error
$sql->db_Select_gen("INSERT INTO #user_extended (user_extended_id, user_hidden_fields) values ('".intval($inp)."', '')");
if (false === $sql->retrieve('user_extended', 'user_extended_id', 'user_extended_id='.$inp))
{
// ***** Next line creates a record which presumably should be there anyway, so could generate an error if no test first
$sql->db_Select_gen("INSERT INTO #user_extended (user_extended_id, user_hidden_fields) values ('".$inp."', '')");
//print_a('New extended fields added: '.$inp.'<br />');
}
if (false === $sql->db_Update('user_extended', $changedEUFData))
{
$message .= '<br />Error updating EUF';