mirror of
https://gitlab.com/animath/si/plateforme.git
synced 2024-12-30 23:02:23 +00:00
149 lines
3.5 KiB
PHP
149 lines
3.5 KiB
PHP
|
<?php
|
||
|
|
||
|
require_once "../config.php";
|
||
|
|
||
|
class Team
|
||
|
{
|
||
|
private $id;
|
||
|
private $name;
|
||
|
private $trigram;
|
||
|
private $tournament;
|
||
|
private $encadrants;
|
||
|
private $participants;
|
||
|
private $inscription_date;
|
||
|
private $validation_status;
|
||
|
private $final_selection;
|
||
|
private $access_code;
|
||
|
private $year;
|
||
|
|
||
|
public function __construct($id)
|
||
|
{
|
||
|
global $DB;
|
||
|
$req = $DB->prepare("SELECT * FROM `teams` WHERE `id` = ?;");
|
||
|
$req->execute([htmlspecialchars($id)]);
|
||
|
$data = $req->fetch();
|
||
|
|
||
|
if ($data === false)
|
||
|
throw new InvalidArgumentException("L'équipe spécifiée n'existe pas.");
|
||
|
|
||
|
$this->id = $id;
|
||
|
$this->name = $data["name"];
|
||
|
$this->trigram = $data["trigram"];
|
||
|
$this->tournament = $data["tournament"];
|
||
|
$this->encadrants = [$data["encadrant_1"], $data["encadrant_2"]];
|
||
|
$this->participants = [$data["participant_1"], $data["participant_2"], $data["participant_3"], $data["participant_4"], $data["participant_5"], $data["participant_6"]];
|
||
|
$this->inscription_date = $data["inscription_date"];
|
||
|
$this->validation_status = ValidationStatus::fromName($data["validation_status"]);
|
||
|
$this->final_selection = $data["final_selection"] == true;
|
||
|
$this->access_code = $data["access_code"];
|
||
|
$this->year = $data["year"];
|
||
|
}
|
||
|
|
||
|
public function getId()
|
||
|
{
|
||
|
return $this->id;
|
||
|
}
|
||
|
|
||
|
public function getName()
|
||
|
{
|
||
|
return $this->name;
|
||
|
}
|
||
|
|
||
|
public function setName($name)
|
||
|
{
|
||
|
global $DB;
|
||
|
$this->name = $name;
|
||
|
$DB->prepare("UPDATE `teams` SET `name` = ? WHERE `id` = ?;")->execute([$name, $this->id]);
|
||
|
}
|
||
|
|
||
|
public function getTrigram()
|
||
|
{
|
||
|
return $this->trigram;
|
||
|
}
|
||
|
|
||
|
public function setTrigram($trigram)
|
||
|
{
|
||
|
global $DB;
|
||
|
$this->trigram = $trigram;
|
||
|
$DB->prepare("UPDATE `teams` SET `trigram` = ? WHERE `id` = ?;")->execute([$trigram, $this->id]);
|
||
|
}
|
||
|
|
||
|
public function getTournamentId()
|
||
|
{
|
||
|
return $this->tournament;
|
||
|
}
|
||
|
|
||
|
public function setTournamentId($tournament)
|
||
|
{
|
||
|
global $DB;
|
||
|
$this->tournament = $tournament;
|
||
|
$DB->prepare("UPDATE `teams` SET `tournament` = ? WHERE `id` = ?;")->execute([$tournament, $this->id]);
|
||
|
}
|
||
|
|
||
|
public function getEncadrants()
|
||
|
{
|
||
|
return $this->encadrants;
|
||
|
}
|
||
|
|
||
|
public function setEncadrant($i, $encadrant)
|
||
|
{
|
||
|
global $DB;
|
||
|
$this->encadrants[$i - 1] = $encadrant;
|
||
|
/** @noinspection SqlResolve */
|
||
|
$DB->prepare("UPDATE `teams` SET `encadrant_$i` = ? WHERE `id` = ?;")->execute([$encadrant, $this->id]);
|
||
|
}
|
||
|
|
||
|
public function getParticipants()
|
||
|
{
|
||
|
return $this->participants;
|
||
|
}
|
||
|
|
||
|
public function setParticipant($i, $participant)
|
||
|
{
|
||
|
global $DB;
|
||
|
$this->participants[$i - 1] = $participant;
|
||
|
/** @noinspection SqlResolve */
|
||
|
$DB->prepare("UPDATE `teams` SET `participant_$i` = ? WHERE `id` = ?;")->execute([$participant, $this->id]);
|
||
|
}
|
||
|
|
||
|
public function getInscriptionDate()
|
||
|
{
|
||
|
return $this->inscription_date;
|
||
|
}
|
||
|
|
||
|
public function getValidationStatus()
|
||
|
{
|
||
|
return $this->validation_status;
|
||
|
}
|
||
|
|
||
|
public function setValidationStatus($status)
|
||
|
{
|
||
|
global $DB;
|
||
|
$this->validation_status = $status;
|
||
|
/** @noinspection PhpUndefinedMethodInspection */
|
||
|
$DB->prepare("UPDATE `teams` SET `validation_status` = ? WHERE `id` = ?;")->execute([$status->getName(), $this->id]);
|
||
|
}
|
||
|
|
||
|
public function isSelectedForFinal()
|
||
|
{
|
||
|
return $this->final_selection;
|
||
|
}
|
||
|
|
||
|
public function selectForFinal($selected)
|
||
|
{
|
||
|
global $DB;
|
||
|
$this->final_selection = $selected;
|
||
|
$DB->prepare("UPDATE `teams` SET `final_selection` = ? WHERE `id` = ?;")->execute([$selected, $this->id]);
|
||
|
}
|
||
|
|
||
|
public function getAccessCode()
|
||
|
{
|
||
|
return $this->access_code;
|
||
|
}
|
||
|
|
||
|
public function getYear()
|
||
|
{
|
||
|
return $this->year;
|
||
|
}
|
||
|
}
|