Commit 4fc3e399 authored by Stephane Crozat's avatar Stephane Crozat
Browse files

Adding subscription enabling/disabling function

parent a1866e4c
# Create user and db
DROP USER apisub; DROP USER apisub;
CREATE USER apisub WITH ENCRYPTED PASSWORD 'password'; CREATE USER apisub WITH ENCRYPTED PASSWORD 'password';
DROP DATABASE apisub; DROP DATABASE apisub;
CREATE DATABASE apisub; CREATE DATABASE apisub WITH OWNER apisub;
GRANT ALL PRIVILEGES ON DATABASE apisub TO apisub;
# Connect
psql -h localhost -U apisub -d apisub
# PHP # PHP
On Ubuntu, add XML lib to PHP On Ubuntu, add XML lib to PHP
......
# Documentation
## Configuration
### `lib/config.php`
Set IS_ACTIVE to `false` to disable subscription (and unsubscription).
...@@ -24,8 +24,9 @@ if (!isset($_SESSION['ticket'])) { ...@@ -24,8 +24,9 @@ if (!isset($_SESSION['ticket'])) {
$_SESSION['localcopy'] = true; //call localcopy once per session $_SESSION['localcopy'] = true; //call localcopy once per session
} }
include $_SERVER['DOCUMENT_ROOT'].'/apisub/lib/db.php'; include 'lib/db.php';
include 'lib/views.php'; include 'lib/views.php';
include 'lib/config.php';
$db = new DB(); $db = new DB();
if ($_SESSION['localcopy']) { if ($_SESSION['localcopy']) {
......
<?php
const IS_ACTIVE = true;
class Config {
public static function isActive() {
return IS_ACTIVE;
}
}
...@@ -2,26 +2,30 @@ ...@@ -2,26 +2,30 @@
class Views { class Views {
public static function isActive() {
return Config::isActive();
}
public static function printHtmlBegin() { public static function printHtmlBegin() {
echo '<html>'; echo '<html>';
echo '<head>'; echo '<head>';
echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>'; echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>';
echo '<title>Api Sub</title>'; echo '<title>Api Sub</title>';
echo '<link href="css/main.css" type="text/css" rel="stylesheet"/>'; echo '<link href="css/main.css" type="text/css" rel="stylesheet"/>';
echo '</head>'; echo '</head>';
echo '<body>'; echo '<body>';
echo '<h1>Inscriptions Api</h1>'; echo '<h1>Inscriptions Api</h1>';
} }
public static function printInstructions() { public static function printInstructions() {
echo '<h2>Instructions</h2>'; echo '<h2>Instructions</h2>';
echo '<p>Les Api sont décrites ici : <b><a href="https://apint.utc.fr/cat">https://apint.utc.fr/cat</a></b></p>'; echo '<p>Les Api sont décrites ici : <b><a href="https://apint.utc.fr/cat">https://apint.utc.fr/cat</a></b></p>';
echo '<p>Veillez à avoir bien lu la fiche avant de vous inscrire (pré-requis, dates...). Vous pouvez vous inscrire et vous désinscrire librement jusqu\'au 10 décembre 2018.</p>'; echo '<p>Veillez à avoir bien lu la fiche avant de vous inscrire (pré-requis, dates...). Vous pouvez vous inscrire et vous désinscrire librement jusqu\'au 10 décembre 2018 (20h).</p>';
echo '<p>Vous ne <b>pouvez pas</b> suivre deux Api qui se chevauchent (sauf pour le cas particulier de l\'Api <i>Animer une Api</i>). Si vous choisissez deux Api qui se chevauchent, indiquez vos préférences dans la zone de commentaire.</p>'; echo '<p>Vous ne <b>pouvez pas</b> suivre deux Api qui se chevauchent (sauf pour le cas particulier de l\'Api <i>Animer une Api</i>). Si vous choisissez deux Api qui se chevauchent, indiquez vos préférences dans la zone de commentaire.</p>';
} }
public static function printUser($utclogin, $surname, $firstname) { public static function printUser($utclogin, $surname, $firstname) {
echo '<p><i>'.$firstname.' '. $surname.'</i> (<b>'.$utclogin.'</b>)</p>'; echo '<p><i>'.$firstname.' '. $surname.'</i> (<b>'.$utclogin.'</b>)</p>';
} }
private static function printApi($row) { private static function printApi($row) {
...@@ -29,43 +33,53 @@ class Views { ...@@ -29,43 +33,53 @@ class Views {
} }
public static function printSubList($list, $utclogin) { public static function printSubList($list, $utclogin) {
if ($list) { if ($list) {
echo '<h2>Vos inscriptions</h2>'; echo '<h2>Vos inscriptions</h2>';
foreach ($list as $row) { foreach ($list as $row) {
echo '<p>'; echo '<p>';
echo ' <a href="index.php?action=unsub&api='.$row['code'].'&utclogin='.$utclogin.'">[désinscription]</a> '; if (Views::isActive()) {
echo Views::printApi($row); echo ' <a href="index.php?action=unsub&api='.$row['code'].'&utclogin='.$utclogin.'">[désinscription]</a> ';
echo ' ['.$row['semester'].$row['year'].', inscrit le '.$row['subdate'].']'; }
echo '</p>'; echo Views::printApi($row);
} echo ' ['.$row['semester'].$row['year'].', inscrit le '.$row['subdate'].']';
} echo '</p>';
else { }
echo '<h2>Aucune inscription</h2>'; }
} else {
} echo '<h2>Aucune inscription</h2>';
}
}
public static function printExplanation($comment, $utclogin) { public static function printExplanation($comment, $utclogin) {
echo '<h2>Commentaire</h2>'; if (Views::isActive()) {
echo '<form method="get" action="index.php">'; echo '<h2>Commentaire</h2>';
echo '<textarea name="explanation" cols="100" rows="5">'.$comment.'</textarea>'; echo '<form method="get" action="index.php">';
echo '<br/>'; echo '<textarea name="explanation" cols="100" rows="5">'.$comment.'</textarea>';
echo '<input type="submit" value="Enregistrer le commentaire"/>'; echo '<br/>';
echo '</form>'; echo '<input type="submit" value="Enregistrer le commentaire"/>';
echo '</form>';
}
else {
echo '<h2>Commentaire</h2>';
echo '<p>'.$comment.'</p>';
}
} }
public static function printApiList($list, $utclogin) { public static function printApiList($list, $utclogin) {
if ($list) { if ($list) {
echo '<h2>Liste des Api</h2>'; echo '<h2>Liste des Api</h2>';
foreach ($list as $row) { foreach ($list as $row) {
echo '<p>'; echo '<p>';
echo '<a href="index.php?action=sub&api='.$row['code'].'&utclogin='.$utclogin.'">[inscription]</a> '; if (Views::isActive()) {
echo Views::printApi($row); echo '<a href="index.php?action=sub&api='.$row['code'].'&utclogin='.$utclogin.'">[inscription]</a> ';
echo '</p>'; }
} echo Views::printApi($row);
} echo '</p>';
else { }
echo '<h2>Aucune Api</h2>'; }
} else {
} echo '<h2>Aucune Api</h2>';
}
}
} }
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment