admin=$admin;
$this->utclogin=$utclogin;
$this->surname=$surname;
$this->firstname=$firstname;
}
public function isActive() {
return $this->admin->isActive();
}
public function printHtmlBegin($admin) {
echo '';
echo '
Foire aux Api '.$admin->activeSemester().$admin->activeYear().'
';
}
public function printInstructions($admin) {
echo '';
echo '
Planning
';
echo '
Inscriptions ouvertes du '.$admin->openbegin().' au '.$admin->openend().'.
';
echo '
Catalogue
';
echo '
Les Api sont décrites ici : https://apint.utc.fr/cat. Veillez à avoir bien lu la fiche avant de vous inscrire (pré-requis, dates...).
';
echo '
Instructions
';
echo '
';
echo '
Les Api sont ajoutées au fil du semestre par les responsables des Api. Dès qu\'une Api est au catalogue, les étudiants peuvent commencer à s\'inscrire.';
echo '
Un étudiant peut s\'inscrire à plusieurs Api la même semaine, mais il ne pourra en suivre qu\'une seule. Il peut librement se désinscrire tant que l\'inscription n\'est pas validée.
';
echo '
Règle d\'or : dès qu\'un responsable d\'Api a validé une inscription, celle-ci est irréversible (ni l\'enseignant ni l\'étudiant ne peuvent l\'annuler). Si un étudiant était inscrit à d\'autres Api la même semaine, ces autres inscriptions sont annulées.
';
echo '
Corrolaire : Si un reponsable d\'Api commence à valider des inscriptions, alors l\'Api sera nécessairement ouverte.
';
echo '
';
}
public function printUser($isResp, $isAdmin) {
echo "
";
}
private function printApi($row) {
return "$row[normcode] - $row[name] (du $row[normdbegin] au $row[normdend]) [Demandes $row[nbask] | Inscriptions $row[nbval]/$row[size]]";
}
private function printWeek($row) {
return "$row[year] Semaine $row[week]";
}
private function printStudent($row) {
if (!$row['surname']) {
return "$row[utclogin] $row[level] [mail][photo]";
}
else {
return "$row[firstname] $row[surname] $row[level] [mail][photo]";
}
}
public function printSubList($list) {
echo '';
if ($list) {
echo '
Vos inscriptions
';
$week = '';
foreach ($list as $row) {
if ($row['week'] != $week) {
$week = $row['week'];
echo "
".$this->printWeek($row)."
";
}
echo '
';
// If student has been validated
if ($row['validation']) {
echo "[validé] ";
}
else {
// If it has not been validated and subscription are still opened
if ($this->isActive()) {
$msg = 'désinscription';
}
// If it has not been validated and subscription are closed
else {
echo "[liste d'attente] ";
$msg = 'annulation';
}
echo "[$msg] ";
}
echo $this->printApi($row);
echo '
';
}
}
else {
echo '
Aucune inscription
';
}
}
public function printApiList($list) {
echo '';
if ($list) {
echo '
Liste des Api
';
$week = '';
foreach ($list as $api) {
if ($api['week'] != $week) {
$week = $api['week'];
echo "
';
}
}
public function respValidation ($listsub) {
// #KNOWN_BUG Si un resp a plusieurs Api, il peut changer un inscrit entre ses deux Api en modifiant l'URL (pas via l'interface)
echo '
Interface Responsable d\'Api
';
echo '';
echo '
Rappel
';
echo '
';
echo '
La validation d\'une inscription entraîne la confirmation de l\'ouverture de l\'Api.
';
echo '
Toute inscription validée ou déclinée est irréversible.
';
echo '
';
if ($listsub) {
$api = '';
foreach ($listsub as $sub) {
if ($api != $sub['id']) {
$api = $sub['id'];
echo '';
echo "
";
}
else {
// validation = FALSE lignes ignored
}
}
else {
// Not yet any subscription for this Api (LEFT JOIN might have add null student line)
echo "
Aucune inscription à gérer
";
}
}
}
else {
echo "
Aucune Api à gérer
";
}
}
public function apiStudents($students) {
echo "";
if (isset($students[0])) {
// Api Title
echo '
'.$this->printApi($students[0]).'
';
// Api mailing list
$mailinglist='mailto:';
foreach ($students as $s) {
$mailinglist = $mailinglist."$s[email],";
}
// Api CSV data (for JavaScript function)
echo "";
// Api Menu
echo "