admin=$admin; $this->utclogin=$utclogin; $this->surname=$surname; $this->firstname=$firstname; } public function isActive() { return $this->admin->isActive(); } public function printHtmlBegin() { echo ''; echo ''; echo ''; echo 'Api Sub'; echo ''; echo ''; echo ''; echo '

Inscriptions aux Api

'; } public function printInstructions($row) { echo '

Instructions

'; echo '

Les Api sont décrites ici : https://apint.utc.fr/cat

'; echo "

Veillez à avoir bien lu la fiche avant de vous inscrire (pré-requis, dates...). Vous pouvez vous inscrire et vous désinscrire tant que votre inscription n'est pas validée.

"; echo "

La présence à une Api validée est obligatoire.

"; echo '

Vous ne pouvez pas suivre deux Api qui se déroulent lors de la même semaine (sauf pour le cas particulier de l\'Api Animer une Api). Si vous choisissez deux Api la même semaine, vous serez inscrit à la première qui sera validée.

'; } public function printUser($isResp, $isAdmin) { echo "

$this->firstname $this->surname ($this->utclogin)

"; if ($isResp) { echo '[Gérer ses Api] '; } if ($isAdmin) { echo '[Super-pouvoirs] '; } if ($isResp || $isAdmin) { echo '[Accueil]'; } } 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]"; } public function printSubList($list) { #KNOWN_BUB #TODO Il est possible de ses déinscrire en utilisant directement l'URL if ($list) { echo '

Vos inscriptions

'; $week = ''; foreach ($list as $row) { if ($row['week'] != $week) { $week = $row['week']; echo "

".$this->printWeek($row)."

"; } echo '

'; if ($this->isActive()) { if ($row['validation']) { echo "[validé] "; } else { echo "[désinscription] "; } } echo $this->printApi($row); echo ' ['.$row['semester'].$row['year'].', inscrit le '.$row['subdate'].']'; echo '

'; } } else { echo '

Aucune inscription

'; } } public function printApiList($list) { if ($list) { echo '

Liste des Api

'; $week = ''; foreach ($list as $row) { if ($row['week'] != $week) { $week = $row['week']; echo "

".$this->printWeek($row)."

"; } echo '

'; if ($this->isActive()) { if ($row['open'] && $row['is_available']) { echo "[inscription] "; } elseif (! $row['is_available']) { echo "[-] "; } else { echo '[complet] '; } } echo $this->printApi($row); echo '

'; } } else { echo '

Aucune Api

'; } } 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

'; if ($listsub) { $api = ''; foreach ($listsub as $sub) { if ($api != $sub['id']) { $api = $sub['id']; echo "

$sub[normcode] $sub[name] (Semaine $sub[week])

"; } if ($sub['utclogin']) { if ($sub['validation']) { // Subscription already validated echo "

[validé] $sub[utclogin]

"; } else if (is_null($sub['validation'])) { // At least one waiting subscription echo "

[valider] $sub[utclogin]

"; } 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 adminFunction ($utclogin) { echo "

Je dois vérifier que $utclogin a vraiment des super-pouvoirs...

"; } }