diff options
author | Sem <sembrestels@riseup.net> | 2012-07-20 07:09:38 +0200 |
---|---|---|
committer | Sem <sembrestels@riseup.net> | 2012-07-20 07:09:38 +0200 |
commit | 07b599a683760d2542014bb04a681463420a3565 (patch) | |
tree | cfcd06671529eeec7790fb70a8d490094d7942c9 /engine/classes/ElggSite.php | |
parent | ea0140d87534c3b10e489d13a1449ebb79da832d (diff) | |
parent | 174763bcbcd20812dc09f27b64908f9d71b523b9 (diff) | |
download | elgg-07b599a683760d2542014bb04a681463420a3565.tar.gz elgg-07b599a683760d2542014bb04a681463420a3565.tar.bz2 |
Merge branch 'lorea-preprod'
Conflicts:
.gitmodules
Diffstat (limited to 'engine/classes/ElggSite.php')
-rw-r--r-- | engine/classes/ElggSite.php | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/engine/classes/ElggSite.php b/engine/classes/ElggSite.php index e793ab9c6..401939005 100644 --- a/engine/classes/ElggSite.php +++ b/engine/classes/ElggSite.php @@ -381,14 +381,24 @@ class ElggSite extends ElggEntity { public function checkWalledGarden() { global $CONFIG; - if ($CONFIG->walled_garden && !elgg_is_logged_in()) { - // hook into the index system call at the highest priority - elgg_register_plugin_hook_handler('index', 'system', 'elgg_walled_garden_index', 1); - - if (!$this->isPublicPage()) { - $_SESSION['last_forward_from'] = current_page_url(); - register_error(elgg_echo('loggedinrequired')); - forward(); + if ($CONFIG->walled_garden) { + if ($CONFIG->default_access == ACCESS_PUBLIC) { + $CONFIG->default_access = ACCESS_LOGGED_IN; + } + elgg_register_plugin_hook_handler( + 'access:collections:write', + 'user', + '_elgg_walled_garden_remove_public_access'); + + if (!elgg_is_logged_in()) { + // hook into the index system call at the highest priority + elgg_register_plugin_hook_handler('index', 'system', 'elgg_walled_garden_index', 1); + + if (!$this->isPublicPage()) { + $_SESSION['last_forward_from'] = current_page_url(); + register_error(elgg_echo('loggedinrequired')); + forward(); + } } } } |