mirror of
https://github.com/e107inc/e107.git
synced 2025-08-04 13:47:31 +02:00
Issue #179 possible fix - only create new UEF record if not already present
This commit is contained in:
@@ -348,9 +348,10 @@ if (isset($_POST['updatesettings']))
|
|||||||
// All key fields validated here
|
// All key fields validated here
|
||||||
// -----------------------------
|
// -----------------------------
|
||||||
// $inp - UID of user whose data is being changed (may not be the currently logged in user)
|
// $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))
|
if (!$error && count($changedUserData) || count($changedEUFData))
|
||||||
{
|
{
|
||||||
$_POST['user_id'] = intval($inp);
|
$_POST['user_id'] = $inp;
|
||||||
$ret = $e_event->trigger('preuserset', $_POST);
|
$ret = $e_event->trigger('preuserset', $_POST);
|
||||||
|
|
||||||
if ($ret == '')
|
if ($ret == '')
|
||||||
@@ -464,6 +465,7 @@ if ($dataToSave)
|
|||||||
|
|
||||||
if ($dataToSave && !$promptPassword)
|
if ($dataToSave && !$promptPassword)
|
||||||
{
|
{
|
||||||
|
$inp = intval($inp);
|
||||||
$message = LAN_USET_41;
|
$message = LAN_USET_41;
|
||||||
|
|
||||||
// We can update the basic user record now - can just update fields from $changedUserData
|
// 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))
|
if (isset($changedUserData) && count($changedUserData))
|
||||||
{
|
{
|
||||||
$changedData['data'] = $changedUserData;
|
$changedData['data'] = $changedUserData;
|
||||||
$changedData['WHERE'] = 'user_id='.intval($inp);
|
$changedData['WHERE'] = 'user_id='.$inp;
|
||||||
validatorClass::addFieldTypes($userMethods->userVettingInfo,$changedData);
|
validatorClass::addFieldTypes($userMethods->userVettingInfo,$changedData);
|
||||||
|
|
||||||
//print_a($changedData);
|
//print_a($changedData);
|
||||||
@@ -494,11 +496,15 @@ if ($dataToSave && !$promptPassword)
|
|||||||
if (isset($changedEUFData['data']) && count($changedEUFData['data']))
|
if (isset($changedEUFData['data']) && count($changedEUFData['data']))
|
||||||
{
|
{
|
||||||
$ue->addFieldTypes($changedEUFData); // Add in the data types for storage
|
$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);
|
//print_a($changedEUFData);
|
||||||
// ***** Next line creates a record which presumably should be there anyway, so could generate an error
|
if (false === $sql->retrieve('user_extended', 'user_extended_id', 'user_extended_id='.$inp))
|
||||||
$sql->db_Select_gen("INSERT INTO #user_extended (user_extended_id, user_hidden_fields) values ('".intval($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))
|
if (false === $sql->db_Update('user_extended', $changedEUFData))
|
||||||
{
|
{
|
||||||
$message .= '<br />Error updating EUF';
|
$message .= '<br />Error updating EUF';
|
||||||
|
Reference in New Issue
Block a user