diff options
author | Tim Almdal <tnalmdal@shaw.ca> | 2008-11-14 18:16:13 +0000 |
---|---|---|
committer | Tim Almdal <tnalmdal@shaw.ca> | 2008-11-14 18:16:13 +0000 |
commit | bd1ec2df1fbd0a642b7f981742558b2ee4f8b5ff (patch) | |
tree | 437882c2bb3c64b7bd303e3487aff855d239f7be | |
parent | d7745f2ad871b8e5ac29428f74344dcb41f93b6d (diff) |
The state of of the user registration functionality
-rw-r--r-- | modules/user/controllers/user.php | 23 | ||||
-rw-r--r-- | modules/user/views/user.html.php | 34 | ||||
-rw-r--r-- | themes/default/js/user.js | 28 | ||||
-rw-r--r-- | themes/default/views/header.html.php | 21 |
4 files changed, 77 insertions, 29 deletions
diff --git a/modules/user/controllers/user.php b/modules/user/controllers/user.php index b2160cda..41cb9da5 100644 --- a/modules/user/controllers/user.php +++ b/modules/user/controllers/user.php @@ -24,14 +24,21 @@ class User_Controller extends REST_Controller { * @see Rest_Controller::_get($resource) */ public function _get($user) { - $template = new View("user_registration.html"); - - // @todo: this needs to be data-driven - $theme = new Theme("default", $template); - - $template->set_global('user', Session::instance()->get('user', null)); - - print $template->render(); + $userView = new View("user.html"); + if (empty($user)) { + // @todo remove this when rest_controller is changed to handle a post with no id + $user = ORM::factory("user"); + $user->save(); + // @todo remove this when rest_controller is changed to handle a post with no id ^ + $userView->user_id = $user->id; + $userView->action = _("User Registration"); + $userView->button_text = _("Register"); + } else { + $userView->user_id = $user->id; + $userView->action = _("User Modify"); + $userView->button_text = _("Modify"); + } + print $userView; } /** diff --git a/modules/user/views/user.html.php b/modules/user/views/user.html.php new file mode 100644 index 00000000..614645e5 --- /dev/null +++ b/modules/user/views/user.html.php @@ -0,0 +1,34 @@ +<? defined("SYSPATH") or die("No direct script access."); ?> +<form id="gUser" action="<?= url::site("user/dispatch/$user_id") ?>"> + <fieldset> + <legend><?= $action ?></legend> + <ul> + <li> + <label for="gUsername"><?= _("Username") ?></label> + <input type="text" id="gUsername" /> + <span id="gUsername_error" class="gStatus gError gDisplayNone"></span> + </li> + <li> + <label for="gPassword"><?= _("Password") ?></label> + <input type="password" id="gPassword" /> + <span id="gPassword_error" class="gStatus gError gDisplayNone"></span> + </li> + <li> + <label for="gPassword_confirm"><?= _("Confirm Password") ?></label> + <input type="password" id="gPassword_confirm" /> + </li> + <li> + <label for="gEmail"><?= _("Password") ?></label> + <input type="password" id="gEmail" /> + <span id="gEmail_error" class="gStatus gError gDisplayNone"></span> + </li> + <li> + <label for="gEmail_confirm"><?= _("Confirm Email") ?></label> + <input type="password" id="gEmaild_confirm" /> + </li> + <li> + <input type="submit" value="<?=$button_text?>" /> + </li> + </ul> + </fieldset> +</form> diff --git a/themes/default/js/user.js b/themes/default/js/user.js index 427523ee..b389a67e 100644 --- a/themes/default/js/user.js +++ b/themes/default/js/user.js @@ -9,25 +9,23 @@ $(document).ready(function() { }); }); -function show_login() { - $("#gLoginLink").css({display: "none"}); - $("#gLoginText").css({display: "inline"}); - $("#gLoginClose").css({display: "inline"}); - var url = $("#gLoginForm").attr("formSrc"); +function show_form(formName) { + $(formName + "Link").css({display: "none"}); + $(formName + "Text").css({display: "inline"}); + $(formName + "Close").css({display: "inline"}); + var url = $(formName + "Form").attr("formSrc"); $.get(url, null, function(data, textStatus) { - $("#gLoginForm").html(data); - $("#gLoginForm").css({display: "block"}); + $(formName + "Form").html(data); + $(formName + "Form").css({display: "block"}); }); } -function close_login() { - $("#gLoginLink").css({display: "inline"}); - $("#gLoginForm").css({display: "none"}); - $("#gLoginForm").html(""); - $("#gLoginText").css({display: "none"}); - $("#gLoginClose").css({display: "none"}); - $("input#gUsername").val(""); - $("input#gPassword").val(""); +function hide_form(formName) { + $(formName + "Link").css({display: "inline"}); + $(formName + "Form").css({display: "none"}); + $(formName + "Form").html(""); + $(formName + "Text").css({display: "none"}); + $(formName + "Close").css({display: "none"}); } function process_login() { diff --git a/themes/default/views/header.html.php b/themes/default/views/header.html.php index 07b446e8..24dd9331 100644 --- a/themes/default/views/header.html.php +++ b/themes/default/views/header.html.php @@ -4,18 +4,27 @@ <div id="gLoginMenu"> <? if ($user): ?> - <a href="<?= url::site("user/update")?>"><?= _("Modify Profile") ?></a> | - <a href="<?= url::site("logout")?>" id="gLogoutLink"><?= _("Logout") ?></a> + <a href="<?= url::site("user/update")?>"><?= _("Modify Profile") ?></a> + | <a href="<?= url::site("logout")?>" id="gLogoutLink"><?= _("Logout") ?></a> <? else: ?> - <a href="#"><?=_("Recover password") ?></a> | - <a href="<?= url::site("user/register")?>"><?= _("Register") ?></a> | + <a href="#"><?=_("Recover password") ?></a> + <span id="gUserLink" > + | <a href="javascript:show_form('#gUser')"><?= _("Register") ?></a> + </span> + <span id="gUserLinkText" class="gDisplayNone"> + | <?= _("Register") ?> + </span> <span id="gLoginLink"> - <a href="javascript:show_login()"><?= _("Login") ?></a> + | <a href="javascript:show_form('#gLogin')"><?= _("Login") ?></a> + </span> + <span id="gLoginText" class="gDisplayNone"> + | <?= _("Login") ?> </span> <span id="gLoginClose" class="gDisplayNone"> - <?= _("Login") ?> | <a href="javascript:close_login()">X</a> + | <a href="javascript:hide_form('#gLogin')">X</a> </span> <? endif; ?> + <span id="gUserForm" class="gDisplayNone" formSrc="<?= url::site("user/dispatch/") ?>"></span> <span id="gLoginForm" class="gDisplayNone" formSrc="<?= url::site("login") ?>"></span> </div> <ul id="gSiteMenu"> |