summaryrefslogtreecommitdiff
path: root/themes/default/views
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2008-11-15 06:23:09 +0000
committerBharat Mediratta <bharat@menalto.com>2008-11-15 06:23:09 +0000
commitae7839ffaada72c522ffcd9b3f4f1cc04027a720 (patch)
tree50ce67306eace68cd23c294fc1aa40ba32c03bcc /themes/default/views
parent26c8772e16b0328358d23ee4c29f9b592e632b28 (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.php54
-rw-r--r--themes/default/views/header.html.php40
-rw-r--r--themes/default/views/page.html.php3
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>