From e06d41575c5d9a00378e69355a3467143ac68456 Mon Sep 17 00:00:00 2001 From: icewing Date: Mon, 2 Jun 2008 14:04:25 +0000 Subject: Marcus Povey * Update and creates now handled separately, with the appropriate events triggered. git-svn-id: https://code.elgg.org/elgg/trunk@772 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/users.php | 42 +++++++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 15 deletions(-) (limited to 'engine/lib/users.php') diff --git a/engine/lib/users.php b/engine/lib/users.php index ffa39570a..a4a9bded4 100644 --- a/engine/lib/users.php +++ b/engine/lib/users.php @@ -345,21 +345,33 @@ if ($row) { - // Exists and you have access to it - - // Delete any existing stuff - delete_user_entity($guid); - - // Insert it - $result = insert_data("INSERT into {$CONFIG->dbprefix}users_entity (guid, name, username, password, email, language, code) values ($guid, '$name', '$username', '$password', '$email', '$language', '$code')"); - if ($result!==false) { - $entity = get_entity($guid); - if (trigger_event('create',$entity->type,$entity)) { - return true; - } else { - delete_entity($guid); - } - } + // Exists and you have access to it + + $result = update_data("UPDATE {$CONFIG->dbprefix}users_entity set name='$name', username='$username', password='$password', email='$email', language='$language', code='$code' where guid=$guid"); + if ($result!=false) + { + // Update succeeded, continue + $entity = get_entity($guid); + if (trigger_event('update',$entity->type,$entity)) { + return true; + } else { + delete_entity($guid); + } + } + else + { + // Update failed, attempt an insert. + $result = insert_data("INSERT into {$CONFIG->dbprefix}users_entity (guid, name, username, password, email, language, code) values ($guid, '$name', '$username', '$password', '$email', '$language', '$code')"); + if ($result!==false) { + $entity = get_entity($guid); + if (trigger_event('create',$entity->type,$entity)) { + return true; + } else { + delete_entity($guid); + } + } + } + } return false; -- cgit v1.2.3