5 Commits
116 ... v0.1.9

Author SHA1 Message Date
a4ae987f94 Move break rule in footer (#124)
* Update footer.php

* Change line break to pipe

* Remove full stop

Co-authored-by: Alexander Davis <alex@adcm.uk>
2020-08-18 17:58:07 +01:00
Alexander Davis
26c4f801d3 Broken login (#122)
* Fixing Login Die

* Fix Broken Login 2

* Update footer

* Try Somethin New Today
2020-08-17 17:04:34 +01:00
Alexander Davis
49581da52c Broken login (#121)
* Fixing Login Die

* Fix Broken Login 2
2020-08-17 16:48:13 +01:00
57faf21a67 Fixing Login Die 2020-08-17 16:37:41 +01:00
5ff90e0d78 🐛 User not added to DB - force die() on error (#118)
* 🐛 User not added to DB - force die() on error

Signed-off-by: Luke Tainton <luke@tainton.uk>

* Restyled by php-cs-fixer (#119)

Co-authored-by: Restyled.io <commits@restyled.io>

Co-authored-by: restyled-io[bot] <32688539+restyled-io[bot]@users.noreply.github.com>
Co-authored-by: Restyled.io <commits@restyled.io>
2020-08-17 16:17:06 +01:00
3 changed files with 55 additions and 42 deletions

View File

@@ -6,6 +6,25 @@
return $version; return $version;
} }
function user_exists($db, $uuid)
{
try {
$sql = $db->prepare("SELECT uuid FROM users WHERE uuid=:uuid");
$sql->bindParam(':uuid', $uuid);
$sql->execute();
$sql->setFetchMode(PDO::FETCH_ASSOC);
$result = $sql->fetchAll();
} catch (PDOException $e) {
$alert = array("danger", "Error during check for user record: " . $e->getMessage());
die();
}
if (empty($result)) {
return false;
} else {
return true;
}
}
function get_all_users($db) function get_all_users($db)
{ {
try { try {

View File

@@ -3,7 +3,7 @@
<?php <?php
echo($_ENV['APP_NAME'] . " " . get_version()); echo($_ENV['APP_NAME'] . " " . get_version());
if ($_ENV['APP_NAME'] != "FHeD") { if ($_ENV['APP_NAME'] != "FHeD") {
echo(", powered by FHeD"); echo("| Powered by FHeD");
}; };
?><br> ?><br>
<?php if (is_signed_in()) { <?php if (is_signed_in()) {

View File

@@ -17,16 +17,7 @@
$alert = array("danger", "Error during OpenID Connect authentication: " . $e->getMessage()); $alert = array("danger", "Error during OpenID Connect authentication: " . $e->getMessage());
} }
// Check if the user already exists if (user_exists($db, $oidc_user['sub']) == false) {
try {
$user_exist_sql = $db->prepare("SELECT uuid FROM users WHERE uuid=:uuid");
$user_exist_sql->bindParam(':uuid', $oidc_user['sub']);
$user_exist_sql->execute();
} catch (PDOException $e) {
$alert = array("danger", "Error during check for user record: " . $e->getMessage());
}
if (empty($user_exist_sql)) {
// User doesn't already exist // User doesn't already exist
try { try {
$stmt = "INSERT INTO users (uuid, uid, given_name, family_name, email) VALUES (:sub, :username, :given, :family, :email)"; $stmt = "INSERT INTO users (uuid, uid, given_name, family_name, email) VALUES (:sub, :username, :given, :family, :email)";
@@ -37,7 +28,9 @@
$sql->bindParam(':family', $oidc_user['family_name']); $sql->bindParam(':family', $oidc_user['family_name']);
$sql->bindParam(':email', $oidc_user['email']); $sql->bindParam(':email', $oidc_user['email']);
$sql->execute(); $sql->execute();
} catch (Jumbojett\PDOException $e) { } catch (PDOException $e) {
echo("Error during creation of new user record: " . $e->getMessage());
die();
$alert = array("danger", "Error during creation of new user record: " . $e->getMessage()); $alert = array("danger", "Error during creation of new user record: " . $e->getMessage());
} }
} else { } else {
@@ -51,7 +44,9 @@
$sql->bindParam(':family', $oidc_user['family_name']); $sql->bindParam(':family', $oidc_user['family_name']);
$sql->bindParam(':email', $oidc_user['email']); $sql->bindParam(':email', $oidc_user['email']);
$sql->execute(); $sql->execute();
} catch (Jumbojett\PDOException $e) { } catch (PDOException $e) {
echo("Error during existing user record update: " . $e->getMessage());
die();
$alert = array("danger", "Error during existing user record update: " . $e->getMessage()); $alert = array("danger", "Error during existing user record update: " . $e->getMessage());
} }
} }
@@ -62,4 +57,3 @@
$_SESSION['is_signed_in'] = "true"; $_SESSION['is_signed_in'] = "true";
header('Location: /'); header('Location: /');
?>