V1.008 rectifiée Evolution des paramétrages de l'écran de fond

This commit is contained in:
2026-09-03 08:26:01 +00:00
parent d5be94c4d8
commit 95c8411a35
+38
View File
@@ -105,6 +105,25 @@ function comparerDateNullEnPremier(?string $a, ?string $b): int
return strcmp($a, $b);
}
/**
* Capacité maximale de post-its "en attente" affichables sur le tableau de
* liège de l'écran de fond, par attributaire (voir journal de développement,
* section 28 — "bureau à l'ancienne"). Ajoutée le 2 septembre 2026, en amont
* du code réel du tableau : Jean-Marc a posé le principe avant d'avoir les
* pixels pour le calculer précisément ("mets-le où tu veux, il faudra le
* faire évoluer") — valeur ronde provisoire, à corriger dès que la taille
* réelle de la zone et celle d'un post-it seront posées à l'écran.
*
* Choix de principe explicite de Jean-Marc : PAS d'ascenseur/défilement sur
* le tableau, même si ça permettrait d'accepter plus de post-its — un vrai
* bureau a une capacité finie, et c'est justement cette contrainte physique
* qui pousse à traiter ses tâches plutôt qu'à les empiler indéfiniment. Une
* fois cette capacité atteinte, la création est refusée avec un message
* clair (voir POST ci-dessous) plutôt que de trouver un moyen d'entasser
* plus de post-its ou de faire défiler le tableau.
*/
const CAPACITE_TABLEAU_PAR_UTILISATEUR = 20;
try {
switch ($method) {
case 'GET':
@@ -167,6 +186,25 @@ try {
$todoUser = $_SESSION['USR_Code'];
}
// Capacité du tableau (voir CAPACITE_TABLEAU_PAR_UTILISATEUR
// ci-dessus) : ne s'applique qu'aux tâches qui vont réellement
// occuper un post-it "en attente" sur le bureau de $todoUser.
// Une tâche créée déjà réalisée (TDL_RealDate fourni dès la
// création, voir doc d'en-tête — permet de journaliser une tâche
// déjà faite) n'occupe jamais de place sur le tableau, donc
// n'est jamais bloquée par cette limite.
if (empty($data['TDL_RealDate'])) {
$stmtCompte = $pdo->prepare(
'SELECT COUNT(*) FROM ASP_ToDoList WHERE TDL_Actif = 1 AND TDL_ToDoUser = ? AND TDL_RealDate IS NULL'
);
$stmtCompte->execute([$todoUser]);
if ((int)$stmtCompte->fetchColumn() >= CAPACITE_TABLEAU_PAR_UTILISATEUR) {
http_response_code(409);
echo json_encode(['error' => 'Ton tableau est plein, tu ne peux plus ajouter de post-it !']);
exit;
}
}
// TDL_ToDoDate : incluse dans l'INSERT seulement si fournie par le
// client (permet de dater rétroactivement une tâche oubliée) —
// sinon on laisse MySQL appliquer DEFAULT CURRENT_TIMESTAMP