mirror of
https://gitlab.com/CodeSolutionsProject/CodeShare.git
synced 2026-02-15 01:21:35 +01:00
Restore password, need senmail
This commit is contained in:
@@ -30,9 +30,10 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-2 col-sm-10">
|
||||
<div class="col-sm-offset-2 col-sm-8">
|
||||
<button type="submit" class="btn btn-success">Submit</button>
|
||||
</div>
|
||||
<div><a class="text-info" href="{{ path('restore') }}">Restore Password</a> </div>
|
||||
</div>
|
||||
<div class="col-sm-offset-1 col-sm-12">
|
||||
<button onclick="nowRegister()" id="registerbtn" class="btn btn-primary">Don't have an account yet? Sing up</button>
|
||||
|
||||
35
Source/assets/html/restore.twig
Normal file
35
Source/assets/html/restore.twig
Normal file
@@ -0,0 +1,35 @@
|
||||
{% extends app.fronthtml~"/base.twig" %}
|
||||
|
||||
{% block content %}
|
||||
<div id="register" style="">
|
||||
<form class="form-horizontal" method="post" id="restore">
|
||||
<div class="form-group">
|
||||
<label class="control-label"><strong>Restore your password</strong></label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2" for="emailre">Email:</label>
|
||||
<div class="col-sm-10">
|
||||
<input class="form-control" required="required" name="emailre" id="emailre" placeholder="Enter email" type="email">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-2 col-sm-10">
|
||||
<button type="submit" class="btn btn-success">Send me an email</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block js %}
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
var options = {success: function(data){
|
||||
console.log(data);
|
||||
},
|
||||
url: '{{ path("restore")}}',
|
||||
} ;
|
||||
$("#restore").ajaxForm(options);
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -415,14 +415,26 @@ $app->get('/add', function(Request $request) use($app){
|
||||
|
||||
})->bind('add')->method('GET|POST');
|
||||
|
||||
$app->get('/restore', function(Request $request) use($app){
|
||||
|
||||
if($request->getMethod()=="POST"){
|
||||
return $app['data']->createRestoreToken($request->get('emailre'));
|
||||
}
|
||||
$page = array("title"=>"Restore your password",
|
||||
"description"=>"None",
|
||||
"page" =>"None");
|
||||
return $app['twig']->render($app['fronthtml']."/restore.twig",array("page" => $page));
|
||||
|
||||
})->bind('restore')->method('GET|POST');
|
||||
|
||||
$app->get('/restore/{nick}/{token}-{timestamp}', function(Request $request, $nick, $token, $timestamp) use($app){
|
||||
$time = 3600; //An hour
|
||||
$now = time();
|
||||
if($now - $timestamp > $time){
|
||||
$app->abort(401);
|
||||
$app->abort(408);
|
||||
}else{
|
||||
if(!$app['data']->checkRestoreToken($nick,$token,$timestamp))
|
||||
$app->abort(408);
|
||||
$app->abort(401);
|
||||
if($request->getMethod()=='POST'){
|
||||
$pass = $request->get('pwdre');
|
||||
$passre = $request->get('pwdre-re');
|
||||
@@ -430,12 +442,13 @@ $app->get('/restore/{nick}/{token}-{timestamp}', function(Request $request, $nic
|
||||
return "NO_MATCH";
|
||||
}
|
||||
else{
|
||||
$idu = $app['daata']->loadIDU($request->get('emailre'));
|
||||
$idu = $app['data']->loadIDU($request->get('emailre'));
|
||||
$iduC = $app['data']->loadIDU($nick,'nick');
|
||||
if($idu != $iduC)
|
||||
return "BAD_EMAIL";
|
||||
$app['data']->updatePass($idu,$pass);
|
||||
}
|
||||
$app['data']->setToken($idu,"");
|
||||
return "UPDATE";
|
||||
}else{
|
||||
$page = array(
|
||||
|
||||
Reference in New Issue
Block a user