diff options
author | icewing <icewing@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2008-06-02 14:04:25 +0000 |
---|---|---|
committer | icewing <icewing@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2008-06-02 14:04:25 +0000 |
commit | e06d41575c5d9a00378e69355a3467143ac68456 (patch) | |
tree | 6ff77c9bbeb54275fda3c68902a99d1e6f374263 /engine | |
parent | 8773409b24653623fdd590e8be6d64b52b4a33a5 (diff) | |
download | elgg-e06d41575c5d9a00378e69355a3467143ac68456.tar.gz elgg-e06d41575c5d9a00378e69355a3467143ac68456.tar.bz2 |
Marcus Povey <marcus@dushka.co.uk>
* 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
Diffstat (limited to 'engine')
-rw-r--r-- | engine/lib/objects.php | 43 | ||||
-rw-r--r-- | engine/lib/sites.php | 36 | ||||
-rw-r--r-- | engine/lib/users.php | 42 |
3 files changed, 78 insertions, 43 deletions
diff --git a/engine/lib/objects.php b/engine/lib/objects.php index e44a005ff..b14e984c0 100644 --- a/engine/lib/objects.php +++ b/engine/lib/objects.php @@ -217,22 +217,35 @@ $row = get_entity_as_row($guid);
if ($row)
- {
- // Exists and you have access to it
-
- // Delete any existing stuff
- delete_object_entity($guid);
-
- // Insert it
- $result = insert_data("INSERT into {$CONFIG->dbprefix}objects_entity (guid, title, description) values ($guid, '$title','$description')");
- if ($result!==false) {
- $entity = get_entity($guid);
- if (trigger_event('create',$entity->type,$entity)) {
- return true;
- } else {
- delete_entity($guid);
- }
+ { + // Core entities row exists and we have access to it + + $result = update_data("UPDATE {$CONFIG->dbprefix}objects_entity set title='$title', description='$description' 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}objects_entity (guid, title, description) values ($guid, '$title','$description')"); + if ($result!==false) { + $entity = get_entity($guid); + if (trigger_event('create',$entity->type,$entity)) { + return true; + } else { + delete_entity($guid); + } + } }
+
}
return false;
diff --git a/engine/lib/sites.php b/engine/lib/sites.php index dbe6d13b1..1c75fdff6 100644 --- a/engine/lib/sites.php +++ b/engine/lib/sites.php @@ -253,19 +253,29 @@ if ($row) { // Exists and you have access to it - - // Delete any existing stuff - delete_site_entity($guid); - - // Insert it - $result = insert_data("INSERT into {$CONFIG->dbprefix}sites_entity (guid, name, description, url) values ($guid, '$name','$description','$url')"); - if ($result!==false) {
- get_entity($guid);
- if (trigger_event('create',$entity->type,$entity)) { - return true;
- } else {
- delete_entity($guid);
- }
+ $result = update_data("UPDATE {$CONFIG->dbprefix}sites_entity set name='$name', description='$description', url='$url' 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}sites_entity (guid, name, description, url) values ($guid, '$name','$description','$url')"); + if ($result!==false) { + $entity = get_entity($guid); + if (trigger_event('create',$entity->type,$entity)) { + return true; + } else { + delete_entity($guid); + } + } } } 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;
|