aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>2009-08-28 20:06:42 +0000
committerbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>2009-08-28 20:06:42 +0000
commit775a5f08c501acc565c69659022bc31052677485 (patch)
tree2af38e1ae7a900cad2205af9737c91e679f5398e
parent863a99d057dd776d88c38f16fcf7c07ca3431cf3 (diff)
downloadelgg-775a5f08c501acc565c69659022bc31052677485.tar.gz
elgg-775a5f08c501acc565c69659022bc31052677485.tar.bz2
Fixes #1196: ElggEntity::disable() now accepts a 2nd arg for recursive. New users are not recursively disabled for plugins that need to create entities owned by the new user upon entity creation.
git-svn-id: https://code.elgg.org/elgg/trunk@3450 36083f99-b078-4883-b0ff-0f9b5a30f544
-rw-r--r--actions/register.php4
-rw-r--r--engine/lib/entities.php5
2 files changed, 6 insertions, 3 deletions
diff --git a/actions/register.php b/actions/register.php
index 27d9ca23f..75721822c 100644
--- a/actions/register.php
+++ b/actions/register.php
@@ -55,7 +55,9 @@
request_user_validation($guid);
if (!$new_user->admin)
- $new_user->disable('new_user'); // Now disable if not an admin
+ $new_user->disable('new_user', false); // Now disable if not an admin
+ // Don't do a recursive disable. Any entities owned by the user at this point
+ // are products of plugins that
system_message(sprintf(elgg_echo("registerok"),$CONFIG->sitename));
diff --git a/engine/lib/entities.php b/engine/lib/entities.php
index 19d9051e3..b8c92ec42 100644
--- a/engine/lib/entities.php
+++ b/engine/lib/entities.php
@@ -691,10 +691,11 @@
* Disable this entity.
*
* @param string $reason Optional reason
+ * @param bool $recursive Recursively disable all contained entities?
*/
- public function disable($reason = "")
+ public function disable($reason = "", $recursive = true)
{
- return disable_entity($this->get('guid'), $reason);
+ return disable_entity($this->get('guid'), $reason, $recursive);
}
/**