From 4766f36a4d74924f21ff329c4318ce4e069ffa04 Mon Sep 17 00:00:00 2001 From: brettp Date: Wed, 3 Mar 2010 17:53:05 +0000 Subject: Pulled in the interface changes. git-svn-id: http://code.elgg.org/elgg/trunk@5257 36083f99-b078-4883-b0ff-0f9b5a30f544 --- mod/externalpages/actions/add.php | 77 ++++++++++++++++++ mod/externalpages/actions/addfront.php | 52 ++++++++++++ mod/externalpages/index.php | 37 +++++++++ mod/externalpages/languages/en.php | 42 ++++++++++ mod/externalpages/manifest.xml | 10 +++ mod/externalpages/read.php | 39 +++++++++ mod/externalpages/start.php | 78 ++++++++++++++++++ .../views/default/expages/analytics.php | 25 ++++++ mod/externalpages/views/default/expages/css.php | 17 ++++ .../views/default/expages/footer_menu.php | 21 +++++ .../views/default/expages/forms/edit.php | 92 ++++++++++++++++++++++ .../views/default/expages/forms/editfront.php | 78 ++++++++++++++++++ .../views/default/expages/front_left.php | 27 +++++++ .../views/default/expages/front_right.php | 35 ++++++++ mod/externalpages/views/default/expages/menu.php | 29 +++++++ mod/externalpages/views/default/object/expages.php | 14 ++++ 16 files changed, 673 insertions(+) create mode 100644 mod/externalpages/actions/add.php create mode 100644 mod/externalpages/actions/addfront.php create mode 100644 mod/externalpages/index.php create mode 100644 mod/externalpages/languages/en.php create mode 100644 mod/externalpages/manifest.xml create mode 100644 mod/externalpages/read.php create mode 100644 mod/externalpages/start.php create mode 100644 mod/externalpages/views/default/expages/analytics.php create mode 100644 mod/externalpages/views/default/expages/css.php create mode 100644 mod/externalpages/views/default/expages/footer_menu.php create mode 100644 mod/externalpages/views/default/expages/forms/edit.php create mode 100644 mod/externalpages/views/default/expages/forms/editfront.php create mode 100644 mod/externalpages/views/default/expages/front_left.php create mode 100644 mod/externalpages/views/default/expages/front_right.php create mode 100644 mod/externalpages/views/default/expages/menu.php create mode 100644 mod/externalpages/views/default/object/expages.php (limited to 'mod/externalpages') diff --git a/mod/externalpages/actions/add.php b/mod/externalpages/actions/add.php new file mode 100644 index 000000000..f8746312c --- /dev/null +++ b/mod/externalpages/actions/add.php @@ -0,0 +1,77 @@ + + * @copyright Curverider Ltd 2008-2010 + * @link http://elgg.org/ + */ + + // Make sure we're logged as admin + admin_gatekeeper(); + + // Get input data + $contents = get_input('expagescontent', '', false); + $type = get_input('content_type'); + $tags = get_input('expagestags'); + $previous_guid = get_input('expage_guid'); + + // Cache to the session + $_SESSION['expages_content'] = $contents; + $_SESSION['expagestype'] = $type; + $_SESSION['expagestags'] = $tags; + + // Convert string of tags into a preformatted array + $tagarray = string_to_tag_array($tags); + + // Make sure the content exists + if (empty($contents)) { + register_error(elgg_echo("expages:blank")); + forward("mod/expages/add.php"); + + // Otherwise, save the new external page + } else { + + //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 = $_SESSION['user']->getGUID(); + // For now, set its access to public + $expages->access_id = 2; + // 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("mod/expages/add.php"); + } + // Now let's add tags. We can pass an array directly to the object property! Easy. + if (is_array($tagarray)) { + $expages->tags = $tagarray; + } + + // Success message + system_message(elgg_echo("expages:posted")); + // add to river + add_to_river('river/expages/create','create',$_SESSION['user']->guid,$expages->guid); + // Remove the cache + unset($_SESSION['expages_content']); unset($_SESSION['expagestitle']); unset($_SESSION['expagestags']); + + + // Forward back to the page + forward("pg/expages/index.php?type={$type}"); + + } + +?> diff --git a/mod/externalpages/actions/addfront.php b/mod/externalpages/actions/addfront.php new file mode 100644 index 000000000..e7dc167c6 --- /dev/null +++ b/mod/externalpages/actions/addfront.php @@ -0,0 +1,52 @@ + + * @copyright Curverider Ltd 2008-2010 + * @link http://elgg.org/ + */ + + // 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 = $_SESSION['user']->getGUID(); + // For now, set its access to public + $frontpage->access_id = 2; + // 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/index.php b/mod/externalpages/index.php new file mode 100644 index 000000000..f0b5187d5 --- /dev/null +++ b/mod/externalpages/index.php @@ -0,0 +1,37 @@ + $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 new file mode 100644 index 000000000..5deb70191 --- /dev/null +++ b/mod/externalpages/languages/en.php @@ -0,0 +1,42 @@ + "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 post was successfully posted.", + '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); + +?> \ No newline at end of file diff --git a/mod/externalpages/manifest.xml b/mod/externalpages/manifest.xml new file mode 100644 index 000000000..3793d7803 --- /dev/null +++ b/mod/externalpages/manifest.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/mod/externalpages/read.php b/mod/externalpages/read.php new file mode 100644 index 000000000..503efbb03 --- /dev/null +++ b/mod/externalpages/read.php @@ -0,0 +1,39 @@ + + * @copyright Curverider Ltd 2008-2010 + * @link http://elgg.com/ + */ + + // 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 new file mode 100644 index 000000000..6ce69c74d --- /dev/null +++ b/mod/externalpages/start.php @@ -0,0 +1,78 @@ +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"); + } + + // 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 diff --git a/mod/externalpages/views/default/expages/analytics.php b/mod/externalpages/views/default/expages/analytics.php new file mode 100644 index 000000000..8aac0e9d9 --- /dev/null +++ b/mod/externalpages/views/default/expages/analytics.php @@ -0,0 +1,25 @@ + + * @copyright Curverider Ltd 2008-2010 + * @link http://elgg.com/ + * + */ + + + //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 new file mode 100644 index 000000000..c511a45db --- /dev/null +++ b/mod/externalpages/views/default/expages/css.php @@ -0,0 +1,17 @@ + + * @copyright Curverider Ltd 2008-2010 + * @link http://elgg.org/ + */ + +?> + +/* 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 new file mode 100644 index 000000000..0e7b40b56 --- /dev/null +++ b/mod/externalpages/views/default/expages/footer_menu.php @@ -0,0 +1,21 @@ + + * @copyright Curverider Ltd 2008-2010 + * @link http://elgg.com/ + * + */ + + +?> + + \ 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 new file mode 100644 index 000000000..2f638d549 --- /dev/null +++ b/mod/externalpages/views/default/expages/forms/edit.php @@ -0,0 +1,92 @@ + + * @copyright Curverider Ltd 2008-2010 + * @link http://elgg.com/ + * + */ + + //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; + $tags = $pc->tags; + $guid = $pc->guid; + } + }else { + $tags = ""; + $description = ""; + } + + // set the required form variables + $input_area = elgg_view('input/longtext', array('internalname' => 'expagescontent', 'value' => $description)); + $tag_input = elgg_view('input/tags', array('internalname' => 'expagestags', 'value' => $tags)); + $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)); + $tag_label = elgg_echo('tags') . "
"; + + //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 "
" . elgg_echo('expages:preview') . "
"; + + //construct the form + $form_body = <<$external_page_title +

$input_area

+

+ $tag_label + $tag_input +

+ $hidden_value + $hidden_guid +
+ $submit_input + +EOT; +?> + "{$vars['url']}action/$action", 'body' => $form_body)); +?> + + + \ 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 new file mode 100644 index 000000000..ee4c89989 --- /dev/null +++ b/mod/externalpages/views/default/expages/forms/editfront.php @@ -0,0 +1,78 @@ + + * @copyright Curverider Ltd 2008-2010 + * @link http://elgg.com/ + * + */ + + //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 { + $tags = ""; + $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 ""; + + //construct the form + $form_body = <<$lefthand +

$input_area_left


+

$righthand

+

$input_area_right

+ + $hidden_guid +
+ $submit_input + +EOT; +?> + "{$vars['url']}action/$action", 'body' => $form_body)); +?> + + + \ 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 new file mode 100644 index 000000000..1c6c2442e --- /dev/null +++ b/mod/externalpages/views/default/expages/front_left.php @@ -0,0 +1,27 @@ + + * @copyright Curverider Ltd 2008-2010 + * @link http://elgg.com/ + * + */ + + + //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 "

" . elgg_echo("expages:addcontent") . "

"; + } + +?> + diff --git a/mod/externalpages/views/default/expages/front_right.php b/mod/externalpages/views/default/expages/front_right.php new file mode 100644 index 000000000..a28b5748c --- /dev/null +++ b/mod/externalpages/views/default/expages/front_right.php @@ -0,0 +1,35 @@ + + * @copyright Curverider Ltd 2008-2010 + * @link http://elgg.com/ + * + */ + + //get frontpage right code + $contents = elgg_get_entities(array('type' => 'object', 'subtype' => 'front', 'limit' => 1)); + + $show = ''; + foreach($contents as $cont){ + $show = $cont->description; + } + + if($show != ''){ + echo "
"; + + if($contents){ + foreach($contents as $c){ + echo $c->description; + } + }else{ + echo elgg_echo("expages:addcontent"); + } + echo "
"; + } + +?> \ No newline at end of file diff --git a/mod/externalpages/views/default/expages/menu.php b/mod/externalpages/views/default/expages/menu.php new file mode 100644 index 000000000..10c07397b --- /dev/null +++ b/mod/externalpages/views/default/expages/menu.php @@ -0,0 +1,29 @@ + + * @copyright Curverider Ltd 2008-2010 + * @link http://elgg.com/ + * + */ + + //type + $type = $vars['type']; + + //set the url + $url = $vars['url'] . "pg/expages/index.php?type="; + +?> + +
+
    +
  • >
  • +
  • >
  • +
  • >
  • +
  • >
  • +
+
\ No newline at end of file diff --git a/mod/externalpages/views/default/object/expages.php b/mod/externalpages/views/default/object/expages.php new file mode 100644 index 000000000..e7f0385b1 --- /dev/null +++ b/mod/externalpages/views/default/object/expages.php @@ -0,0 +1,14 @@ + \ No newline at end of file -- cgit v1.2.3