Zephyr (./147) :
hum, en essayant de mettre de l'html à la place de mon adresse mail j'ai rendu l'appli inutilisable, désolé, faudrait virer le mec dont le mail est "<!--"
Euh, je sais pas ce qui l’a rendue inutilisable de ton côté, mais pour moi, j’ai pu virer les 2 mails avec HTML directement par l’interface.
Par contre, je n’avais effectivement pas pensé au HTML dans les mails/noms de candidats, et l’utilisation de trucs comme </body></html> donne de drôles de résultats (mais qui ne sont pas irréparables, même avec la seule interface Web).
Sally (./146) :
— ça se comporte bizarrement si je mets un nombre minimal de candidats à choisir supérieur au nombre maximal. Le résultat est toujours cohérent au sens où min <= max mais ça met un peu n'importe quoi (et j'ai pas de message d'erreur, c'est juste que les valeurs changent). Par ailleurs si je mets des nombres cohérents mais supérieurs au nombre actuel de candidats ils se retrouvent mis au nombre actuel de candidats (y compris pour le nombre max)... et ça ne change pas si je rajoute des candidats.
Si tu mets min>max, mais tous 2 dans la fourchette 0–max_candidats, ils sont juste échangés.
Quand au message d’erreur, j’ai préféré forcer les valeurs à des quantités valides plutôt que bombarder l’admin de messages d’erreur sans toucher à ses chiffres.
Mais je ne dis pas que c’est le meilleur choix…
En fait, la règle, c’est :
¤ les 2 valeurs entrées sont triés dans l’ordre
¤ la plus petite valeur est ramenée entre 0 et max_candidats
¤ la plus grande est ramenée entre 1 et max_candidats
Par contre, si tu as 5 candidats, que tu autorise 5 votes, et que tu ajoutes des candidats, il n’y a aucun moyen de décider si le max autorisé doit rester à 5 ou doit suivre : il faudrait ajouter un mot clé genre « max », pour dire que l’on suit le nombre de candidats.
Par contre, si on met plein de candidats, que l’on autorise un grand nombre de choix et que l’on redescend le nombre de candidats sous cette valeur, elle reste supérieure au nombre de candidats (du moins tant que l’on ne touche pas à l’« onglet » des paramètres).
Sally (./146) :
— si j'essaie de fixer la date d'ouverture dans le passé ça la met automatiquement dans 5 minutes (et le seul message que j'ai est attention ça commence dans moins de 30 minutes, je préférerais avoir attention vous avez entré n'importe quoi ^^)
— si j'essaie de fixer la date de clôture moins d'une heure après la date d'ouverture ça la met une heure après, mais si j'essaie de la fixer carrément dans le passé ça met la date d'ouverture dans 5 minutes et la date de clôture à 23 h 00 (pourquoi 23 h 00 ???)
Pareil qu’au-dessus : plutôt que balancer des fenêtre d’alerte, j’ai préféré recadrer les valeurs entrées pour qu’elles collent avec les règles.
Sally (./146) :
— plus gênant : si j'entre une date "invalide", par exemple en écrivant 0:00 au lieu de 00:00, ça se comporte exactement comme si j'avais mis une date passée ! (donc dans 5 minutes pour l'heure d'ouverture, et à 23 h 00 pour l'heure de clôture...) Et toujours seulement le même message me disant que l'ouverture est dans moins de 30 minutes
C’est un manque de documentation : si une date est invalide, elle devient « now » (puis la règle des 5 minutes + 1h est appliquée).
Sally (./146) :
(par ailleurs il n'est pas en rouge ni rien, bon il y a écrit Attention en gras certes mais... et puis il se peut que j'aie fait exprès de fixer l'heure de début dans moins d'une demi-heure, auquel cas ce message ne m'indique rien que je ne sache pas déjà et si je ne fais pas attention je ne vois pas que les dates ont été changées par rapport à ce que j'ai entré)
Hum, oui, j’ai peut-être fait une erreur en partant du principe que l’utilisateur revérifiera les valeurs entrées, et qu’il verra donc qu’elles sont modifiées automatiquement pour suivre les règles…
Et il y a aussi que ça commençait à me gonfler de copier-coller du <?php if(…):?><script type="text/javascript">alert(…);</script><?php endif;?> à tout bout de champ ^^"…
Bon, puisque j’ai le temps, je vais améliorer le bastringue au niveau de l’ergonomie, et aussi de la réutilisabilité du code (y’a encore des fichiers qui contiennent à la fois du code générique et du code spécifique au projet, c’est pas joli).