Implement login form, and make some minor style changes

master
Sven Slootweg 11 years ago
parent b5bc476e08
commit 89dffba731

@ -0,0 +1,51 @@
<?php
/*
* ReDonate is more free software. It is licensed under the WTFPL, which
* allows you to do pretty much anything with it, without having to
* ask permission. Commercial use is allowed, and no attribution is
* required. We do politely request that you share your modifications
* to benefit other developers, but you are under no enforced
* obligation to do so :)
*
* Please read the accompanying LICENSE document for the full WTFPL
* licensing text.
*/
if(!isset($_APP)) { die("Unauthorized."); }
$sError = "";
if(!empty($_POST['submit']))
{
if(empty($_POST['username']))
{
$sError = "You did not enter a username.";
}
elseif(empty($_POST['password']))
{
$sError = "You did not enter a password.";
}
else
{
try
{
$sUser = User::CreateFromQuery("SELECT * FROM users WHERE `Username` = :Username", array(":Username" => $_POST['username']), 0, true);
if($sUser->VerifyPassword($_POST['password']))
{
$sUser->Authenticate();
redirect("/dashboard");
}
else
{
$sError = "The password you entered is incorrect. Did you <a href=\"/forgot-password\">forget your password</a>?";
}
}
catch (NotFoundException $e)
{
$sError = "That username does not exist.";
}
}
}
$sPageContents = NewTemplater::Render("login/form", $locale->strings, array('error' => $sError));

@ -145,6 +145,17 @@ pre.debug
* FORMS * * FORMS *
**************************************/ **************************************/
.formwrapper
{
width: 485px;
margin: 0px auto;
}
.formwrapper.narrow
{
width: 432px;
}
.formfield .formfield
{ {
margin: 6px 0px; margin: 6px 0px;
@ -169,7 +180,7 @@ pre.debug
{ {
font-size: 17px; font-size: 17px;
padding: 4px; padding: 4px;
width: 30%; width: 270px;
border: 1px solid #6CA825; border: 1px solid #6CA825;
border-radius: 1px; border-radius: 1px;
background-color: #F4FDE4; background-color: #F4FDE4;
@ -177,24 +188,34 @@ pre.debug
.formfield label .formfield label
{ {
width: 18%; width: 170px;
font-size: 18px; font-size: 18px;
padding-top: 7px; padding-top: 7px;
margin-right: 12px; margin-right: 12px;
font-weight: bold; font-weight: bold;
} }
form.narrow .formfield label
{
width: 130px;
}
.formfield.submit .formfield.submit
{ {
padding-left: 20%; padding-left: 182px;
margin-top: 24px; margin-top: 24px;
} }
form.narrow .formfield.submit
{
padding-left: 142px;
}
form .note form .note
{ {
clear: both; clear: both;
font-size: 14px; font-size: 14px;
margin-left: 20%; margin-left: 182px;
padding-top: 3px; padding-top: 3px;
} }
@ -204,10 +225,54 @@ form .note:before
margin-right: 5px; margin-right: 5px;
} }
form button
{
margin-top: 0px;
background: #61AF12;
border-top: 1px solid #529d26;
border-right: 1px solid #2c5615;
border-bottom: 1px solid #1d390e;
border-left: 1px solid #2c5615;
border-radius: 4px;
box-shadow: inset 0 1px 10px 1px #6CDD28,
0px 1px 0 #2c5713,
0 2px 0px #305e14,
0 3px 2px 1px #111111;
color: #fff;
font: bold 17px/1 "helvetica neue",
helvetica,
arial,
sans-serif;
margin-bottom: 15px;
padding: 10px 19px 12px 19px;
text-align: center;
text-shadow: 0px -1px 1px #1e2d4d;
-webkit-background-clip: padding-box;
}
form button:hover
{
box-shadow: inset 0 0px 20px 1px #75DB38,
0px 1px 0 #324d1d,
0 2px 0px #37531f,
0 3px 2px 1px #111111;
cursor: pointer;
}
form button:active
{
box-shadow: inset 0 1px 10px 1px #85BC59,
0 1px 0 #203213,
0 2px 0 #223413,
0 3px 3px 0 #111111;
margin-top: 2px;
margin-bottom: 13px;
}
.errors .errors
{ {
color: #2F0003; color: #2F0003;
margin-bottom: 36px; margin-bottom: 30px;
padding: 12px; padding: 12px;
border: 1px solid #6F0008; border: 1px solid #6F0008;
background-color: #FFF7F8; background-color: #FFF7F8;

@ -0,0 +1,27 @@
<div class="formwrapper narrow">
<h2 class="spaced">Login to your account</h2>
{%if isempty|error == false}
<div class="errors">
{%?error}
</div>
{%/if}
<form method="post" action="/login" class="narrow">
<div class="formfield">
<label>Username</label>
{%input type="text" name="username"}
<div class="clear"></div>
</div>
<div class="formfield">
<label>Password</label>
{%input type="password" name="password"}
<div class="clear"></div>
</div>
<div class="formfield submit">
<button type="submit" name="submit" value="submit">Login</button>
</div>
</form>
</div>

@ -1,49 +1,51 @@
<h2 class="spaced">Great! It'll only take a moment...</h2> <div class="formwrapper">
<h2 class="spaced">Great! It'll only take a moment...</h2>
{%if isempty|errors == false} {%if isempty|errors == false}
<div class="errors"> <div class="errors">
One or more problems occurred: One or more problems occurred:
<ul> <ul>
{%foreach error in errors} {%foreach error in errors}
<li>{%?error}</li> <li>{%?error}</li>
{%/foreach} {%/foreach}
</ul> </ul>
Please correct these issues and submit the form again. Please correct these issues and submit the form again.
</div> </div>
{%/if} {%/if}
<form method="post" action="/sign-up"> <form method="post" action="/sign-up">
<div class="formfield next-similar"> <div class="formfield next-similar">
<label>Username</label> <label>Username</label>
{%input type="text" name="username"} {%input type="text" name="username"}
<div class="clear"></div> <div class="clear"></div>
</div> </div>
<div class="formfield next-similar previous-similar"> <div class="formfield next-similar previous-similar">
<label>Name (optional)</label> <label>Name (optional)</label>
{%input type="text" name="displayname"} {%input type="text" name="displayname"}
<div class="clear"></div> <div class="clear"></div>
</div> </div>
<div class="formfield previous-similar"> <div class="formfield previous-similar">
<label>E-mail address</label> <label>E-mail address</label>
{%input type="email" name="email"} {%input type="email" name="email"}
<div class="note">we'll send you a verification e-mail</div> <div class="note">we'll send you a verification e-mail</div>
</div> </div>
<div class="formfield next-similar"> <div class="formfield next-similar">
<label>Password</label> <label>Password</label>
{%input type="password" name="password"} {%input type="password" name="password"}
<div class="clear"></div> <div class="clear"></div>
</div> </div>
<div class="formfield previous-similar"> <div class="formfield previous-similar">
<label>Password (again)</label> <label>Password (again)</label>
{%input type="password" name="password2"} {%input type="password" name="password2"}
<div class="note">at least 8 characters</div> <div class="note">at least 8 characters</div>
</div> </div>
<div class="formfield submit"> <div class="formfield submit">
<button type="submit" class="green-button" name="submit" value="submit">Sign me up!</button> <button type="submit" class="green-button" name="submit" value="submit">Sign me up!</button>
</div> </div>
</form> </form>
</div>

Loading…
Cancel
Save