aboutsummaryrefslogtreecommitdiff
path: root/mod/externalpages
diff options
context:
space:
mode:
Diffstat (limited to 'mod/externalpages')
-rw-r--r--mod/externalpages/actions/add.php54
-rw-r--r--mod/externalpages/actions/addfront.php48
-rw-r--r--mod/externalpages/actions/edit.php25
-rw-r--r--mod/externalpages/index.php30
-rw-r--r--mod/externalpages/languages/en.php63
-rw-r--r--mod/externalpages/manifest.xml23
-rw-r--r--mod/externalpages/read.php35
-rw-r--r--mod/externalpages/start.php128
-rw-r--r--mod/externalpages/views/default/expages/analytics.php21
-rw-r--r--mod/externalpages/views/default/expages/css.php13
-rw-r--r--mod/externalpages/views/default/expages/footer_menu.php17
-rw-r--r--mod/externalpages/views/default/expages/forms/edit.php82
-rw-r--r--mod/externalpages/views/default/expages/forms/editfront.php75
-rw-r--r--mod/externalpages/views/default/expages/front_left.php23
-rw-r--r--mod/externalpages/views/default/expages/front_right.php36
-rw-r--r--mod/externalpages/views/default/expages/menu.php51
-rw-r--r--mod/externalpages/views/default/forms/expages/edit.php55
-rw-r--r--mod/externalpages/views/default/object/expages.php10
18 files changed, 214 insertions, 575 deletions
diff --git a/mod/externalpages/actions/add.php b/mod/externalpages/actions/add.php
deleted file mode 100644
index fed637c55..000000000
--- a/mod/externalpages/actions/add.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-
- /**
- * Elgg external pages: add/edit
- *
- * @package ElggExPages
- */
-
- // Make sure we're logged as admin
- admin_gatekeeper();
-
- // Get input data
- $contents = get_input('expagescontent', '', false);
- $type = get_input('content_type');
- $previous_guid = get_input('expage_guid');
-
- // Cache to the session
- $_SESSION['expages_content'] = $contents;
- $_SESSION['expagestype'] = $type;
-
- //remove the old external page
- if(get_entity($previous_guid)){
- delete_entity($previous_guid);
- }
-
- // Initialise a new ElggObject
- $expages = new ElggObject();
- // Tell the system what type of external page it is
- $expages->subtype = $type;
- // Set its owner to the current user
- $expages->owner_guid = get_loggedin_userid();
- // For now, set its access to public
- $expages->access_id = ACCESS_PUBLIC;
- // Set its title and description appropriately
- $expages->title = $type;
- $expages->description = $contents;
- // Before we can set metadata, save
- if (!$expages->save()) {
- register_error(elgg_echo("expages:error"));
- forward(REFERER);
- }
-
- // Success message
- system_message(elgg_echo("expages:posted"));
- // add to river
- add_to_river('river/expages/create','create',get_loggedin_userid(),$expages->guid);
- // Remove the cache
- unset($_SESSION['expages_content']); unset($_SESSION['expagestitle']);
-
-
- // Forward back to the page
- forward("pg/expages/index.php?type={$type}");
-
-?> \ No newline at end of file
diff --git a/mod/externalpages/actions/addfront.php b/mod/externalpages/actions/addfront.php
deleted file mode 100644
index f0a457df9..000000000
--- a/mod/externalpages/actions/addfront.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-
- /**
- * Elgg front pages: add/edit
- * Here we use the title field for the lefthand side and the description for the righthand side
- *
- * @package ElggExPages
- */
-
- // Make sure we're logged as admin
- admin_gatekeeper();
-
- // Get input data
- $contents_left = get_input('front_left', '', false);
- $contents_right = get_input('front_right', '', false);
- $previous_guid = get_input('front_guid');
-
- //remove the old front page
- if(get_entity($previous_guid)){
- delete_entity($previous_guid);
- }
-
- // Initialise a new ElggObject
- $frontpage = new ElggObject();
- // Tell the system what type of external page it is
- $frontpage->subtype = "front";
- // Set its owner to the current user
- $frontpage->owner_guid = get_loggedin_userid();
- // For now, set its access to public
- $frontpage->access_id = ACCESS_PUBLIC;
- // Set its title and description appropriately
- $frontpage->title = $contents_left;
- $frontpage->description = $contents_right;
-
- // Before we can set metadata, save
- if (!$frontpage->save()) {
- register_error(elgg_echo("expages:error"));
- forward("pg/expages/index.php?type=front");
- }
-
- // Success message
- system_message(elgg_echo("expages:posted"));
-
-
- // Forward back to the page
- forward("pg/expages/index.php?type=front");
-
-?>
diff --git a/mod/externalpages/actions/edit.php b/mod/externalpages/actions/edit.php
new file mode 100644
index 000000000..edfffe168
--- /dev/null
+++ b/mod/externalpages/actions/edit.php
@@ -0,0 +1,25 @@
+<?php
+/**
+ * Elgg external pages: add/edit
+ *
+ */
+
+// Get input data
+$contents = get_input('expagescontent', '', false);
+$type = get_input('content_type');
+$previous_guid = get_input('expage_guid');
+
+// create object to hold the page details
+$expages = new ElggObject();
+$expages->subtype = $type;
+$expages->owner_guid = get_loggedin_userid();
+$expages->access_id = ACCESS_PUBLIC;
+$expages->title = $type;
+$expages->description = $contents;
+if (!$expages->save()) {
+ register_error(elgg_echo("expages:error"));
+ forward(REFERER);
+}
+
+system_message(elgg_echo("expages:posted"));
+forward(REFERER);
diff --git a/mod/externalpages/index.php b/mod/externalpages/index.php
deleted file mode 100644
index 78a0bb1a3..000000000
--- a/mod/externalpages/index.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
- /**
- * Elgg External pages
- *
- * @package ElggExpages
- */
-
- require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
-
- admin_gatekeeper();
- set_context('admin');
- $type = get_input('type'); //the type of page e.g about, terms etc
- if(!$type)
- $type = "front"; //default to the frontpage
-
- //display the title
- $title = elgg_view_title(elgg_echo('expages'));
-
- // Display the correct form
- if($type == "front")
- $edit = elgg_view('expages/forms/editfront');
- else
- $edit = elgg_view('expages/forms/edit', array('type' => $type));
-
- // Display the menu
- $body = elgg_view('page_elements/contentwrapper',array('body' => elgg_view('expages/menu', array('type' => $type)).$edit));
-
- // Display
- page_draw(elgg_echo('expages'),elgg_view_layout("two_column_left_sidebar", '', $title . $body));
-?> \ No newline at end of file
diff --git a/mod/externalpages/languages/en.php b/mod/externalpages/languages/en.php
index 8d80ee9f2..1c80d5f3f 100644
--- a/mod/externalpages/languages/en.php
+++ b/mod/externalpages/languages/en.php
@@ -1,42 +1,27 @@
<?php
+/**
+ * External pages English language file
+ */
- $english = array(
-
- /**
- * Menu items and titles
- */
-
- 'expages' => "External pages",
- 'expages:frontpage' => "Frontpage",
- 'expages:about' => "About",
- 'expages:terms' => "Terms",
- 'expages:privacy' => "Privacy",
- 'expages:analytics' => "Analytics",
- 'expages:contact' => "Contact",
- 'expages:nopreview' => "No preview yet available",
- 'expages:preview' => "Preview",
- 'expages:notset' => "This page has not been set up yet.",
- 'expages:lefthand' => "The lefthand information pane",
- 'expages:righthand' => "The righthand information pane",
- 'expages:addcontent' => "You can add content here via your admin tools. Look for the external pages link under admin.",
- 'item:object:front' => 'Front page items',
-
- /**
- * Status messages
- */
-
- 'expages:posted' => "Your page was successfully updated.",
- 'expages:deleted' => "Your page post was successfully deleted.",
-
- /**
- * Error messages
- */
-
- 'expages:deleteerror' => "There was a problem deleting the old page",
- 'expages:error' => "There has been an error, please try again and if the problem persists, contact the administrator",
-
- );
-
- add_translation("en",$english);
+$english = array(
-?> \ No newline at end of file
+ /**
+ * Menu items and titles
+ */
+ 'expages' => "External pages",
+ 'admin:site:expages' => "External pages",
+ 'expages:about' => "About",
+ 'expages:terms' => "Terms",
+ 'expages:privacy' => "Privacy",
+ 'expages:contact' => "Contact",
+
+ 'expages:notset' => "This page has not been set up yet.",
+
+ /**
+ * Status messages
+ */
+ 'expages:posted' => "Your page was successfully updated.",
+ 'expages:error' => "Unable to save this page.",
+);
+
+add_translation("en", $english);
diff --git a/mod/externalpages/manifest.xml b/mod/externalpages/manifest.xml
index 3793d7803..235074276 100644
--- a/mod/externalpages/manifest.xml
+++ b/mod/externalpages/manifest.xml
@@ -1,10 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<plugin_manifest>
- <field key="author" value="Curverider" />
- <field key="version" value="1.7" />
- <field key="description" value="This is a very simple plugin that lets site admin populate an about page, terms, privacy and contact. You can also edit the frontpage text." />
- <field key="website" value="http://www.elgg.org/" />
- <field key="copyright" value="(C) Curverider 2008-2010" />
- <field key="licence" value="GNU Public License version 2" />
- <field key="elgg_version" value="2010030101" />
-</plugin_manifest>
+<plugin_manifest xmlns="http://www.elgg.org/plugin_manifest/1.8">
+ <name>External Pages</name>
+ <author>Curverider</author>
+ <version>1.8</version>
+ <description>Create simple web pages for about, contact, privacy, and terms.</description>
+ <website>http://www.elgg.org/</website>
+ <copyright>(C) Curverider 2008-2010</copyright>
+ <license>GNU Public License version 2</license>
+ <requires>
+ <type>elgg_version</type>
+ <version>2010030101</version>
+ </requires>
+ <admin_interface>advanced</admin_interface>
+</plugin_manifest> \ No newline at end of file
diff --git a/mod/externalpages/read.php b/mod/externalpages/read.php
deleted file mode 100644
index 3faceb083..000000000
--- a/mod/externalpages/read.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
- /**
- * Elgg read external page
- *
- * @package ElggExpages
- */
-
- // Load Elgg engine
- define('externalpage',true);
- require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
-
- // set some variables
- $type = get_input('expages');
-
- // Set the title appropriately
- $area1 = elgg_view_title(elgg_echo("expages:". strtolower($type)));
-
- //get contents
- $contents = elgg_get_entities(array('type' => 'object', 'subtype' => $type, 'limit' => 1));
-
- if($contents){
- foreach($contents as $c){
- $area1 .= elgg_view('page_elements/contentwrapper',array('body' => $c->description));
- }
- }else
- $area1 .= elgg_view('page_elements/contentwrapper',array('body' => elgg_echo("expages:notset")));
-
- // Display through the correct canvas area
- $body = elgg_view_layout("one_column", $area1);
-
- // Display page
- page_draw($title,$body);
-
-?> \ No newline at end of file
diff --git a/mod/externalpages/start.php b/mod/externalpages/start.php
index 33bd7e189..86d5894f7 100644
--- a/mod/externalpages/start.php
+++ b/mod/externalpages/start.php
@@ -1,74 +1,60 @@
<?php
- /**
- * Elgg Simple editing of external pages frontpage/about/term/contact and privacy
- *
- * @package ElggExPages
- */
+/**
+ * Plugin for creating web pages for your site
+ */
- function expages_init() {
-
- global $CONFIG;
-
- // Register a page handler, so we can have nice URLs
- register_page_handler('expages','expages_page_handler');
-
- // Register a URL handler for external pages
- register_entity_url_handler('expages_url','object','expages');
-
- // extend views
- elgg_extend_view('footer/links', 'expages/footer_menu');
- elgg_extend_view('index/righthandside', 'expages/front_right');
- elgg_extend_view('index/lefthandside', 'expages/front_left');
-
- }
-
- /**
- * Page setup. Adds admin controls to the admin panel.
- *
- */
- function expages_pagesetup()
- {
- if (get_context() == 'admin' && isadminloggedin()) {
- global $CONFIG;
- add_submenu_item(elgg_echo('expages'), $CONFIG->wwwroot . 'pg/expages/');
- }
- }
-
- function expages_url($expage) {
-
- global $CONFIG;
- return $CONFIG->url . "pg/expages/";
-
- }
-
-
- function expages_page_handler($page)
- {
- global $CONFIG;
-
- if ($page[0])
- {
- switch ($page[0])
- {
- case "read": set_input('expages',$page[1]);
- include(dirname(__FILE__) . "/read.php");
- break;
- default : include($CONFIG->pluginspath . "externalpages/index.php");
- }
- }
- else
- include($CONFIG->pluginspath . "externalpages/index.php");
+register_elgg_event_handler('init', 'system', 'expages_init');
+
+function expages_init() {
+
+ // Register a page handler, so we can have nice URLs
+ register_page_handler('expages', 'expages_page_handler');
+
+ // add a menu item for the admin edit page
+ elgg_add_admin_menu_item('expages', elgg_echo('expages'), 'site');
+
+ // add footer links
+ expages_setup_footer_menu();
+
+ // register action
+ $actions_base = elgg_get_plugins_path() . 'externalpages/actions';
+ elgg_register_action("expages/edit", "$actions_base/edit.php", 'admin');
+}
+
+/**
+ * Setup the links to site pages
+ */
+function expages_setup_footer_menu() {
+ $pages = array('about', 'terms', 'privacy');
+ foreach ($pages as $page) {
+ $url = "pg/expages/read/$page";
+ $item = new ElggMenuItem($page, elgg_echo("expages:$page"), $url);
+ elgg_register_menu_item('footer', $item);
+ }
+}
+
+/**
+ * External pages page handler
+ *
+ * @param array $page
+ */
+function expages_page_handler($page) {
+ $type = strtolower($page[1]);
+
+ $title = elgg_echo("expages:$type");
+ $content = elgg_view_title($title);
+
+ $object = elgg_get_entities(array(
+ 'type' => 'object',
+ 'subtype' => $type,
+ 'limit' => 1,
+ ));
+ if ($object) {
+ $content .= elgg_view('output/longtext', array('value' => $object[0]->description));
+ } else {
+ $content .= elgg_echo("expages:notset");
}
-
- // Initialise log browser
- register_elgg_event_handler('init','system','expages_init');
- register_elgg_event_handler('pagesetup','system','expages_pagesetup');
-
- // Register actions
- global $CONFIG;
- register_action("expages/add",false,$CONFIG->pluginspath . "externalpages/actions/add.php");
- register_action("expages/addfront",false,$CONFIG->pluginspath . "externalpages/actions/addfront.php");
- register_action("expages/edit",false,$CONFIG->pluginspath . "externalpages/actions/edit.php");
- register_action("expages/delete",false,$CONFIG->pluginspath . "externalpages/actions/delete.php");
-
-?> \ No newline at end of file
+
+ $body = elgg_view_layout("one_sidebar", array('content' => $content));
+ echo elgg_view_page($title, $body);
+}
diff --git a/mod/externalpages/views/default/expages/analytics.php b/mod/externalpages/views/default/expages/analytics.php
deleted file mode 100644
index 40f7b6a8d..000000000
--- a/mod/externalpages/views/default/expages/analytics.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
- /**
- * Elgg Analytics view
- *
- * @package ElggExpages
- *
- */
-
-
- //get analytics content
- $contents = elgg_get_entities(array('type' => 'object', 'subtype' => 'analytics', 'limit' => 1));
-
- if($contents){
- foreach($contents as $c){
- echo $c->description;
- }
- }
-
-?>
-
diff --git a/mod/externalpages/views/default/expages/css.php b/mod/externalpages/views/default/expages/css.php
deleted file mode 100644
index 609f77f69..000000000
--- a/mod/externalpages/views/default/expages/css.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-
- /**
- * Elgg externalpages CSS
- *
- * @package externalpages
- */
-
-?>
-
-/* IE6 */
-* html #front_left_tbl { width:676px !important; }
-* html #front_right_tbl { width:676px !important; } \ No newline at end of file
diff --git a/mod/externalpages/views/default/expages/footer_menu.php b/mod/externalpages/views/default/expages/footer_menu.php
deleted file mode 100644
index a2e1616d2..000000000
--- a/mod/externalpages/views/default/expages/footer_menu.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
- /**
- * Elgg External pages footer menu
- *
- * @package ElggExpages
- *
- */
-
-
-?>
-
-<div class="footer_toolbar_links">|
-<a href="<?php echo $vars['url']; ?>pg/expages/read/About/"><?php echo elgg_echo('expages:about'); ?></a> |
-<a href="<?php echo $vars['url']; ?>pg/expages/read/Terms/"><?php echo elgg_echo('expages:terms'); ?></a> |
-<a href="<?php echo $vars['url']; ?>pg/expages/read/Privacy/"><?php echo elgg_echo('expages:privacy'); ?></a> |
-</div> \ No newline at end of file
diff --git a/mod/externalpages/views/default/expages/forms/edit.php b/mod/externalpages/views/default/expages/forms/edit.php
deleted file mode 100644
index 1cdec4198..000000000
--- a/mod/externalpages/views/default/expages/forms/edit.php
+++ /dev/null
@@ -1,82 +0,0 @@
-<?php
-
- /**
- * Elgg External pages edit
- *
- * @package ElggExpages
- *
- */
-
- //get the page type
- $type = $vars['type'];
-
- //action
- $action = "expages/add";
-
- //grab the required entity
- $page_contents = elgg_get_entities(array('type' => 'object', 'subtype' => $type, 'limit' => 1));
-
- if($page_contents){
- foreach($page_contents as $pc){
- $description = $pc->description;
- $guid = $pc->guid;
- }
- }else {
- $description = "";
- }
-
- // set the required form variables
- $input_area = elgg_view('input/longtext', array('internalname' => 'expagescontent', 'value' => $description));
- $submit_input = elgg_view('input/submit', array('internalname' => 'submit', 'value' => elgg_echo('save')));
- $hidden_value = elgg_view('input/hidden', array('internalname' => 'content_type', 'value' => $type));
- $hidden_guid = elgg_view('input/hidden', array('internalname' => 'expage_guid', 'value' => $guid));
-
- //type
- $type = $vars['type'];
- //set the url
- $url = $vars['url'] . "pg/expages/index.php?type=";
-
- if($type == 'about') {
- $external_page_title = elgg_echo('expages:about');
- }
- else if($type == 'terms') {
- $external_page_title = elgg_echo('expages:terms');
- }
- else if($type == 'privacy') {
- $external_page_title = elgg_echo('expages:privacy');
- }
- //preview link
- // echo "<div class=\"page_preview\"><a href=\"#preview\">" . elgg_echo('expages:preview') . "</a></div>";
-
- //construct the form
- $form_body = <<<EOT
-
- <h3 class='settings'>$external_page_title</h3>
- <p class='longtext_editarea'>$input_area</p>
- $hidden_value
- $hidden_guid
- <br />
- $submit_input
-
-EOT;
-?>
-<?php
- //display the form
- echo elgg_view('input/form', array('action' => "{$vars['url']}action/$action", 'body' => $form_body));
-?>
-
-<!-- preview page contents -->
-<!--
-<div class="expage_preview">
-<a name="preview"></a>
-<h2>Preview</h2>
-<?php
-/*
- if($description)
- echo $description;
- else
- echo elgg_echo('expages:nopreview');
-*/
-?>
-</div>
---> \ No newline at end of file
diff --git a/mod/externalpages/views/default/expages/forms/editfront.php b/mod/externalpages/views/default/expages/forms/editfront.php
deleted file mode 100644
index 3e7e8c83b..000000000
--- a/mod/externalpages/views/default/expages/forms/editfront.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-
- /**
- * Elgg edit frontpage
- *
- * @package ElggExpages
- *
- */
-
- //action
- $action = "expages/addfront";
-
- //grab the required entity
- $page_contents = elgg_get_entities(array('type' => 'object', 'subtype' => 'front', 'limit' => 1));
-
- if($page_contents){
- foreach($page_contents as $pc){
- $description_right = $pc->description;
- $description_left = $pc->title;
- $guid = $pc->guid;
- }
- }else {
- $description = "";
- }
-
- // set the required form variables
- $input_area_left = elgg_view('input/longtext', array('internalname' => 'front_left', 'value' => $description_left));
- $input_area_right = elgg_view('input/longtext', array('internalname' => 'front_right', 'value' => $description_right));
- $submit_input = elgg_view('input/submit', array('internalname' => 'submit', 'value' => elgg_echo('save')));
- $hidden_guid = elgg_view('input/hidden', array('internalname' => 'front_guid', 'value' => $guid));
- $lefthand = elgg_echo("expages:lefthand");
- $righthand = elgg_echo("expages:righthand");
-
- //preview link
- // echo "<div class=\"page_preview\"><a href=\"#preview\">" . elgg_echo('expages:preview') . "</a></div>";
-
- //construct the form
- $form_body = <<<EOT
-
- <h3 class='settings'>$lefthand</h3>
- <p class='longtext_editarea'>$input_area_left</p><br />
- <h3 class='settings'>$righthand</h3>
- <p class='longtext_editarea'>$input_area_right</p>
-
- $hidden_guid
- <br />
- $submit_input
-
-EOT;
-?>
-<?php
- //display the form
- echo elgg_view('input/form', array('action' => "{$vars['url']}action/$action", 'body' => $form_body));
-?>
-
-<!-- preview page contents -->
-<!--
-<div class="expage_preview">
-<a name="preview"></a>
-<h2>Preview</h2>
-<?php
-/*
- if($description_left){
- echo "The left column header space<br />";
- echo $description_left;
- }
- if($description_right){
- echo "The right column header space<br />";
- echo $description_right;
- }else
- echo elgg_echo('expages:nopreview');
- */
-?>
-</div>
---> \ No newline at end of file
diff --git a/mod/externalpages/views/default/expages/front_left.php b/mod/externalpages/views/default/expages/front_left.php
deleted file mode 100644
index 14d999ead..000000000
--- a/mod/externalpages/views/default/expages/front_left.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
- /**
- * Elgg Frontpage left
- *
- * @package ElggExpages
- *
- */
-
-
- //get frontpage right code
- $contents = elgg_get_entities(array('type' => 'object', 'subtype' => 'front', 'limit' => 1));
-
- if($contents){
- foreach($contents as $c){
- echo $c->title; // title is the left hand content
- }
- }else{
- echo "<p>" . elgg_echo("expages:addcontent") . "</p>";
- }
-
-?>
-
diff --git a/mod/externalpages/views/default/expages/front_right.php b/mod/externalpages/views/default/expages/front_right.php
deleted file mode 100644
index ab999f890..000000000
--- a/mod/externalpages/views/default/expages/front_right.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
- /**
- * Elgg Frontpage right
- *
- * @package ElggExpages
- *
- */
-
- //get frontpage right code
- $contents = elgg_get_entities(array('type' => 'object', 'subtype' => 'front', 'limit' => 1));
-
- // nothing to show so we return TRUE to indicate the view was valid
- if ($contents == FALSE) {
- return TRUE;
- }
-
- $show = '';
- foreach($contents as $cont){
- $show = $cont->description;
- }
-
- if($show != ''){
- echo "<div id=\"index_welcome\">";
-
- if($contents){
- foreach($contents as $c){
- echo $c->description;
- }
- }else{
- echo elgg_echo("expages:addcontent");
- }
- echo "</div>";
- }
-
-?> \ No newline at end of file
diff --git a/mod/externalpages/views/default/expages/menu.php b/mod/externalpages/views/default/expages/menu.php
index d91418065..e471619b8 100644
--- a/mod/externalpages/views/default/expages/menu.php
+++ b/mod/externalpages/views/default/expages/menu.php
@@ -1,17 +1,44 @@
<?php
+/**
+ * External pages menu
+ *
+ * @uses $vars['type']
+ */
- /**
- * Elgg External pages menu
- *
- * @package ElggExpages
- *
- */
-
- //type
- $type = $vars['type'];
-
- //set the url
- $url = $vars['url'] . "pg/expages/index.php?type=";
+$type = $vars['type'];
+
+ //set the url
+ $url = $vars['url'] . "pg/admin/site/expages?type=";
+
+$pages = array('about', 'terms', 'privacy');
+$tabs = array();
+foreach ($pages as $page) {
+ $tabs[] = array(
+ 'title' => elgg_echo("expages:$page"),
+ 'url' => "pg/admin/site/expages?type=$page",
+ 'selected' => $page == $type,
+ );
+}
+
+echo elgg_view('navigation/tabs', array('tabs' => $tabs));
+
+return true;
+
+/**
+ * Tab navigation
+ *
+ * @uses string $vars['type'] horizontal || vertical - Defaults to horizontal
+ * @uses string $vars['class'] Additional class to add to ul
+ * @uses array $vars['tabs'] A multi-dimensional array of tab entries in the format array(
+ * 'title' => string, // Title of link
+ * 'url' => string, // URL for the link
+ * 'class' => string // Class of the li element
+ * 'id' => string, // ID of the li element
+ * 'selected' => bool // if this li element is currently selected
+ * 'url_class' => string, // Class to pass to the link
+ * 'url_id' => string, // ID to pass to the link
+ * )
+ */
?>
diff --git a/mod/externalpages/views/default/forms/expages/edit.php b/mod/externalpages/views/default/forms/expages/edit.php
new file mode 100644
index 000000000..afe091337
--- /dev/null
+++ b/mod/externalpages/views/default/forms/expages/edit.php
@@ -0,0 +1,55 @@
+<?php
+/**
+ * Edit form body for external pages
+ *
+ * @uses $vars['type']
+ *
+ */
+
+$type = $vars['type'];
+
+//grab the required entity
+$page_contents = elgg_get_entities(array(
+ 'type' => 'object',
+ 'subtype' => $type,
+ 'limit' => 1,
+));
+
+if ($page_contents) {
+ $description = $page_contents[0]->description;
+ $guid = $page_contents[0]->guid;
+} else {
+ $description = "";
+ $guid = 0;
+}
+
+// set the required form variables
+$input_area = elgg_view('input/longtext', array(
+ 'internalname' => 'expagescontent',
+ 'value' => $description,
+));
+$submit_input = elgg_view('input/submit', array(
+ 'internalname' => 'submit',
+ 'value' => elgg_echo('save'),
+));
+$hidden_type = elgg_view('input/hidden', array(
+ 'internalname' => 'content_type',
+ 'value' => $type,
+));
+$hidden_guid = elgg_view('input/hidden', array(
+ 'internalname' => 'guid',
+ 'value' => $guid,
+));
+
+$external_page_title = elgg_echo("expages:$type");
+
+//construct the form
+echo <<<EOT
+<h3 class="mvm">$external_page_title</h3>
+<div>$input_area</div>
+ $hidden_value
+ $hidden_type
+ $submit_input
+
+EOT;
+
diff --git a/mod/externalpages/views/default/object/expages.php b/mod/externalpages/views/default/object/expages.php
deleted file mode 100644
index 69ec7233e..000000000
--- a/mod/externalpages/views/default/object/expages.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-
- /**
- * Elgg expages view
- *
- * @package ElggExPages
- *
- */
-
-?> \ No newline at end of file