diff options
Diffstat (limited to 'engine/lib')
| -rw-r--r-- | engine/lib/elgglib.php | 28 | 
1 files changed, 27 insertions, 1 deletions
| diff --git a/engine/lib/elgglib.php b/engine/lib/elgglib.php index 11bdc7285..b55958a6c 100644 --- a/engine/lib/elgglib.php +++ b/engine/lib/elgglib.php @@ -2021,8 +2021,14 @@ function elgg_walled_garden_index() {  	elgg_load_css('elgg.walled_garden');  	elgg_load_js('elgg.walled_garden'); -	$body = elgg_view('core/walled_garden/body'); +	$content = elgg_view('core/walled_garden/login'); +	$params = array( +		'content' => $content, +		'class' => 'elgg-walledgarden-double', +		'id' => 'elgg-walledgarden-login', +	); +	$body = elgg_view_layout('walled_garden', $params);  	echo elgg_view_page('', $body, 'walled_garden');  	// return true to prevent other plugins from adding a front page @@ -2030,6 +2036,24 @@ function elgg_walled_garden_index() {  }  /** + * Serve walled garden sections + * + * @param array $page Array of URL segments + * @return string + * @access private + */ +function _elgg_walled_garden_ajax_handler($page) { +	$view = $page[0]; +	$params = array( +		'content' => elgg_view("core/walled_garden/$view"), +		'class' => 'elgg-walledgarden-single hidden', +		'id' => str_replace('_', '-', "elgg-walledgarden-$view"), +	); +	echo elgg_view_layout('walled_garden', $params); +	return true; +} + +/**   * Checks the status of the Walled Garden and forwards to a login page   * if required.   * @@ -2049,6 +2073,8 @@ function elgg_walled_garden() {  	elgg_register_css('elgg.walled_garden', '/css/walled_garden.css');  	elgg_register_js('elgg.walled_garden', '/js/walled_garden.js'); +	elgg_register_page_handler('walled_garden', '_elgg_walled_garden_ajax_handler'); +  	// check for external page view  	if (isset($CONFIG->site) && $CONFIG->site instanceof ElggSite) {  		$CONFIG->site->checkWalledGarden(); | 
