This repository has been archived on 2023-01-06. You can view files and clone it, but cannot push or open issues or pull requests.
web/public/race/configure/update.php
2022-04-26 19:55:10 +00:00

88 lines
2.3 KiB
PHP

<?php $app = require '../../../app/inc.php';
/**
* Creates and updates team in teamtable
*/
use App\Teamtable\Team;
use App\Teamtable\TeamMapper;
$item = filter_input(INPUT_GET, 'item', FILTER_VALIDATE_INT);
$team_mapper = new TeamMapper($app->database->conn);
$team;
if ($item !== NULL)
{
$team = $team_mapper->get($item);
if (!$team)
{
// team does not exist
$app->session->flash('Kunne ikke oppdatere lag: Lag finnes ikke', 'danger');
$app->redirect('index.php');
}
}
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$name = filter_input(INPUT_POST, 'name');
$company = filter_input(INPUT_POST, 'company');
$cardnumber = filter_input(INPUT_POST, 'cardnumber');
$leader = filter_input(INPUT_POST, 'leader');
$phone = filter_input(INPUT_POST, 'phone');
$participants = (int)filter_input(INPUT_POST, 'participants');
if (!isset($team))
{
$team = new Team();
}
try {
$team->setName($name);
$team->setCompany($company);
$team->setCardnumber($cardnumber);
$team->setLeader($leader);
$team->setPhone($phone);
$team->setParticipants($participants);
} catch(InvalidArgumentException $e) {
$app->session->flash('Kunne ikke oppdatere lag: Validerings feil: ' . $e->getMessage() , 'danger');
$app->redirect('index.php');
}
if ($item !== NULL)
{
// team exists, lets update it
$team->id = $item;
$team_mapper->update($team);
$app->session->flash('Oppdaterte lag', 'success');
$app->redirect('index.php');
}
// no team was specified, lets create one
$team_mapper->create($team);
$app->session->flash('Opprettet nytt lag', 'success');
$app->redirect('index.php');
}
if ($item !== NULL)
{
// team exists
$title = "Endre lag";
$app->view('template/header', [
'title' => $title
]);
$app->view('pages/race/configure/update', [
"team" => $team,
"title" => $title
]);
$app->view('template/footer');
die();
}
// lets create a team
$title = "Legg til lag";
$app->view('template/header', [
'title' => $title
]);
$app->view('pages/race/configure/update', [
"team" => new Team,
"title" => $title
]);
$app->view('template/footer');