password reset, admin upadte and Camel case update

This commit is contained in:
2021-03-11 09:28:30 +01:00
parent 246cfad08a
commit a65e9ceec8
16 changed files with 117 additions and 60 deletions
+25 -2
View File
@@ -6,10 +6,11 @@ use Backend\Models\Password;
/**
* @param string $token
* @return Group;
* @return Group|null ;
*/
function groupViaToken(string $token){
function groupViaToken(string $token): ?Group
{
if($password = Password::firstWhere('remember_token', $token)){
return Group::find($password->group_id);
@@ -17,6 +18,28 @@ function groupViaToken(string $token){
return null;
}
/**
* @return bool
*/
function isLogin(){
return isset($_SESSION["token"]);
}
/**
* @param string $password1
* @param string $password2
* @return bool
*/
function passwordValidate(string $password1, string $password2 ){
if($password1 === $password2){
$uppercase = preg_match('@[A-Z]@', $password1);
$lowercase = preg_match('@[a-z]@', $password1);
$number = preg_match('@[0-9]@', $password1);
$specialChars = preg_match('@[^\w]@', $password1);
if(!$uppercase || !$lowercase || !$number || !$specialChars || (strlen($password1) < 8 && strlen($password1) > 255)) {
return true;
}
}
else false;
}
+3 -3
View File
@@ -19,9 +19,9 @@ if(isset($_POST['login'])){
$hashedPassword = $group->password->password;
if(password_verify($password, $hashedPassword )){
$token = Str::random(100);
$grouppassword = Password::firstWhere('group_id', $group->id);
$grouppassword->remember_token = $token;
if($grouppassword->save()){
$groupPassword = Password::firstWhere('group_id', $group->id);
$groupPassword->remember_token = $token;
if($groupPassword->save()){
$_SESSION['groupName'] = $groupName;
$_SESSION['token'] = $token;
$_SESSION['success'] = "You are now logged in";
+25 -25
View File
@@ -12,38 +12,38 @@ session_start();
$groupName = "";
$errors = array();
if(isset($_POST['reg_group'])){
if(isset($_POST['regGroup'])){
if(passwordValidate($pass = $_POST['password1'], $_POST['password2'])){
$group = new Group();
$group->gameJam()->associate(GameJam::find($_POST['gameJamId']));
$group = new Group();
$group->group_name = $groupName = $_POST['groupName'];
$group->gameJam()->associate(GameJam::find($_POST['gameJamId']));
$group->group_amount = $_POST['groupAmount'];
$group->group_name = $groupName = $_POST['groupName'];
if(!$group->save()){
return;
}
$password = New Password();
$group->group_amount = $_POST['groupAmount'];
$password->group()->associate($group);
if(!$group->save()){
return;
$password->password = password_hash($pass ,PASSWORD_DEFAULT);
$token = Str::random(100);
$password->remember_token = $token;
if(!$password->save()){
return;
}
$_SESSION['groupName'] = $groupName;
$_SESSION['token'] = $token;
$_SESSION['success'] = "You are now logged in";
header('location: ../../../Frontend/index.php');
}
$password = New Password();
$password->group()->associate($group);
$password->password = password_hash($_POST['password'] ,PASSWORD_DEFAULT);
$token = Str::random(100);
$password->remember_token = $token;
if(!$password->save()){
return;
}
$_SESSION['groupName'] = $groupName;
$_SESSION['token'] = $token;
$_SESSION['success'] = "You are now logged in";
header('location: ../../../Frontend/index.php');
}
+3 -3
View File
@@ -7,9 +7,9 @@ session_start();
if (isset($_POST['updateGroup'])) {
if($group = Group::find($_POST['groupId'])){
if ($group->password->remember_token === $_SESSION['token']){
$group->group_name = $_POST['group_name'];
$group->group_amount = $_POST['group_amount'];
$group->game_jam_id = $_POST['game_jam_id'];
$group->group_name = $_POST['groupName'];
$group->group_amount = $_POST['groupAmount'];
$group->game_jam_id = $_POST['gameJamId'];
$group->save();
}
}
@@ -0,0 +1,14 @@
<?php
require_once "../../../bootstrap.php";
require_once "Group.php";
use Backend\Models\Password;
if(isset($_SESSION['token'])){
if(isset($_POST['updatePassword']))
$password = Password::firstWhere("group_id", groupViaToken($_SESSION["token"])->id);
if(passwordValidate($pass = $_POST['password1'], $_POST['password2'])){
$password = password_hash($pass,PASSWORD_DEFAULT);
$password->save();
}
}
+2
View File
@@ -1,3 +1,5 @@
<?php
session_start();
session_destroy();