diff options
Diffstat (limited to 'mod/externalpages/start.php')
| -rw-r--r-- | mod/externalpages/start.php | 34 |
1 files changed, 29 insertions, 5 deletions
diff --git a/mod/externalpages/start.php b/mod/externalpages/start.php index 1de4d5ec8..f0ffa6b9d 100644 --- a/mod/externalpages/start.php +++ b/mod/externalpages/start.php @@ -13,6 +13,9 @@ function expages_init() { elgg_register_page_handler('privacy', 'expages_page_handler'); elgg_register_page_handler('expages', 'expages_page_handler'); + // Register public external pages + elgg_register_plugin_hook_handler('public_pages', 'walled_garden', 'expages_public'); + // add a menu item for the admin edit page elgg_register_admin_menu_item('configure', 'expages', 'appearance'); @@ -25,14 +28,26 @@ function expages_init() { } /** + * Extend the public pages range + * + */ +function expages_public($hook, $handler, $return, $params){ + $pages = array('about', 'terms', 'privacy'); + return array_merge($pages, $return); +} + +/** * Setup the links to site pages */ function expages_setup_footer_menu() { $pages = array('about', 'terms', 'privacy'); foreach ($pages as $page) { $url = "$page"; - $item = new ElggMenuItem($page, elgg_echo("expages:$page"), $url); - elgg_register_menu_item('footer', $item); + $wg_item = new ElggMenuItem($page, elgg_echo("expages:$page"), $url); + elgg_register_menu_item('walled_garden', $wg_item); + + $footer_item = clone $wg_item; + elgg_register_menu_item('footer', $footer_item); } } @@ -41,6 +56,7 @@ function expages_setup_footer_menu() { * * @param array $page URL segements * @param string $handler Handler identifier + * @return bool */ function expages_page_handler($page, $handler) { if ($handler == 'expages') { @@ -49,7 +65,7 @@ function expages_page_handler($page, $handler) { $type = strtolower($handler); $title = elgg_echo("expages:$type"); - $content = elgg_view_title($title); + $header = elgg_view_title($title); $object = elgg_get_entities(array( 'type' => 'object', @@ -61,9 +77,17 @@ function expages_page_handler($page, $handler) { } else { $content .= elgg_echo("expages:notset"); } + $content = elgg_view('expages/wrapper', array('content' => $content)); - $body = elgg_view_layout("one_sidebar", array('content' => $content)); - echo elgg_view_page($title, $body); + if (elgg_is_logged_in() || !elgg_get_config('walled_garden')) { + $body = elgg_view_layout('one_sidebar', array('title' => $title, 'content' => $content)); + echo elgg_view_page($title, $body); + } else { + elgg_load_css('elgg.walled_garden'); + $body = elgg_view_layout('walled_garden', array('content' => $header . $content)); + echo elgg_view_page($title, $body, 'walled_garden'); + } + return true; } /** |
