diff options
| author | Bharat Mediratta <bharat@menalto.com> | 2008-11-15 06:23:09 +0000 |
|---|---|---|
| committer | Bharat Mediratta <bharat@menalto.com> | 2008-11-15 06:23:09 +0000 |
| commit | ae7839ffaada72c522ffcd9b3f4f1cc04027a720 (patch) | |
| tree | 50ce67306eace68cd23c294fc1aa40ba32c03bcc /themes/default/views | |
| parent | 26c8772e16b0328358d23ee4c29f9b592e632b28 (diff) | |
Revise the user login code.
* Remove user registration link and popup from the theme; this
shouldn't be done in a popup. Use ajaxform to simplify the way
that we load the login popup.
* Create form.html.php, this is a template for Forge based forms.
* Move user validation rules into User_Model and let forms
populate the rules into their forms as useful.
* Undo r18688's changes regarding the REST code. We should never
accept a null resource, this breaks the REST abstraction.
* Change login and user controllers to use Forge which lets us delete
login.html.php and user.html.php since those now are generated by
the theme-owned form template
Diffstat (limited to 'themes/default/views')
| -rw-r--r-- | themes/default/views/form.html.php | 54 | ||||
| -rw-r--r-- | themes/default/views/header.html.php | 40 | ||||
| -rw-r--r-- | themes/default/views/page.html.php | 3 |
3 files changed, 73 insertions, 24 deletions
diff --git a/themes/default/views/form.html.php b/themes/default/views/form.html.php new file mode 100644 index 00000000..bc8d1339 --- /dev/null +++ b/themes/default/views/form.html.php @@ -0,0 +1,54 @@ +<? +print($open); + +// Not sure what to do with these, but at least show that we received them. +if ($class) { + print "<!-- unused class in form.html.php: $class -->"; +} +if ($title) { + print "<!-- unused title in form.html.php: $title -->"; +} + +function DrawForm($inputs, $level=1) { + $error_messages = array(); + $prefix = str_repeat(" ", $level); + + foreach ($inputs as $input) { + if ($input->type == 'group') { + print "$prefix<fieldset>\n"; + print "$prefix <legend>$input->name</legend>\n"; + print "$prefix <ul>\n"; + DrawForm($input->inputs, $level + 2); + print "$prefix </ul>\n"; + print "$prefix</fieldset>\n"; + } else { + if ($input->error_messages()) { + $error_messages = array_merge($error_messages, $input->error_messages()); + print "$prefix<li class=\"gError\">\n"; + } else { + print "$prefix<li>\n"; + } + if ($input->label()) { + print $prefix . " " . $input->label() . "\n"; + } + print $prefix . " " . $input->render() . "\n"; + print "$prefix</li>\n"; + if ($input->message()) { + print "$prefix<li>\n"; + print $prefix . " " . $input->message() . "\n"; + print "$prefix</li>\n"; + } + } + } + if ($error_messages) { + print "$prefix <div class=\"gStatus gError\">\n"; + foreach ($error_messages as $message) { + print "<p class=\"gError\">$message<p>"; + } + print "$prefix </div>\n"; + } +} +DrawForm($inputs); + +print($close); +?> diff --git a/themes/default/views/header.html.php b/themes/default/views/header.html.php index 24dd9331..8cba82ba 100644 --- a/themes/default/views/header.html.php +++ b/themes/default/views/header.html.php @@ -2,31 +2,25 @@ <img id="gLogo" alt="<?= _("Logo") ?>" src="<?= $theme->url("images/logo.png") ?>" /> <h1><?= $item->title_edit ?></h1> -<div id="gLoginMenu"> +<ul 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?continue=" . url::current(true)) ?>" id="gLogoutLink"> + <?= _("Logout") ?> + </a> <? else: ?> - <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_form('#gLogin')"><?= _("Login") ?></a> - </span> - <span id="gLoginText" class="gDisplayNone"> - | <?= _("Login") ?> - </span> - <span id="gLoginClose" class="gDisplayNone"> - | <a href="javascript:hide_form('#gLogin')">X</a> - </span> + <span id="gLoginLink"> + <a href="javascript:show_login('<?= url::site("login") ?>')"> + <?= _("Login") ?> + </a> + </span> + <span id="gLoginClose" class="gDisplayNone"> + <?= _("Login") ?> | <a href="javascript:close_login()">X</a> + </span> + <div id="gLoginFormContainer"></div> <? endif; ?> - <span id="gUserForm" class="gDisplayNone" formSrc="<?= url::site("user/dispatch/") ?>"></span> - <span id="gLoginForm" class="gDisplayNone" formSrc="<?= url::site("login") ?>"></span> -</div> +</ul> + <ul id="gSiteMenu"> <li><a href="<?= url::base() ?>"><?= _("HOME") ?></a></li> <li><a class="active" href="<?= url::site("album/1") ?>"><?= _("BROWSE") ?></a></li> @@ -38,7 +32,7 @@ <form id="gSearchForm" class="gInline"> <ul class="gNoLabels"> <li><input type="text" value="<?= _("Search Gallery ...") ?>"/></li> - <li><input type="submit" value="search" /></li> + <li><input type="submit" value="<?= _("search") ?>" /></li> </ul> </form> diff --git a/themes/default/views/page.html.php b/themes/default/views/page.html.php index 18dd735c..c6addf98 100644 --- a/themes/default/views/page.html.php +++ b/themes/default/views/page.html.php @@ -9,10 +9,11 @@ media="screen,print,projection" /> <link rel="stylesheet" type="text/css" href="<?= url::file("lib/yui/base-min.css") ?>" media="screen,print,projection" /> - <link rel="stylesheet" type="text/css" href="<?= $theme->url("css/screen.css") ?>" + <link rel="stylesheet" type="text/css" href="<?= $theme->url("css/screen.css") ?>" media="screen,print,projection" /> <script src="<?= url::file("lib/jquery.js") ?>" type="text/javascript"></script> <script src="<?= url::file("lib/jquery.jeditable.js") ?>" type="text/javascript"></script> + <script src="<?= url::file("lib/jquery.form.js") ?>" type="text/javascript"></script> <script src="<?= $theme->url("js/user.js") ?>" type="text/javascript"></script> </head> |
