From 77234edc82a34cec19c83a573d76fb4985df7cb8 Mon Sep 17 00:00:00 2001 From: Olivier PEREZ <olivier@olivierperez.fr> Date: Wed, 8 Apr 2015 21:52:09 +0200 Subject: [PATCH] Add page where the users can ask to receive their polls by mail --- .../Framadate/Repositories/PollRepository.php | 13 ++++ .../Framadate/Services/MailService.php | 4 +- .../Framadate/Services/PollService.php | 4 ++ app/inc/config.template.php | 2 +- find_polls.php | 58 ++++++++++++++++++ images/question.png | Bin 0 -> 9757 bytes locale/de.json | 22 ++++--- locale/en.json | 14 ++++- locale/es.json | 14 ++++- locale/fr.json | 14 ++++- tpl/find_polls.tpl | 25 ++++++++ tpl/index.tpl | 12 ++++ tpl/mail/find_polls.tpl | 9 +++ 13 files changed, 172 insertions(+), 19 deletions(-) create mode 100644 find_polls.php create mode 100644 images/question.png create mode 100644 tpl/find_polls.tpl create mode 100644 tpl/mail/find_polls.tpl diff --git a/app/classes/Framadate/Repositories/PollRepository.php b/app/classes/Framadate/Repositories/PollRepository.php index b8e913b3..1771b3d4 100644 --- a/app/classes/Framadate/Repositories/PollRepository.php +++ b/app/classes/Framadate/Repositories/PollRepository.php @@ -90,6 +90,19 @@ SELECT p.*, return $prepared->fetchAll(); } + /** + * Find all polls that are created with the given admin mail. + * + * @param string $mail Email address of the poll admin + * @return array The list of matching polls + */ + public function findAllByAdminMail($mail) { + $prepared = $this->prepare('SELECT * FROM `' . Utils::table('poll') . '` WHERE admin_mail = :admin_mail'); + $prepared->execute(array('admin_mail' => $mail)); + + return $prepared->fetchAll(); + } + /** * Get the total number of polls in databse. * diff --git a/app/classes/Framadate/Services/MailService.php b/app/classes/Framadate/Services/MailService.php index 3095869b..3c445ec8 100644 --- a/app/classes/Framadate/Services/MailService.php +++ b/app/classes/Framadate/Services/MailService.php @@ -34,12 +34,12 @@ class MailService { $headers = $from; $headers .= 'Reply-To: ' . ADRESSEMAILREPONSEAUTO . "\n"; $headers .= "MIME-Version: 1.0\n"; - $headers .= "Content-Type: text/plain; charset=UTF-8\n"; + $headers .= "Content-Type: text/html; charset=UTF-8\n"; $headers .= "Content-Transfer-Encoding: 8bit\n"; $headers .= "Auto-Submitted:auto-generated\n"; $headers .= 'Return-Path: <>'; - $body = html_entity_decode($body, ENT_QUOTES, 'UTF-8') . __('Mail', "\n--\n\n« La route est longue, mais la voie est libre… »\nFramasoft ne vit que par vos dons (déductibles des impôts).\nMerci d'avance pour votre soutien http://soutenir.framasoft.org."); + $body = html_entity_decode($body, ENT_QUOTES, 'UTF-8') . __('Mail', 'FOOTER'); mail($to, $subject, $body, $headers, $param); } diff --git a/app/classes/Framadate/Services/PollService.php b/app/classes/Framadate/Services/PollService.php index 93205b3b..e28d258d 100644 --- a/app/classes/Framadate/Services/PollService.php +++ b/app/classes/Framadate/Services/PollService.php @@ -112,6 +112,10 @@ class PollService { return array($poll_id, $admin_poll_id); } + public function findAllByAdminMail($mail) { + return $this->pollRepository->findAllByAdminMail($mail); + } + function computeBestChoices($votes) { $result = []; foreach ($votes as $vote) { diff --git a/app/inc/config.template.php b/app/inc/config.template.php index d1208ebf..d0eaeb98 100644 --- a/app/inc/config.template.php +++ b/app/inc/config.template.php @@ -42,7 +42,7 @@ const MIGRATION_TABLE = 'framadate_migration'; const TABLENAME_PREFIX = 'fd_'; // Default Language using POSIX variant of BC P47 standard (choose in $ALLOWED_LANGUAGES) -const DEFAULT_LANGUAGE = 'fr_FR'; +const DEFAULT_LANGUAGE = 'fr'; // List of supported languages, fake constant as arrays can be used as constants only in PHP >=5.6 $ALLOWED_LANGUAGES = [ diff --git a/find_polls.php b/find_polls.php new file mode 100644 index 00000000..c1d6add0 --- /dev/null +++ b/find_polls.php @@ -0,0 +1,58 @@ +<?php +/** + * This software is governed by the CeCILL-B license. If a copy of this license + * is not distributed with this file, you can obtain one at + * http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.txt + * + * Authors of STUdS (initial project): Guilhem BORGHESI (borghesi@unistra.fr) and Raphaël DROZ + * Authors of Framadate/OpenSondate: Framasoft (https://github.com/framasoft) + * + * ============================= + * + * Ce logiciel est régi par la licence CeCILL-B. Si une copie de cette licence + * ne se trouve pas avec ce fichier vous pouvez l'obtenir sur + * http://www.cecill.info/licences/Licence_CeCILL-B_V1-fr.txt + * + * Auteurs de STUdS (projet initial) : Guilhem BORGHESI (borghesi@unistra.fr) et Raphaël DROZ + * Auteurs de Framadate/OpenSondage : Framasoft (https://github.com/framasoft) + */ + +use Framadate\Message; +use Framadate\Services\PollService; + +include_once __DIR__ . '/app/inc/init.php'; + +/* SERVICES */ +/* -------- */ +$logService = '\Framadate\Services\LogService'; +$pollService = new PollService($connect, new $logService()); +$mailService = new \Framadate\Services\MailService($config['use_smtp']); + +/* PAGE */ +/* ---- */ +$message = null; + +if (!empty($_POST['mail'])) { + $mail = filter_input(INPUT_POST, 'mail', FILTER_VALIDATE_EMAIL); + if ($mail) { + $polls = $pollService->findAllByAdminMail($mail); + + if (count($polls) > 0) { + $smarty->assign('polls', $polls); + $body = $smarty->fetch('mail/find_polls.tpl'); + + $mailService->send($mail, __('Homepage', 'Where are my polls'), $body); + $message = new Message('success', __('FindPolls', 'Polls sent')); + } else { + $message = new Message('warning', __('Error', 'No polls found')); + } + } else { + $message = new Message('danger', __('Error', 'Something is wrong with the format')); + } +} + + +$smarty->assign('title', __('Homepage', 'Where are my polls')); +$smarty->assign('message', $message); + +$smarty->display('find_polls.tpl'); diff --git a/images/question.png b/images/question.png new file mode 100644 index 0000000000000000000000000000000000000000..73d1d94803366747773dd6e0a1f9e5fc6201cbcb GIT binary patch literal 9757 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 VreR7G{2>=aU&mOx__{;b{{hO-bbtT= literal 0 HcmV?d00001 diff --git a/locale/de.json b/locale/de.json index 4d3f3a27..8f685163 100644 --- a/locale/de.json +++ b/locale/de.json @@ -35,7 +35,8 @@ "seconds": "Sekunden", "Choice": "Wahl", "Link": "Link", - "Search": "Suche" + "Search": "Suche", + "Creation date:": "Erstellungsdatum:" }, "Date": { "dd/mm/yyyy": "jj/mm/aaaa", @@ -52,7 +53,8 @@ }, "Homepage": { "Schedule an event": "Termin finden", - "Make a classic poll": "Klassische Umfrage" + "Make a classic poll": "Klassische Umfrage", + "Where are my polls": "Wo sind meine Umfragen" }, "Maintenance": { "The application": "die Anwendung", @@ -116,12 +118,12 @@ "Votes and comments are locked": "Abstimmungen und Kommentare sind gesperrt", "Votes and comments are open": "Abstimmungen und Kommentare sind möglich", "Votes are editable": "Die Abstimmungen können geändert werden", - "Votes are editable solely by their owner.": "DE_Les votes sont modifiables uniquement par leur créateur", + "Votes are editable solely by their owner.": "Stimmen sind nur editierbar von ihrem Eigentümer", "Save the new rules": "Neue Regeln speichern", "Cancel the rules edit": "Neue Regeln nicht speichern", "The name is invalid.": "Der Name ist ungültig.", - "Results are hidden.": "DE_Les résultats sont cachés.", - "Results are visible.": "DE_Les résultats sont visibles." + "Results are hidden.": "Ergebnisse werden ausgeblendet.", + "Results are visible.": "Ergebnisse sind sichtbar." }, "Poll results": { "Votes of the poll": "Abstimmungen der Umfrage ", @@ -279,13 +281,18 @@ "polls in the database at this time": "Umfragen derzeit in der Datenbank", "Purge the polls": "TRANSLATE_ Purge the polls" }, + "FindPolls": { + "Here are your polls": "Hier sind Ihre Umfragen", + "Send me my polls": "Senden Sie mir mein Umfragen", + "Polls sent": "Umfragen geschickt" + }, "Mail": { "Poll's participation": "Beteiligung an der Umfrage", "filled a vote.\nYou can find your poll at the link": "füllte eine Stimme.\nSie können Ihre Umfrage unter dem Link zu finden", "updated a vote.\nYou can find your poll at the link": "eine Abstimmung regelmäßig aktualisiert.\nSie können Ihre Umfrage unter dem Link zu finden", "wrote a comment.\nYou can find your poll at the link": "hat einen Kommentar. Sie können Ihre Umfrage unter dem Link zu finden", "Thanks for your confidence.": "Danke für Ihr Vertrauen.", - "\n--\n\n« La route est longue, mais la voie est libre… »\nFramasoft ne vit que par vos dons (déductibles des impôts).\nMerci d'avance pour votre soutien http://soutenir.framasoft.org.": "", + "FOOTER": "", "[ADMINISTRATOR] New settings for your poll": "[ADMINISTRATOR] Neue Einstellungen für Ihre Umfrage ", "You have changed the settings of your poll. \nYou can modify this poll with this link": "Sie haben die Einstellungen Ihrer Umfrage verändert.\nSie können diese Umfrage mit diesem Link ändern", "This is the message you have to send to the people you want to poll. \nNow, you have to send this message to everyone you want to poll.": "Dies ist die Botschaft, die Sie zu den Menschen, die Sie abfragen möchten senden.\nNun haben Sie diese Nachricht an alle, die Sie abfragen möchten senden.", @@ -302,6 +309,7 @@ "Something is wrong with the format": "Something is wrong with the format", "Enter an email address": "Sie müssen eine E-Mail-Adresse eingeben", "The address is not correct! You should enter a valid email address (like r.stallman@outlock.com) in order to receive the link to your poll.": "Die Adresse ist nicht korrekt! Sie sollten eine funktionierende E-Mail-Adresse angeben, um den Link zu ihrer Umfrage zu erhalten", + "No polls found": "Keine Umfragen gefunden", "There is a problem with your choices": "Es gibt ein Problem mit der Auswahl", "You haven't filled the first section of the poll creation.": "Sie haben den ersten Teil der Umfrageerstellung nicht ausgefüllt.", "Javascript is disabled on your browser. Its activation is required to create a poll.": "Javascript ist in Ihrem Browser deaktiviert. Seine Aktivierung ist erforderlich, um eine Umfrage zu erstellen.", @@ -317,6 +325,6 @@ "Update vote failed": "Update vote failed", "Adding vote failed": "Adding vote failed", "Comment failed": "Kommentar gescheitert", - "You can't create a poll with hidden results with the following edition option:": "DE_Vous ne pouvez pas créer de sondage avec résulats cachés avec les options d'éditions suivantes : " + "You can't create a poll with hidden results with the following edition option:": "Sie können nicht eine Umfrage erstellen mit versteckten Ergebnisse mit der folgenden Ausgabe-Option:" } } diff --git a/locale/en.json b/locale/en.json index c736ec9b..17dea170 100644 --- a/locale/en.json +++ b/locale/en.json @@ -35,7 +35,8 @@ "seconds": "seconds", "Choice": "Choice", "Link": "Link", - "Search": "Search" + "Search": "Search", + "Creation date:": "Creation date:" }, "Date" : { "dd/mm/yyyy": "jj/mm/aaaa", @@ -48,7 +49,8 @@ }, "Language selector": { "Select the language": "Select the language", - "Change the language": "Change the language" + "Change the language": "Change the language", + "Where are my polls": "Where are my polls" }, "Maintenance": { "The application": "The application", @@ -279,13 +281,18 @@ "polls in the database at this time": "polls in the database at this time", "Purge the polls": "Purge the polls" }, + "FindPolls": { + "Here are your polls": "Here are your polls", + "Send me my polls": "Send me my polls", + "Polls sent": "Polls sent" + }, "Mail" : { "Poll's participation": "Poll's participation", "filled a vote.\nYou can find your poll at the link": "filled a vote.\nYou can find your poll at the link", "updated a vote.\nYou can find your poll at the link": "updated a vote.\nYou can find your poll at the link", "wrote a comment.\nYou can find your poll at the link": "wrote a comment.\nYou can find your poll at the link", "Thanks for your confidence.": "Thanks for your confidence.", - "\n--\n\n« La route est longue, mais la voie est libre… »\nFramasoft ne vit que par vos dons (déductibles des impôts).\nMerci d'avance pour votre soutien http://soutenir.framasoft.org.": "\n\n\n\n", + "FOOTER": "", "[ADMINISTRATOR] New settings for your poll": "[ADMINISTRATOR] New settings for your poll", "You have changed the settings of your poll. \nYou can modify this poll with this link": "You have changed the settings of your poll. \nYou can modify this poll with this link", "This is the message you have to send to the people you want to poll. \nNow, you have to send this message to everyone you want to poll.":"This is the message you have to send to the people you want to poll. \nNow, you have to send this message to everyone you want to poll.", @@ -302,6 +309,7 @@ "Something is wrong with the format": "Something is wrong with the format", "Enter an email address": "Enter an email address", "The address is not correct! You should enter a valid email address (like r.stallman@outlock.com) in order to receive the link to your poll.": "The address is not correct! You should enter a valid email address (like r.stallman@outlock.com) in order to receive the link to your poll.", + "No polls found": "No polls found", "There is a problem with your choices": "There is a problem with your choices", "You haven't filled the first section of the poll creation.": "You haven't filled the first section of the poll creation.", "Javascript is disabled on your browser. Its activation is required to create a poll.": "Javascript is disabled on your browser. Its activation is required to create a poll.", diff --git a/locale/es.json b/locale/es.json index 84189b62..d229f472 100644 --- a/locale/es.json +++ b/locale/es.json @@ -35,7 +35,8 @@ "seconds": "ES_secondes", "Choice": "Opciòn", "Link": "ES_Lien", - "Search": "Búsqueda" + "Search": "Búsqueda", + "Creation date:": "ES_Date de création :" }, "Date": { "dd/mm/yyyy": "ES_jj/mm/aaaa", @@ -52,7 +53,8 @@ }, "Homepage": { "Schedule an event": "Encuesta para planificar un evento", - "Make a classic poll": "ES_Créer un sondage classique" + "Make a classic poll": "ES_Créer un sondage classique", + "Where are my polls": "ES_Où sont mes sondages" }, "Maintenance": { "The application": "ES_L'application", @@ -279,13 +281,18 @@ "polls in the database at this time": "encuestas en la basa por el momento", "Purge the polls": "ES_Purger les sondages" }, + "FindPolls": { + "Here are your polls": "ES_Voici tes sondages", + "Send me my polls": "ES_Envoyer mes sondages", + "Polls sent": "ES_Sondages envoyés" + }, "Mail": { "Poll's participation": "ES_Participation au sondage", "filled a vote.\nYou can find your poll at the link": "ES_vient de voter.\nVous pouvez retrouver votre sondage avec le lien suivant", "updated a vote.\nYou can find your poll at the link": "ES_vient de mettre à jour un vote.\nVous pouvez retrouver votre sondage avec le lien suivant", "wrote a comment.\nYou can find your poll at the link": "ES_vient de rédiger un commentaire.\nVous pouvez retrouver votre sondage avec le lien suivant", "Thanks for your confidence.": "ES_Merci de votre confiance.", - "\n--\n\n« La route est longue, mais la voie est libre… »\nFramasoft ne vit que par vos dons (déductibles des impôts).\nMerci d'avance pour votre soutien http://soutenir.framasoft.org.": "ES_\n--\n\n« La route est longue, mais la voie est libre… »\nFramasoft ne vit que par vos dons (déductibles des impôts).\nMerci d'avance pour votre soutien http://soutenir.framasoft.org.", + "FOOTER": "", "[ADMINISTRATOR] New settings for your poll": "ES_[ADMINISTRATEUR] Changement de configuration du sondage", "You have changed the settings of your poll. \nYou can modify this poll with this link": "ES_Vous avez modifié la configuration de votre sondage. \nVous pouvez modifier ce sondage avec le lien suivant", "This is the message you have to send to the people you want to poll. \nNow, you have to send this message to everyone you want to poll.": "ES_Ceci est le message qui doit être envoyé aux sondés. \nVous pouvez maintenant transmettre ce message à toutes les personnes susceptibles de participer au vote.", @@ -302,6 +309,7 @@ "Something is wrong with the format": "Something is wrong with the format", "Enter an email address": "Introduzca una dirección electrónica", "The address is not correct! You should enter a valid email address (like r.stallman@outlock.com) in order to receive the link to your poll.": "ES_L'adresse saisie n'est pas correcte ! Il faut une adresse électronique valide (par exemple r.stallman@outlock.com) pour recevoir le lien vers le sondage.", + "No polls found": "ES_Aucun sondage n'a été trouvé", "There is a problem with your choices": "ES_Il y a un problème avec vos choix", "You haven't filled the first section of the poll creation.": "Usted no habia llenado la primera pagina dela encuesta", "Javascript is disabled on your browser. Its activation is required to create a poll.": "ES_Javascript est désactivé sur votre navigateur. Son activation est requise pour la création d'un sondage.", diff --git a/locale/fr.json b/locale/fr.json index eef8aea9..19a73b00 100644 --- a/locale/fr.json +++ b/locale/fr.json @@ -35,7 +35,8 @@ "seconds": "secondes", "Choice": "Choix", "Link": "Lien", - "Search": "Chercher" + "Search": "Chercher", + "Creation date:": "Date de création :" }, "Date": { "dd/mm/yyyy": "jj/mm/aaaa", @@ -52,7 +53,8 @@ }, "Homepage": { "Schedule an event": "Créer un sondage spécial dates", - "Make a classic poll": "Créer un sondage classique" + "Make a classic poll": "Créer un sondage classique", + "Where are my polls": "Où sont mes sondages" }, "Maintenance": { "The application": "L'application", @@ -279,13 +281,18 @@ "polls in the database at this time": "sondages dans la base actuellement", "Purge the polls": "Purger les sondages" }, + "FindPolls": { + "Here are your polls": "Voici tes sondages", + "Send me my polls": "Envoyer mes sondages", + "Polls sent": "Sondages envoyés" + }, "Mail": { "Poll's participation": "Participation au sondage", "filled a vote.\nYou can find your poll at the link": "vient de voter.\nVous pouvez retrouver votre sondage avec le lien suivant", "updated a vote.\nYou can find your poll at the link": "vient de mettre à jour un vote.\nVous pouvez retrouver votre sondage avec le lien suivant", "wrote a comment.\nYou can find your poll at the link": "vient de rédiger un commentaire.\nVous pouvez retrouver votre sondage avec le lien suivant", "Thanks for your confidence.": "Merci de votre confiance.", - "\n--\n\n« La route est longue, mais la voie est libre… »\nFramasoft ne vit que par vos dons (déductibles des impôts).\nMerci d'avance pour votre soutien http://soutenir.framasoft.org.": "\n--\n\n« La route est longue, mais la voie est libre… »\nFramasoft ne vit que par vos dons (déductibles des impôts).\nMerci d'avance pour votre soutien http://soutenir.framasoft.org.", + "FOOTER": "<hr/><br/>« La route est longue, mais la voie est libre… »<br/>Framasoft ne vit que par vos dons (déductibles des impôts).<br/>Merci d'avance pour votre soutien http://soutenir.framasoft.org.", "[ADMINISTRATOR] New settings for your poll": "[ADMINISTRATEUR] Changement de configuration du sondage", "You have changed the settings of your poll. \nYou can modify this poll with this link": "Vous avez modifié la configuration de votre sondage. \nVous pouvez modifier ce sondage avec le lien suivant", "This is the message you have to send to the people you want to poll. \nNow, you have to send this message to everyone you want to poll.": "Ceci est le message qui doit être envoyé aux sondés. \nVous pouvez maintenant transmettre ce message à toutes les personnes susceptibles de participer au vote.", @@ -302,6 +309,7 @@ "Something is wrong with the format": "Quelque chose ne va pas avec le format", "Enter an email address": "Il faut saisir une adresse électronique !", "The address is not correct! You should enter a valid email address (like r.stallman@outlock.com) in order to receive the link to your poll.": "L'adresse saisie n'est pas correcte ! Il faut une adresse électronique valide (par exemple r.stallman@outlock.com) pour recevoir le lien vers le sondage.", + "No polls found": "Aucun sondage n'a été trouvé", "There is a problem with your choices": "Il y a un problème avec vos choix", "You haven't filled the first section of the poll creation.": "Vous n'avez pas renseigné la première page du sondage", "Javascript is disabled on your browser. Its activation is required to create a poll.": "Javascript est désactivé sur votre navigateur. Son activation est requise pour la création d'un sondage.", diff --git a/tpl/find_polls.tpl b/tpl/find_polls.tpl new file mode 100644 index 00000000..33c1b531 --- /dev/null +++ b/tpl/find_polls.tpl @@ -0,0 +1,25 @@ +{extends file='page.tpl'} + +{block name=main} + {if !empty($message)} + <div class="alert alert-dismissible alert-{$message->type|html}" role="alert">{$message->message|html}{if $message->link != null}<br/><a href="{$message->link}">{$message->link}</a>{/if}<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button></div> + {/if} + <form action="" method="post"> + <div class="row"> + <div class="col-md-6 col-md-offset-3 text-center"> + <div class="form-group"> + <div class="input-group"> + <label for="mail" class="input-group-addon">{__('Generic', 'Your email address')}</label> + <input type="email" class="form-control" id="mail" name="mail" autofocus> + </div> + </div> + </div> + <div class="col-md-6 col-md-offset-3 text-center"> + <button type="submit" class="btn btn-warning btn-lg"> + <span class="glyphicon glyphicon-search"></span> + {__('FindPolls', 'Send me my polls')} + </button> + </div> + </div> + </form> +{/block} diff --git a/tpl/index.tpl b/tpl/index.tpl index c7b20a5b..815938c2 100644 --- a/tpl/index.tpl +++ b/tpl/index.tpl @@ -26,6 +26,18 @@ </a> </p> </div> + <div class="col-md-6 col-md-offset-3 text-center"> + <p class="home-choice"> + <a href="{$SERVER_URL}find_polls.php" class="opacity" role="button"> + <img alt="" class="img-responsive center-block" src="{'images/question.png'|resource}"/> + <br/> + <span class="btn btn-warning btn-lg"> + <span class="glyphicon glyphicon-search"></span> + {__('Homepage', 'Where are my polls')} + </span> + </a> + </p> + </div> </div> <hr role="presentation"/> <div class="row"> diff --git a/tpl/mail/find_polls.tpl b/tpl/mail/find_polls.tpl new file mode 100644 index 00000000..478561b0 --- /dev/null +++ b/tpl/mail/find_polls.tpl @@ -0,0 +1,9 @@ +<h1>{__('FindPolls', 'Here are your polls')}</h1> +<ul> + {foreach $polls as $poll} + <li> + <a href="{poll_url id=$poll->admin_id admin=true}">{$poll->title|html}</a> + ({__('Generic', 'Creation date:')} {$poll->creation_date|date_format:$date_format['txt_full']}) + </li> + {/foreach} +</ul> \ No newline at end of file -- GitLab