aboutsummaryrefslogtreecommitdiff
path: root/engine/lib/sites.php
diff options
context:
space:
mode:
authoricewing <icewing@36083f99-b078-4883-b0ff-0f9b5a30f544>2008-06-02 14:04:25 +0000
committericewing <icewing@36083f99-b078-4883-b0ff-0f9b5a30f544>2008-06-02 14:04:25 +0000
commite06d41575c5d9a00378e69355a3467143ac68456 (patch)
tree6ff77c9bbeb54275fda3c68902a99d1e6f374263 /engine/lib/sites.php
parent8773409b24653623fdd590e8be6d64b52b4a33a5 (diff)
downloadelgg-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/lib/sites.php')
-rw-r--r--engine/lib/sites.php36
1 files changed, 23 insertions, 13 deletions
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);
+ }
+ }
}
}