Spaghettification
This commit is contained in:
parent
fa05590c76
commit
7646d2cc32
@ -46,7 +46,7 @@ class Session
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TODO: throwaway code; rewrite for readability and also implement proper flashing by removing messages after one request
|
// TODO: throwaway code; rewrite for readability and also implement proper flashing by removing messages after one request
|
||||||
public function flash(string $msg, string $type = 'info'): void
|
public function flash(string $msg, string $type = 'info', bool $unsafe = FALSE): void
|
||||||
{
|
{
|
||||||
$types = [
|
$types = [
|
||||||
"info",
|
"info",
|
||||||
@ -69,7 +69,7 @@ class Session
|
|||||||
}
|
}
|
||||||
$msgs = $this->get($key);
|
$msgs = $this->get($key);
|
||||||
$msgs[] = [
|
$msgs[] = [
|
||||||
"message" => htmlspecialchars($msg),
|
"message" => ($unsafe) ? $msg : htmlspecialchars($msg),
|
||||||
"type" => $type
|
"type" => $type
|
||||||
];
|
];
|
||||||
$this->set(
|
$this->set(
|
||||||
|
@ -4,6 +4,16 @@ class Teamtable
|
|||||||
{
|
{
|
||||||
public PDO $dbh;
|
public PDO $dbh;
|
||||||
|
|
||||||
|
public array $emptyTeamTemplate = [
|
||||||
|
'LagNavn' => 'NN',
|
||||||
|
'Bedrift' => 'NN',
|
||||||
|
'Kortnummer' => 'NN',
|
||||||
|
'Lagleder' => 'NN',
|
||||||
|
'Telefon' => 0,
|
||||||
|
'Deltagere' => 0,
|
||||||
|
'Runder' => 0
|
||||||
|
];
|
||||||
|
|
||||||
public function __construct(Database $database)
|
public function __construct(Database $database)
|
||||||
{
|
{
|
||||||
$this->dbh = $database->conn;
|
$this->dbh = $database->conn;
|
||||||
@ -40,12 +50,47 @@ class Teamtable
|
|||||||
int $Runder
|
int $Runder
|
||||||
): void
|
): void
|
||||||
{
|
{
|
||||||
$sth = $this->dbh->prepare('UPDATE lagtabell SET LagNavn = ?, Bedrift = ?, Kortnummer = ?, Lagleder = ?, Telefon = ?, Deltagere = ?, Runder = ? WHERE LagID = ?');
|
$sth = $this->dbh->prepare(
|
||||||
|
'UPDATE lagtabell SET LagNavn = ?, Bedrift = ?, Kortnummer = ?, Lagleder = ?, Telefon = ?, Deltagere = ?, Runder = ? WHERE LagID = ?'
|
||||||
|
);
|
||||||
$sth->execute([$LagNavn, $Bedrift, $Kortnummer, $Lagleder, $Telefon, $Deltagere, $Runder, $id]);
|
$sth->execute([$LagNavn, $Bedrift, $Kortnummer, $Lagleder, $Telefon, $Deltagere, $Runder, $id]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function addTeam(): int
|
public function addEmptyTeam(): int
|
||||||
{
|
{
|
||||||
// todo ...
|
$sth = $this->dbh->prepare(
|
||||||
|
'INSERT INTO lagtabell (LagNavn, Bedrift, Kortnummer, Lagleder, Telefon, Deltagere, Runder) VALUES (?, ?, ?, ?, ?, ?, ?)'
|
||||||
|
);
|
||||||
|
|
||||||
|
$template = $this->emptyTeamTemplate;
|
||||||
|
$template = [
|
||||||
|
$template['LagNavn'],
|
||||||
|
$template['Bedrift'],
|
||||||
|
$template['Kortnummer'],
|
||||||
|
$template['Lagleder'],
|
||||||
|
$template['Telefon'],
|
||||||
|
$template['Deltagere'],
|
||||||
|
$template['Runder'],
|
||||||
|
];
|
||||||
|
$sth->execute($template);
|
||||||
|
return $this->dbh->lastInsertId();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if team is empty by comparing it to the template
|
||||||
|
public function isEqualEmptyTemplate(array $team): bool
|
||||||
|
{
|
||||||
|
$template = $this->emptyTeamTemplate;
|
||||||
|
$equal = FALSE;
|
||||||
|
foreach ($team as $key => $value) {
|
||||||
|
if (!isset($template[$key])) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if ($template[$key] !== $team[$key]) {
|
||||||
|
$equal = FALSE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
$equal = TRUE;
|
||||||
|
}
|
||||||
|
return $equal;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,5 +1,5 @@
|
|||||||
<h1>Endre lagtabell</h1>
|
<h1>Endre lagtabell</h1>
|
||||||
<span class="float-right">[ <a class="success" href="update.php?create=true">Opprett lag</a> ]</span>
|
<span class="float-right">[ <a class="success" href="add.php">Opprett lag</a> ]</span>
|
||||||
<br>
|
<br>
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
@ -33,4 +33,4 @@
|
|||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</table>
|
</table>
|
||||||
<span class="float-right">[ <a class="success" href="update.php?create=true">Opprett lag</a> ]</span>
|
<span class="float-right">[ <a class="success" href="add.php">Opprett lag</a> ]</span>
|
10
public/teamtable/edit/add.php
Normal file
10
public/teamtable/edit/add.php
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?php
|
||||||
|
$app = require '../../../app/inc.php';
|
||||||
|
|
||||||
|
$model = $app->model('Teamtable');
|
||||||
|
|
||||||
|
$id = $model->addEmptyTeam();
|
||||||
|
|
||||||
|
$app->session->flash('Opprettet ny lagmal, <a href=' . "update.php?item=$id" . '>klikk her</a> for å endre på den', 'success', TRUE);
|
||||||
|
|
||||||
|
$app->redirect('index.php');
|
@ -25,8 +25,10 @@ if (!$currentTeam)
|
|||||||
$app->redirect('index.php');
|
$app->redirect('index.php');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$sameAsTemplate = $model->isEqualEmptyTemplate($currentTeam);
|
||||||
|
|
||||||
// Show confirmation page
|
// Show confirmation page
|
||||||
if (isset($_GET['confirmation']) && $_GET['confirmation'] == 'true')
|
if (isset($_GET['confirmation']) && $_GET['confirmation'] == 'true' && !$sameAsTemplate)
|
||||||
{
|
{
|
||||||
$app->view('template/header', ['title' => 'Bekreft sletting']);
|
$app->view('template/header', ['title' => 'Bekreft sletting']);
|
||||||
$app->view('pages/teamtable/edit/delete', ['currentTeam' => $currentTeam]);
|
$app->view('pages/teamtable/edit/delete', ['currentTeam' => $currentTeam]);
|
||||||
@ -36,6 +38,10 @@ if (isset($_GET['confirmation']) && $_GET['confirmation'] == 'true')
|
|||||||
|
|
||||||
$model->deleteTeamByID($id);
|
$model->deleteTeamByID($id);
|
||||||
|
|
||||||
|
if ($sameAsTemplate) {
|
||||||
|
$app->session->flash("Slettet lagmal", "success");
|
||||||
|
} else {
|
||||||
$app->session->flash("Slettet lag: {$currentTeam['LagNavn']}", "success");
|
$app->session->flash("Slettet lag: {$currentTeam['LagNavn']}", "success");
|
||||||
|
}
|
||||||
|
|
||||||
$app->redirect('index.php');
|
$app->redirect('index.php');
|
@ -54,10 +54,11 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST')
|
|||||||
//====Validate Input====//
|
//====Validate Input====//
|
||||||
|
|
||||||
$validationError = FALSE;
|
$validationError = FALSE;
|
||||||
|
$template = $model->emptyTeamTemplate;
|
||||||
|
|
||||||
// LagNavn
|
// LagNavn
|
||||||
if (!strlen($LagNavn)) {
|
if (!strlen($LagNavn)) {
|
||||||
$LagNavn = 'NN';
|
$LagNavn = $template['LagNavn'];
|
||||||
}
|
}
|
||||||
if (strlen($LagNavn) > 32) {
|
if (strlen($LagNavn) > 32) {
|
||||||
$validationError = TRUE;
|
$validationError = TRUE;
|
||||||
@ -65,7 +66,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST')
|
|||||||
|
|
||||||
// Bedrift
|
// Bedrift
|
||||||
if (!strlen($Bedrift)) {
|
if (!strlen($Bedrift)) {
|
||||||
$Bedrift = 'NN';
|
$Bedrift = $template['Bedrift'];
|
||||||
}
|
}
|
||||||
if (strlen($Bedrift) > 32) {
|
if (strlen($Bedrift) > 32) {
|
||||||
$validationError = TRUE;
|
$validationError = TRUE;
|
||||||
@ -73,7 +74,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST')
|
|||||||
|
|
||||||
// Kortnummer
|
// Kortnummer
|
||||||
if (!strlen($Kortnummer)) {
|
if (!strlen($Kortnummer)) {
|
||||||
$Kortnummer = 'NN';
|
$Kortnummer = $template['Kortnummer'];
|
||||||
}
|
}
|
||||||
if (strlen($Kortnummer) > 32) {
|
if (strlen($Kortnummer) > 32) {
|
||||||
$validationError = TRUE;
|
$validationError = TRUE;
|
||||||
@ -81,7 +82,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST')
|
|||||||
|
|
||||||
// Lagleder
|
// Lagleder
|
||||||
if (!strlen($Lagleder)) {
|
if (!strlen($Lagleder)) {
|
||||||
$Lagleder = 'NN';
|
$Lagleder = $template['Lagleder'];
|
||||||
}
|
}
|
||||||
if (strlen($Lagleder) > 32) {
|
if (strlen($Lagleder) > 32) {
|
||||||
$validationError = TRUE;
|
$validationError = TRUE;
|
||||||
@ -89,7 +90,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST')
|
|||||||
|
|
||||||
// Telefon
|
// Telefon
|
||||||
if (!strlen($Telefon)) {
|
if (!strlen($Telefon)) {
|
||||||
$Telefon = 0;
|
$Telefon = $template['Telefon'];
|
||||||
}
|
}
|
||||||
if (strlen((string) $Telefon) > 32) {
|
if (strlen((string) $Telefon) > 32) {
|
||||||
$validationError = TRUE;
|
$validationError = TRUE;
|
||||||
@ -97,7 +98,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST')
|
|||||||
|
|
||||||
// Deltagere
|
// Deltagere
|
||||||
if (!strlen($Deltagere)) {
|
if (!strlen($Deltagere)) {
|
||||||
$Deltagere = 0;
|
$Deltagere = $template['Deltagere'];
|
||||||
}
|
}
|
||||||
if (strlen((string) $Deltagere) > 32) {
|
if (strlen((string) $Deltagere) > 32) {
|
||||||
$validationError = TRUE;
|
$validationError = TRUE;
|
||||||
@ -105,7 +106,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST')
|
|||||||
|
|
||||||
// Runder
|
// Runder
|
||||||
if (!strlen($Runder)) {
|
if (!strlen($Runder)) {
|
||||||
$Runder = 0;
|
$Runder = $template['Runder'];
|
||||||
}
|
}
|
||||||
if (strlen((string) $Runder) > 32) {
|
if (strlen((string) $Runder) > 32) {
|
||||||
$validationError = TRUE;
|
$validationError = TRUE;
|
||||||
|
Reference in New Issue
Block a user