aboutsummaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
authormarcus <marcus@36083f99-b078-4883-b0ff-0f9b5a30f544>2009-03-11 10:27:48 +0000
committermarcus <marcus@36083f99-b078-4883-b0ff-0f9b5a30f544>2009-03-11 10:27:48 +0000
commitef9ceb15f729896bb513f73d4a69d090dd148455 (patch)
treec7c73f11f16708556d4af7ec5db2fea706a89966 /engine
parent0b96b664fe19a23cc2a93395bcc40446bf8949e7 (diff)
downloadelgg-ef9ceb15f729896bb513f73d4a69d090dd148455.tar.gz
elgg-ef9ceb15f729896bb513f73d4a69d090dd148455.tar.bz2
Closes 868: Fixes regression introduced in [3119]. Version number bumped.
git-svn-id: https://code.elgg.org/elgg/trunk@3153 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'engine')
-rw-r--r--engine/lib/entities.php21
-rw-r--r--engine/lib/group.php37
-rw-r--r--engine/lib/objects.php37
-rw-r--r--engine/lib/sites.php22
-rw-r--r--engine/lib/users.php39
5 files changed, 47 insertions, 109 deletions
diff --git a/engine/lib/entities.php b/engine/lib/entities.php
index 156f552f4..ff4487570 100644
--- a/engine/lib/entities.php
+++ b/engine/lib/entities.php
@@ -723,8 +723,7 @@
*/
public function delete()
{
- $res = delete_entity($this->get('guid'));
- return $res;
+ return delete_entity($this->get('guid'));
}
// LOCATABLE INTERFACE /////////////////////////////////////////////////////////////
@@ -1845,7 +1844,23 @@
$entity->clearRelationships();
remove_from_river_by_subject($guid);
remove_from_river_by_object($guid);
- $res = delete_data("DELETE from {$CONFIG->dbprefix}entities where guid={$guid}");
+ $res = delete_data("DELETE from {$CONFIG->dbprefix}entities where guid={$guid}");
+ if ($res)
+ {
+ $sub_table = "";
+
+ // Where appropriate delete the sub table
+ switch ($entity->type)
+ {
+ case 'object' : $sub_table = $CONFIG->dbprefix . 'objects_entity'; break;
+ case 'user' : $sub_table = $CONFIG->dbprefix . 'users_entity'; break;
+ case 'group' : $sub_table = $CONFIG->dbprefix . 'groups_entity'; break;
+ case 'site' : $sub_table = $CONFIG->dbprefix . 'sites_entity'; break;
+ }
+
+ if ($sub_table)
+ delete_data("DELETE from $sub_table where guid={$guid}");
+ }
return $res;
}
diff --git a/engine/lib/group.php b/engine/lib/group.php
index 9863a7b7b..9e0843776 100644
--- a/engine/lib/group.php
+++ b/engine/lib/group.php
@@ -254,19 +254,7 @@
public function leave(ElggUser $user)
{
return leave_group($this->getGUID(), $user->getGUID());
- }
-
- /**
- * Delete this group.
- */
- public function delete()
- {
- if (parent::delete())
- return delete_group_entity($this->get('guid'));
-
- return false;
- }
-
+ }
/**
* Override the load function.
@@ -409,28 +397,19 @@
}
- /**
+ /**
+ * THIS FUNCTION IS DEPRECATED.
+ *
* Delete a group's extra data.
*
* @param int $guid The guid of the group
* @return bool
*/
function delete_group_entity($guid)
- {
- global $CONFIG;
-
- $guid = (int)$guid;
-
- $row = get_entity_as_row($guid);
-
- // Check to see if we have access and it exists
- if ($row)
- {
- // Delete any existing stuff
- return delete_data("DELETE from {$CONFIG->dbprefix}groups_entity where guid=$guid");
- }
-
- return false;
+ {
+ system_message(sprintf(elgg_echo('deprecatedfunction'), 'delete_user_entity'));
+
+ return 1; // Always return that we have deleted one row in order to not break existing code.
}
/**
diff --git a/engine/lib/objects.php b/engine/lib/objects.php
index 7ae8b6cff..7d888f9a6 100644
--- a/engine/lib/objects.php
+++ b/engine/lib/objects.php
@@ -120,21 +120,9 @@
// Now save specific stuff
return create_object_entity($this->get('guid'), $this->get('title'), $this->get('description'), $this->get('container_guid'));
- }
+ }
/**
- * Delete this object.
- * @return true|false
- */
- public function delete()
- {
- if (parent::delete())
- return delete_object_entity($this->get('guid'));
-
- return false;
- }
-
- /**
* Get sites that this object is a member of
*
* @param string $subtype Optionally, the subtype of result we want to limit to
@@ -302,27 +290,18 @@
return false;
}
- /**
+ /**
+ * THIS FUNCTION IS DEPRECATED.
+ *
* Delete a object's extra data.
*
* @param int $guid
*/
function delete_object_entity($guid)
- {
- global $CONFIG;
-
- $guid = (int)$guid;
-
- $row = get_object_entity_as_row($guid);
-
- // Check to see if we have access and it exists
- if ($row)
- {
- // Delete any existing stuff
- return delete_data("DELETE from {$CONFIG->dbprefix}objects_entity where guid=$guid");
- }
-
- return false;
+ {
+ system_message(sprintf(elgg_echo('deprecatedfunction'), 'delete_user_entity'));
+
+ return 1; // Always return that we have deleted one row in order to not break existing code.
}
/**
diff --git a/engine/lib/sites.php b/engine/lib/sites.php
index 037a5f331..711637d33 100644
--- a/engine/lib/sites.php
+++ b/engine/lib/sites.php
@@ -139,10 +139,7 @@
if ($CONFIG->site->getGUID() == $this->guid)
throw new SecurityException('SecurityException:deletedisablecurrentsite');
- if (parent::delete)
- return delete_site_entity($this->get('guid'));
-
- return false;
+ return parent::delete;
}
/**
@@ -318,26 +315,17 @@
}
/**
+ * THIS FUNCTION IS DEPRECATED.
+ *
* Delete a site's extra data.
*
* @param int $guid
*/
function delete_site_entity($guid)
{
- global $CONFIG;
+ system_message(sprintf(elgg_echo('deprecatedfunction'), 'delete_user_entity'));
- $guid = (int)$guid;
-
- $row = get_entity_as_row($guid);
-
- // Check to see if we have access and it exists
- if ($row)
- {
- // Delete any existing stuff
- return delete_data("DELETE from {$CONFIG->dbprefix}sites_entity where guid=$guid");
- }
-
- return false;
+ return 1; // Always return that we have deleted one row in order to not break existing code.
}
/**
diff --git a/engine/lib/users.php b/engine/lib/users.php
index 630be8d80..283f5efcc 100644
--- a/engine/lib/users.php
+++ b/engine/lib/users.php
@@ -146,19 +146,6 @@
}
/**
- * Delete this user.
- * @return true|false
- */
- public function delete()
- {
- if (parent::delete())
- return delete_user_entity($this->get('guid'));
-
- return false;
-
- }
-
- /**
* Ban this user.
*
* @param string $reason Optional reason
@@ -496,28 +483,18 @@
return false;
}
- /**
- * Delete a user's extra data.
+ /**
+ * THIS FUNCTION IS DEPRECATED.
+ *
+ * Delete a user's extra data.
*
* @param int $guid
*/
function delete_user_entity($guid)
- {
- global $CONFIG;
-
- $guid = (int)$guid;
-
- $row = get_entity_as_row($guid);
-
- // Check to see if we have access and it exists
- if ($row)
- {
- //disable_user_entities($guid);
- // Delete any existing stuff
- return delete_data("DELETE from {$CONFIG->dbprefix}users_entity where guid=$guid");
- }
-
- return false;
+ {
+ system_message(sprintf(elgg_echo('deprecatedfunction'), 'delete_user_entity'));
+
+ return 1; // Always return that we have deleted one row in order to not break existing code.
}
/**