Feature/hidden and private polls
**Added an option for the poll's hidden results**
- At poll creation, a new checkbox is added to hide the results
- At poll visualization, results are hidden if option is activated
- At poll edition by the poll maker, the hidden option can be changed
**Added a new edition option**
- At poll creation, we can choose between "no user modification" and "all users can modify every vote" like before. But we can now also select "each vote can be modified by its owner"
- This edition option is also available for the poll maker in the poll administration interface
- When a user votes with this new option activated, an edition link is displayed to him : only this link can allow the user to modify its vote.
- This functionality will be useful to create "private polls" later.
**Side work**
- The token generation is now safer, with fallback to unsafe version if the php functions are not available
- An anchor is added to the edit link, to scroll down to the current line that the user is editing
- Commited composer.lock (good practice)
- Added the root htaccess.txt to keep the CLEAN_URL format updated
- The Message class can now contain a link (only displayed in studs.php where I needed it)
See merge request !45
- Also added Framadate\Message à link attribute
- Added local anchor #edit with vote edition
- For now, when the poll owner check the new edit option (ie: "Votes are editable solely by their owner"), users get their update link on vote creation
Fix: date picker that doesn't appear when clicking on calendar icon
Move JS code about date picker from `js/app/core.js` to `js/app/framadatepicker.js`
See merge request !43
- Changed the smarty modifier poll_url to a function and added the vote_id parameter
- Modified accordingly all poll_url occurence in templates
- Added htaccess.txt to be sure to keep poll's URL changes up to date
- Escaped some templates output in order to avoid to broke HTML
- Using vote's uniqId instead of vote's id when it's needed
Added javascript name checking to avoid losing the choices with a bad name
Added a checking on form submit :
- It cancel form submission if name is empty or doesn't respect the constant NAME_REGEX
- If the submission is cancelled, it show the error (as a submit would do)
Also added a "header" smarty block in header.tpl, to allow pages which inherit page.tpl to add specific scripts or css.
See merge request !40
Quelques corrections de bugs
J'ai essayé de faire 1 commit (ou 2) par correction, pour essayer de rendre le truc lisible.
---
**Fixes :**
* Afficher un message sur infos_sondage.php si l'utilisateur n'autorise pas **les cookies**
* Afficher un message sur infos_sondage.php si l'utilisateur n'autorise pas **Javascript**
* Problème quand le nom de domaine commence par **admin**
**Technique :**
* Début de découpage de *core.js* en plusieurs *.js* se trouvant dans **js/app/**
* Début de rédaction du CHANGELOG pour la version 0.9
See merge request !37
Travail sur README.md
J'ai sorti quelques infos du fichier **README.md**. Tout ce qui concernait de la doc technique se trouve dans un dossier **doc**.
J'ai également ajouté un chapitre **Comment contribuer**, et réorganisé les différentes parties de README.md pour garder les informations importantes en tête de page.
See merge request !38