From 4a2a33d4aef454cd9083ba0ef12b8de6e8e0f383 Mon Sep 17 00:00:00 2001 From: dave Date: Fri, 23 Apr 2010 10:16:33 +0000 Subject: The start of a new walled garden index page git-svn-id: http://code.elgg.org/elgg/trunk@5856 36083f99-b078-4883-b0ff-0f9b5a30f544 --- mod/walledgarden/index.php | 16 ++- mod/walledgarden/start.php | 98 ++++++++++-------- .../default/account/forms/login_walledgarden.php | 110 +++++++++++++++++++++ .../default/page_shells/walled_garden_index.php | 76 ++++++++++++++ 4 files changed, 249 insertions(+), 51 deletions(-) create mode 100644 mod/walledgarden/views/default/account/forms/login_walledgarden.php create mode 100644 mod/walledgarden/views/default/page_shells/walled_garden_index.php diff --git a/mod/walledgarden/index.php b/mod/walledgarden/index.php index b5b6e57c6..98ed8479f 100644 --- a/mod/walledgarden/index.php +++ b/mod/walledgarden/index.php @@ -11,15 +11,11 @@ // Get the Elgg engine require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php"); - -//grab the login form -$login = elgg_view("account/forms/login"); - -//temp message -$area1 = "This site is running in walled garden mode.
- Therefore you will need to be invited & logged in to see anything."; +//grab the login form +$login = elgg_view("account/forms/login_walledgarden"); + //display the contents in our new canvas layout -$body = elgg_view_layout('one_column_with_sidebar', $area1, $login); - -page_draw($title, $body); \ No newline at end of file +$body = elgg_view_layout('walled_garden',$login); + +page_draw_walledgarden($title, $body); diff --git a/mod/walledgarden/start.php b/mod/walledgarden/start.php index c64ca8b5b..260a8c1e4 100644 --- a/mod/walledgarden/start.php +++ b/mod/walledgarden/start.php @@ -1,55 +1,71 @@ disable_registration = true; + $CONFIG->disable_registration = true; - // elgg_set_viewtype('default'); - elgg_extend_view('pageshells/pageshell', 'walledgarden/walledgarden'); - elgg_extend_view('css','walledgarden/css'); - - register_plugin_hook('new_twitter_user', 'twitter_service', 'walledgarden_new_twitter_user'); - } + // elgg_set_viewtype('default'); + elgg_extend_view('pageshells/pageshell', 'walledgarden/walledgarden'); + elgg_extend_view('css','walledgarden/css'); + + register_plugin_hook('new_twitter_user', 'twitter_service', 'walledgarden_new_twitter_user'); - function walledgarden_pagesetup() { + if(!isloggedin()) + register_plugin_hook('index','system','walledgarden_index'); +} + +function walledgarden_pagesetup() { - global $CONFIG; - if (current_page_url() != $CONFIG->url - && !defined('externalpage') - && !isloggedin()) { - forward(); - exit; - } + global $CONFIG; + if (current_page_url() != $CONFIG->url + && !defined('externalpage') + && !isloggedin()) { + forward(); + exit; + } - } +} - function walledgarden_index() { +function walledgarden_index() { - if (!include_once(dirname(dirname(__FILE__))) . "/walledgarden/index.php") { - return false; - } - return true; + if (!include_once(dirname(dirname(__FILE__))) . "/walledgarden/index.php") { + return false; + } + return true; - } +} + +function walledgarden_new_twitter_user($hook, $entity_type, $returnvalue, $params) { + // do not allow new users to be created within the walled-garden + register_error(elgg_echo('walledgarden:new_user:fail')); + return FALSE; +} + +/** + * This is so the homepage can have its own pageshell + **/ + +function page_draw_walledgarden($title, $body, $sidebar = "") { + + // Draw the page + $output = elgg_view('page_shells/walled_garden_index', array( + 'title' => $title, + 'body' => $body, + 'sidebar' => $sidebar, + 'sysmessages' => system_messages(null,"") + ) + ); + $split_output = str_split($output, 1024); - function walledgarden_new_twitter_user($hook, $entity_type, $returnvalue, $params) { - // do not allow new users to be created within the walled-garden - register_error(elgg_echo('walledgarden:new_user:fail')); - return FALSE; + foreach($split_output as $chunk) { + echo $chunk; } +} - register_elgg_event_handler('init','system','walledgarden_init'); - register_elgg_event_handler('pagesetup','system','walledgarden_pagesetup'); -?> +register_elgg_event_handler('init','system','walledgarden_init'); +register_elgg_event_handler('pagesetup','system','walledgarden_pagesetup'); diff --git a/mod/walledgarden/views/default/account/forms/login_walledgarden.php b/mod/walledgarden/views/default/account/forms/login_walledgarden.php new file mode 100644 index 000000000..3589209fe --- /dev/null +++ b/mod/walledgarden/views/default/account/forms/login_walledgarden.php @@ -0,0 +1,110 @@ +" . elgg_echo('login') . ""; + $form_body .= "".elgg_view('input/text', array('internalname' => 'username', 'class' => 'login-textarea username master')); + $form_body .= "
".elgg_view('input/password', array('internalname' => 'password', 'class' => 'login-textarea password master' )); + + + $form_body .= "
" . elgg_view('input/submit', array('value' => elgg_echo('login'))) . "
"; + $form_body .= "

"; + $form_body .= (!isset($CONFIG->disable_registration) || !($CONFIG->disable_registration)) ? "" . elgg_echo('register') . " | " : ""; + $form_body .= "" . elgg_echo('user:password:lost') . "

"; + + + + $login_url = $vars['url']; + if ((isset($CONFIG->https_login)) && ($CONFIG->https_login)) + $login_url = str_replace("http", "https", $vars['url']); +?> + +
+ $form_body, 'action' => "{$login_url}action/login")); + ?> +
+
+ + + + + + + + \ No newline at end of file diff --git a/mod/walledgarden/views/default/page_shells/walled_garden_index.php b/mod/walledgarden/views/default/page_shells/walled_garden_index.php new file mode 100644 index 000000000..33e3605a1 --- /dev/null +++ b/mod/walledgarden/views/default/page_shells/walled_garden_index.php @@ -0,0 +1,76 @@ +sitename; +} else if (empty($vars['config']->sitename)) { + $title = $vars['title']; +} else { + $title = $vars['config']->sitename . ": " . $vars['title']; +} + +echo elgg_view('page_elements/html_begin', $vars); +echo elgg_view('messages/list', array('object' => $vars['sysmessages'])); +?> + +"; + echo "

Welcome to:
" . $title . "

"; + echo "
"; + echo $vars['body']; + echo "
"; + echo elgg_view('page_elements/html_end', $vars); +?> + -- cgit v1.2.3