aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engine/lib/elgglib.php2
-rw-r--r--views/default/core/account/login_walled_garden.php100
-rw-r--r--views/default/core/walled_garden/body.php32
-rw-r--r--views/default/core/walled_garden/login.php33
-rw-r--r--views/default/core/walled_garden/lost_password.php17
-rw-r--r--views/default/core/walled_garden/register.php21
-rw-r--r--views/default/css/walled_garden.php35
-rw-r--r--views/default/forms/login.php2
-rw-r--r--views/default/js/walled_garden.php40
-rw-r--r--views/default/page/walled_garden.php4
10 files changed, 152 insertions, 134 deletions
diff --git a/engine/lib/elgglib.php b/engine/lib/elgglib.php
index 95e71e227..a6f5fbc6f 100644
--- a/engine/lib/elgglib.php
+++ b/engine/lib/elgglib.php
@@ -1990,6 +1990,8 @@ function elgg_is_valid_options_for_batch_operation($options, $type) {
function elgg_walled_garden_index() {
elgg_register_css('elgg.walled_garden', '/css/walled_garden.css');
elgg_load_css('elgg.walled_garden');
+ elgg_register_js('elgg.walled_garden', '/js/walled_garden.js');
+ elgg_load_js('elgg.walled_garden');
$body = elgg_view('core/walled_garden/body');
diff --git a/views/default/core/account/login_walled_garden.php b/views/default/core/account/login_walled_garden.php
deleted file mode 100644
index 1606b9592..000000000
--- a/views/default/core/account/login_walled_garden.php
+++ /dev/null
@@ -1,100 +0,0 @@
-<?php
-/**
- * Walled Garden Login Form
- *
- * @todo still requires clean up
- */
-
-$reg_url = elgg_normalize_url('register');
-$forgot_url = elgg_normalize_url('forgotpassword');
-$cancel_button = elgg_view('input/button', array(
- 'value' => elgg_echo('cancel'),
- 'class' => 'elgg-button-cancel mlm',
-));
-
-$form_body = elgg_view('forms/login');
-$form_body .= elgg_view('input/hidden', array(
- 'name' => 'returntoreferer',
- 'value' => 'true',
-));
-
-$login_url = elgg_get_site_url();
-if (elgg_get_config('https_login')) {
- $login_url = str_replace("http:", "https:", elgg_get_site_url());
-}
-
-?>
-<h2><?php echo elgg_echo('login'); ?></h2>
-<?php
-//@todo Forms 1.8: Convert to use elgg_view_form()
-echo elgg_view('input/form', array(
- 'body' => $form_body,
- 'action' => "{$login_url}action/login",
-));
-
-if (elgg_get_config('allow_registration')) {
- $title = elgg_echo('register');
- $body = elgg_view_form('register', array(), array(
- 'friend_guid' => (int) get_input('friend_guid', 0),
- 'invitecode' => get_input('invitecode'),
- ));
-
- echo <<<__HTML
-<div id="elgg-walledgarden-registration" class="hidden clearfix">
- <div class="elgg-hiddenform-body" class="clearfix">
- <h2>$title</h2>
- $body
- </div>
- <div class="elgg-hiddenform-bottom"></div>
-</div>
-__HTML;
-}
-
-$title = elgg_echo('user:password:lost');
-$body = elgg_view_form('user/requestnewpassword');
-echo <<<__HTML
-<div id="elgg-walledgarden-lostpassword" class="hidden clearfix">
- <div class="elgg-hiddenform-body" class="clearfix">
- <h2>$title</h2>
- $body
- </div>
- <div class="elgg-hiddenform-bottom"></div>
-</div>
-__HTML;
-
-//@todo JS 1.8: no
-?>
-<script type="text/javascript">
-$(document).ready(function() {
- $('input.username').focus();
-
- // add cancel button to inline forms
- $('#elgg-walledgarden-registration').find('input.elgg-button-submit').after('<?php echo $cancel_button; ?>');
- $('#elgg-walledgarden-lostpassword').find('input.elgg-button-submit').after('<?php echo $cancel_button; ?>');
-
- function elgg_slide_hiddenform(activateLink, parentElement, toggleElement) {
- $(activateLink).closest(parentElement).find(toggleElement).fadeToggle('medium');
- }
-
- $('a[href="<?php echo $reg_url; ?>"]').click(function(e) {
- e.preventDefault();
- elgg_slide_hiddenform(this, '#elgg-walledgarden-login', '#elgg-walledgarden-registration');
- $('input.name').focus();
- });
-
- $('a[href="<?php echo $forgot_url; ?>"]').click(function(e) {
- e.preventDefault();
- elgg_slide_hiddenform(this, '#elgg-walledgarden-login', '#elgg-walledgarden-lostpassword');
- $('input.lostusername').focus();
- });
-
- $('input.elgg-button-cancel').click(function() {
- if ($('#elgg-walledgarden-lostpassword').is(':visible')) {
- $('a[href="<?php echo $forgot_url; ?>"]').click();
- } else if ($('#elgg-walledgarden-registration').is(':visible')) {
- $('a[href="<?php echo $reg_url; ?>"]').click();
- }
- return false;
- });
-});
-</script>
diff --git a/views/default/core/walled_garden/body.php b/views/default/core/walled_garden/body.php
index bee1c9805..67d8e0c37 100644
--- a/views/default/core/walled_garden/body.php
+++ b/views/default/core/walled_garden/body.php
@@ -3,31 +3,9 @@
* Walled garden body
*/
-$title = elgg_get_site_entity()->name;
-$welcome = elgg_echo('walled_garden:welcome');
-$welcome .= ': <br/>' . $title;
+echo elgg_view('core/walled_garden/login');
+echo elgg_view('core/walled_garden/lost_password');
-$menu = elgg_view_menu('walled_garden', array(
- 'sort_by' => 'priority',
- 'class' => 'elgg-menu-general elgg-menu-hz',
-));
-
-$login_box = elgg_view('core/account/login_box', array('module' => 'walledgarden-login'));
-
-$content = <<<HTML
-<div class="elgg-col elgg-col-1of2">
- <div class="elgg-inner">
- <h1 class="elgg-heading-walledgarden">
- $welcome
- </h1>
- $menu
- </div>
-</div>
-<div class="elgg-col elgg-col-1of2">
- <div class="elgg-inner">
- $login_box
- </div>
-</div>
-HTML;
-
-echo elgg_view_module('walledgarden', '', $content, $vars);
+if (elgg_get_config('allow_registration')) {
+ echo elgg_view('core/walled_garden/register');
+}
diff --git a/views/default/core/walled_garden/login.php b/views/default/core/walled_garden/login.php
new file mode 100644
index 000000000..069422bfa
--- /dev/null
+++ b/views/default/core/walled_garden/login.php
@@ -0,0 +1,33 @@
+<?php
+/**
+ * Walled garden login
+ */
+
+$title = elgg_get_site_entity()->name;
+$welcome = elgg_echo('walled_garden:welcome');
+$welcome .= ': <br/>' . $title;
+
+$menu = elgg_view_menu('walled_garden', array(
+ 'sort_by' => 'priority',
+ 'class' => 'elgg-menu-general elgg-menu-hz',
+));
+
+$login_box = elgg_view('core/account/login_box', array('module' => 'walledgarden-login'));
+
+$content = <<<HTML
+<div class="elgg-col elgg-col-1of2">
+ <div class="elgg-inner">
+ <h1 class="elgg-heading-walledgarden">
+ $welcome
+ </h1>
+ $menu
+ </div>
+</div>
+<div class="elgg-col elgg-col-1of2">
+ <div class="elgg-inner">
+ $login_box
+ </div>
+</div>
+HTML;
+
+echo elgg_view_module('walledgarden', '', $content, array('class' => 'elgg-walledgarden-double'));
diff --git a/views/default/core/walled_garden/lost_password.php b/views/default/core/walled_garden/lost_password.php
new file mode 100644
index 000000000..60356aaf0
--- /dev/null
+++ b/views/default/core/walled_garden/lost_password.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Walled garden lost password
+ */
+
+$title = elgg_echo('user:password:lost');
+$body = elgg_view_form('user/requestnewpassword');
+$lost = <<<HTML
+<div class="elgg-inner">
+ <h3>$title</h3>
+ $body
+</div>
+HTML;
+
+echo elgg_view_module('walledgarden', '', $lost, array(
+ 'class' => 'elgg-walledgarden-single elgg-walledgarden-password hidden',
+));
diff --git a/views/default/core/walled_garden/register.php b/views/default/core/walled_garden/register.php
new file mode 100644
index 000000000..951bd7295
--- /dev/null
+++ b/views/default/core/walled_garden/register.php
@@ -0,0 +1,21 @@
+<?php
+/**
+ * Walled garden registration
+ */
+
+$title = elgg_echo('register');
+$body = elgg_view_form('register', array(), array(
+ 'friend_guid' => (int) get_input('friend_guid', 0),
+ 'invitecode' => get_input('invitecode'),
+));
+
+$content = <<<__HTML
+<div class="elgg-inner">
+ <h2>$title</h2>
+ $body
+</div>
+__HTML;
+
+echo elgg_view_module('walledgarden', '', $content, array(
+ 'class' => 'elgg-walledgarden-single elgg-walledgarden-register hidden',
+)); \ No newline at end of file
diff --git a/views/default/css/walled_garden.php b/views/default/css/walled_garden.php
index 9a6b37e98..ea2543587 100644
--- a/views/default/css/walled_garden.php
+++ b/views/default/css/walled_garden.php
@@ -6,23 +6,44 @@
$url = elgg_get_site_url();
?>
-.elgg-module-walledgarden {
+.elgg-body-walledgarden {
margin: 100px auto 0 auto;
position: relative;
width: 530px;
}
+.elgg-module-walledgarden {
+ position: absolute;
+ top: 0;
+ left: 0;
+}
.elgg-module-walledgarden > .elgg-head {
- background: url(<?php echo $url; ?>_graphics/walled_garden/two_column_top.png) no-repeat left top;
height: 17px;
}
.elgg-module-walledgarden > .elgg-body {
- background: url(<?php echo $url; ?>_graphics/walled_garden/two_column_middle.png) repeat-y left top;
padding: 0 10px;
}
.elgg-module-walledgarden > .elgg-foot {
- background: url(<?php echo $url; ?>_graphics/walled_garden/two_column_bottom.png) no-repeat left top;
height: 17px;
}
+.elgg-walledgarden-double > .elgg-head {
+ background: url(<?php echo $url; ?>_graphics/walled_garden/two_column_top.png) no-repeat left top;
+}
+.elgg-walledgarden-double > .elgg-body {
+ background: url(<?php echo $url; ?>_graphics/walled_garden/two_column_middle.png) repeat-y left top;
+}
+.elgg-walledgarden-double > .elgg-foot {
+ background: url(<?php echo $url; ?>_graphics/walled_garden/two_column_bottom.png) no-repeat left top;
+}
+.elgg-walledgarden-single > .elgg-head {
+ background: url(<?php echo $url; ?>_graphics/walled_garden/one_column_top.png) no-repeat left top;
+}
+.elgg-walledgarden-single > .elgg-body {
+ background: url(<?php echo $url; ?>_graphics/walled_garden/one_column_middle.png) repeat-y left top;
+}
+.elgg-walledgarden-single > .elgg-foot {
+ background: url(<?php echo $url; ?>_graphics/walled_garden/one_column_bottom.png) no-repeat left top;
+}
+
.elgg-col > .elgg-inner {
margin: 0 0 0 5px;
}
@@ -33,10 +54,14 @@ $url = elgg_get_site_url();
padding: 0 8px;
}
+.elgg-walledgarden-single > .elgg-body > .elgg-inner {
+ padding: 0 8px;
+}
+
.elgg-module-walledgarden-login {
margin: 0;
}
-.elgg-module-walledgarden-login h3 {
+.elgg-body-walledgarden h3 {
font-size: 1.5em;
line-height: 1.1em;
padding-bottom: 5px;
diff --git a/views/default/forms/login.php b/views/default/forms/login.php
index 07f084660..670731883 100644
--- a/views/default/forms/login.php
+++ b/views/default/forms/login.php
@@ -42,7 +42,7 @@
echo '<li><a class="registration_link" href="' . elgg_get_site_url() . 'register">' . elgg_echo('register') . '</a></li>';
}
?>
- <li><a href="<?php echo elgg_get_site_url(); ?>forgotpassword">
+ <li><a class="forgot_link" href="<?php echo elgg_get_site_url(); ?>forgotpassword">
<?php echo elgg_echo('user:password:lost'); ?>
</a></li>
</ul>
diff --git a/views/default/js/walled_garden.php b/views/default/js/walled_garden.php
new file mode 100644
index 000000000..46c2934ff
--- /dev/null
+++ b/views/default/js/walled_garden.php
@@ -0,0 +1,40 @@
+<?php
+/**
+ * Walled garden JavaScript
+ *
+ * @todo update for new JS lib
+ */
+
+$cancel_button = elgg_view('input/button', array(
+ 'value' => elgg_echo('cancel'),
+ 'class' => 'elgg-button-cancel mlm',
+));
+$cancel_button = trim($cancel_button);
+
+?>
+
+$(document).ready(function() {
+
+ // add cancel button to inline forms
+ $(".elgg-walledgarden-password").find('input.elgg-button-submit').after('<?php echo $cancel_button; ?>');
+ $('.elgg-walledgarden-register').find('input.elgg-button-submit').after('<?php echo $cancel_button; ?>');
+
+ $(".forgot_link").click(function(event) {
+ event.preventDefault();
+ $(".elgg-walledgarden-password").fadeToggle();
+ });
+
+ $(".registration_link").click(function(event) {
+ event.preventDefault();
+ $(".elgg-walledgarden-register").fadeToggle();
+ });
+
+ $('input.elgg-button-cancel').click(function(event) {
+ if ($(".elgg-walledgarden-password").is(':visible')) {
+ $(".forgot_link").click();
+ } else if ($('.elgg-walledgarden-register').is(':visible')) {
+ $(".registration_link").click();
+ }
+ event.preventDefault();
+ });
+}); \ No newline at end of file
diff --git a/views/default/page/walled_garden.php b/views/default/page/walled_garden.php
index f13db709a..ff8e317c7 100644
--- a/views/default/page/walled_garden.php
+++ b/views/default/page/walled_garden.php
@@ -18,7 +18,9 @@ header("Content-type: text/html; charset=UTF-8");
<div class="elgg-page-messages">
<?php echo elgg_view('page/elements/messages', array('object' => $vars['sysmessages'])); ?>
</div>
- <?php echo $vars['body']; ?>
+ <div class="elgg-body-walledgarden">
+ <?php echo $vars['body']; ?>
+ </div>
</div>
<?php echo elgg_view('page/elements/foot'); ?>
</body>