diff options
Diffstat (limited to 'mod/externalpages')
| -rw-r--r-- | mod/externalpages/actions/edit.php | 24 | ||||
| -rw-r--r-- | mod/externalpages/manifest.xml | 2 | ||||
| -rw-r--r-- | mod/externalpages/start.php | 22 | ||||
| -rw-r--r-- | mod/externalpages/views/default/expages/menu.php | 4 | ||||
| -rw-r--r-- | mod/externalpages/views/default/expages/wrapper.php | 16 | ||||
| -rw-r--r-- | mod/externalpages/views/default/forms/expages/edit.php | 4 |
6 files changed, 54 insertions, 18 deletions
diff --git a/mod/externalpages/actions/edit.php b/mod/externalpages/actions/edit.php index edfffe168..184aa3d82 100644 --- a/mod/externalpages/actions/edit.php +++ b/mod/externalpages/actions/edit.php @@ -1,18 +1,28 @@ <?php /** - * Elgg external pages: add/edit + * Elgg external pages: create or update * */ -// Get input data +// Get input data and don't filter the content $contents = get_input('expagescontent', '', false); $type = get_input('content_type'); -$previous_guid = get_input('expage_guid'); +$guid = get_input('guid'); -// create object to hold the page details -$expages = new ElggObject(); -$expages->subtype = $type; -$expages->owner_guid = get_loggedin_userid(); +if ($guid) { + // update + $expages = get_entity($guid); + if (!$expages) { + register_error(elgg_echo("expages:error")); + forward(REFERER); + } +} else { + // create + $expages = new ElggObject(); + $expages->subtype = $type; +} + +$expages->owner_guid = elgg_get_logged_in_user_guid(); $expages->access_id = ACCESS_PUBLIC; $expages->title = $type; $expages->description = $contents; diff --git a/mod/externalpages/manifest.xml b/mod/externalpages/manifest.xml index 389ad6960..f2aef09f3 100644 --- a/mod/externalpages/manifest.xml +++ b/mod/externalpages/manifest.xml @@ -7,7 +7,7 @@ <description>Create simple web pages for about, contact, privacy, and terms.</description> <website>http://www.elgg.org/</website> <copyright>See COPYRIGHT.txt</copyright> - <license>GNU Public License version 2</license> + <license>GNU General Public License version 2</license> <requires> <type>elgg_release</type> <version>1.8</version> diff --git a/mod/externalpages/start.php b/mod/externalpages/start.php index 13235af53..f0ffa6b9d 100644 --- a/mod/externalpages/start.php +++ b/mod/externalpages/start.php @@ -12,7 +12,7 @@ function expages_init() { elgg_register_page_handler('terms', 'expages_page_handler'); 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'); @@ -43,8 +43,11 @@ 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('walled_garden', $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); } } @@ -62,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', @@ -74,9 +77,16 @@ 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; } diff --git a/mod/externalpages/views/default/expages/menu.php b/mod/externalpages/views/default/expages/menu.php index 6ed521629..831be9125 100644 --- a/mod/externalpages/views/default/expages/menu.php +++ b/mod/externalpages/views/default/expages/menu.php @@ -7,8 +7,8 @@ $type = $vars['type']; - //set the url - $url = $vars['url'] . "admin/site/expages?type="; +//set the url +$url = $vars['url'] . "admin/site/expages?type="; $pages = array('about', 'terms', 'privacy'); $tabs = array(); diff --git a/mod/externalpages/views/default/expages/wrapper.php b/mod/externalpages/views/default/expages/wrapper.php new file mode 100644 index 000000000..c579da1ba --- /dev/null +++ b/mod/externalpages/views/default/expages/wrapper.php @@ -0,0 +1,16 @@ +<?php +/** + * Wrapper for site pages content area + * + * @uses $vars['content'] + */ + +echo $vars['content']; + +echo '<div class="mtm">'; +echo elgg_view('output/url', array( + 'text' => elgg_echo('back'), + 'href' => $_SERVER['HTTP_REFERER'], + 'class' => 'float-alt' +)); +echo '</div>'; diff --git a/mod/externalpages/views/default/forms/expages/edit.php b/mod/externalpages/views/default/forms/expages/edit.php index ca83ea7df..a15f2a7aa 100644 --- a/mod/externalpages/views/default/forms/expages/edit.php +++ b/mod/externalpages/views/default/forms/expages/edit.php @@ -50,9 +50,9 @@ echo <<<EOT $input_area </div> <div class="elgg-foot"> -$hidden_value +$hidden_guid $hidden_type $submit_input -<div> +</div> EOT; |
