diff --git a/README.md b/README.md index e7df1378a2bb2850d500cddbf2dbfff7bb311d42..798b3de5fb463fa6907e9293c75e1b0d6c55972c 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,12 @@ +[](https://git.framasoft.org) + + **Framasoft uses GitLab** for the development of its free softwares. Our Github repositories are only mirrors. +If you want to work with us, **fork us on [git.framasoft.org](https://git.framasoft.org)**. (no registration needed, you can sign in with your Github account) + + **Framasoft utilise GitLab** pour le développement de ses logiciels libres. Nos dépôts Github ne sont que des mirroirs. +Si vous souhaitez travailler avec nous, **forkez-nous sur [git.framasoft.org](https://git.framasoft.org)**. (l'inscription n'est pas nécessaire, vous pouvez vous connecter avec votre compte Github) +* * * + Framadate est un fork du projet STUdS : https://sourcesup.cru.fr/projects/studs/ Framadate est le projet qui motorise framadate.org pour framasoft.org @@ -54,89 +63,89 @@ Fichiers de l'application ============================================================================= index.php - La page d'accueil de STUdS + La page d'accueil de STUdS studs.php - La page de présentation de sondage + La page de présentation de sondage adminstuds.php - La page d'administration réservée à l'auteur du sondage + La page d'administration réservée à l'auteur du sondage infos_sondage.php - La page (1/2) de création de sondage récupérant les informations générales + La page (1/2) de création de sondage récupérant les informations générales choix_date.php - La page de création (2/2) pour un sondage pour déterminer une date + La page de création (2/2) pour un sondage pour déterminer une date choix_autre.php - La page de création (2/2) pour un sondage sur un sujet quelconque + La page de création (2/2) pour un sondage sur un sujet quelconque creation_sondage.php - Le fichier qui récupérent les informations des pages précédentes pour procéder à l'insertion du nouveau sondage dans la base PostgreSQL + Le fichier qui récupérent les informations des pages précédentes pour procéder à l'insertion du nouveau sondage dans la base PostgreSQL style.css - Le fichier CSS de style pour toute l'application + Le fichier CSS de style pour toute l'application app/inc/constants.php - Le fichier contenant les constantes à changer en fonction de la machine locale + Le fichier contenant les constantes à changer en fonction de la machine locale app/inc/functions.php - Le fichier contenant quelques fonctions récurrentes de l'application + Le fichier contenant quelques fonctions récurrentes de l'application app/inc/i18n.php - Le fichier contenant quelques fonctions récurrentes de l'application relatives à l'internationalisation + Le fichier contenant quelques fonctions récurrentes de l'application relatives à l'internationalisation README - Ce fichier + Ce fichier INSTALL - Le fichier contenant les informations d'installation sur l'application + Le fichier contenant les informations d'installation sur l'application CHANGELOG - Le fichier contenant toutes les modifications de l'application entre les différentes versions + Le fichier contenant toutes les modifications de l'application entre les différentes versions contacts.php - La page permettant aux usagers de poser une question à l'administrateur de l'application + La page permettant aux usagers de poser une question à l'administrateur de l'application apropos.php - La page expliquant les détails techniques relatifs à l'application et les dernieres modifications et celles à venir sur l'application + La page expliquant les détails techniques relatifs à l'application et les dernieres modifications et celles à venir sur l'application bandeaux.php - Le fichier contenant tous les bandeaux des pages PHP de l'application + Le fichier contenant tous les bandeaux des pages PHP de l'application favicon.ico - L'icone de favoris de l'application + L'icone de favoris de l'application sources.php - La page qui propose les sources de l'application + La page qui propose les sources de l'application exportics.php - Le fichier d'export de la meilleure date au format iCAL (fichier .ICS) + Le fichier d'export de la meilleure date au format iCAL (fichier .ICS) exportcsv.php - Le fichier d'export de tous le tableau des participants avec leurs réponses dans un tableur (format .CSV) + Le fichier d'export de tous le tableau des participants avec leurs réponses dans un tableur (format .CSV) exportpdf.php - Le fichier d'export de la lettre de convocation que le créateur du sondage pourra envoyer aux participants (format .PDF) + Le fichier d'export de la lettre de convocation que le créateur du sondage pourra envoyer aux participants (format .PDF) admin/ - Le répertoire réservé à l'administrateur de l'application + Le répertoire réservé à l'administrateur de l'application admin/.htaccess - Le fichier gérant les droits restreints du répertoire ADMIN + Le fichier gérant les droits restreints du répertoire ADMIN admin/.htpasswd - Le fichier contenant les passwd des logins ayant accès au répertoire ADMIN + Le fichier contenant les passwd des logins ayant accès au répertoire ADMIN admin/index.php - La page présentant tous les sondages actuellement dans la base à l'administrateur + La page présentant tous les sondages actuellement dans la base à l'administrateur admin/log_studs.txt - Le fichier contenant un historique de toutes les creations/suppressions de sondage dans la base + Le fichier contenant un historique de toutes les creations/suppressions de sondage dans la base errors/ - Le répertoire contenant toutes les pages d'erreurs + Le répertoire contenant toutes les pages d'erreurs errors/error-forbidden.php - La page qui indique dans la charte graphique de l'application l'erreur "501 forbidden" + La page qui indique dans la charte graphique de l'application l'erreur "501 forbidden" errors/maintenance.php - La page qui indique que l'application est en maintenance temporaire + La page qui indique que l'application est en maintenance temporaire export/ - Le répertoire qui contient tous les exports ICS + Le répertoire qui contient tous les exports ICS iCalcreator/ - Le répertoire qui contient les librairies d'export en iCal + Le répertoire qui contient les librairies d'export en iCal php2pdf/ - Le répertoire qui contient les librairies d'export en PDF + Le répertoire qui contient les librairies d'export en PDF scripts/ - Le répertoire qui contient tous les scripts de l'application + Le répertoire qui contient tous les scripts de l'application sources/ - Le répertoire qui contient les sources de l'application disponible sur la page sources.php + Le répertoire qui contient les sources de l'application disponible sur la page sources.php locale/ - Le répertoire qui contient les fichiers de traduction modifiables (.po) et compilés (.mo) - au format gettext + Le répertoire qui contient les fichiers de traduction modifiables (.po) et compilés (.mo) + au format gettext ============================================================================= - Validations des pages + Validations des pages ============================================================================= Toutes les pages de STUdS sont validées HTML 4.01 Strict. diff --git a/adminstuds.php b/adminstuds.php index 0ed3d8af38375dc73ebabd7655ed8ec20444079c..fc2ffebde1cbd51574dcc7ee15281d20ff5389a2 100644 --- a/adminstuds.php +++ b/adminstuds.php @@ -149,7 +149,7 @@ $dsujet=$sujets->FetchObject(false); $dsondage=$sondage->FetchObject(false); if (isset($_POST["ajoutsujet"])) { - Utils::print_header(''); + Utils::print_header( _("Add a column") .' - ' . stripslashes( $dsondage->titre )); bandeau_titre(_("Make your polls")); @@ -206,7 +206,7 @@ if (isset($_POST["ajoutsujet"])) { } if (isset($_POST["suppressionsondage"])) { - Utils::print_header(''); + Utils::print_header( _("Confirm removal of your poll") .' - ' . stripslashes( $dsondage->titre )); bandeau_titre(_("Confirm removal of your poll")); @@ -241,7 +241,7 @@ if (isset($_POST["confirmesuppression"])) { _("Thanks for your confidence.") . "\n" . NOMAPPLICATION ); //affichage de l'ecran de confirmation de suppression de sondage - Utils::print_header(''); + Utils::print_header(_("Your poll has been removed!")); bandeau_titre(_("Make your polls")); @@ -639,6 +639,11 @@ if (isset($erreur_ajout_date) && $erreur_ajout_date) { $errors .= '<li>' . _("The date is not correct !") . '</li>'; } +//Poll title, description and email values +$title = (isset($_POST["boutonnouveautitre"]) && Utils::issetAndNoEmpty('nouveautitre')) ? htmlentities(html_entity_decode($_POST['nouveautitre'], ENT_QUOTES, 'UTF-8'), ENT_QUOTES, 'UTF-8') : stripslashes( $dsondage->titre ); +$description = (isset($_POST["nouveauxcommentaires"])) ? stripslashes(htmlentities(html_entity_decode($_POST['nouveauxcommentaires'], ENT_QUOTES, 'UTF-8'), ENT_QUOTES, 'UTF-8')) : stripslashes( $dsondage->commentaires ); +$email_admin = (isset($_POST["boutonnouvelleadresse"]) && Utils::issetAndNoEmpty('nouvelleadresse')) ? htmlentities(html_entity_decode($_POST['nouvelleadresse'], ENT_QUOTES, 'UTF-8'), ENT_QUOTES, 'UTF-8') : stripslashes( $dsondage->mail_admin ); + if ($errors!='') { Utils::print_header(_("Error!")); bandeau_titre(_("Error!")); @@ -646,17 +651,12 @@ if ($errors!='') { echo '<div class="alert alert-danger"><ul class="list-unstyled">'.$errors.'</ul></div>'."\n"; } else { - Utils::print_header(''); + Utils::print_header(_('Poll administration').' - '.$title); bandeau_titre(_("Make your polls")); // session_unset(); } -//Poll title, description and email values -$title = (isset($_POST["boutonnouveautitre"]) && Utils::issetAndNoEmpty('nouveautitre')) ? htmlentities(html_entity_decode($_POST['nouveautitre'], ENT_QUOTES, 'UTF-8'), ENT_QUOTES, 'UTF-8') : stripslashes( $dsondage->titre ); -$description = (isset($_POST["nouveauxcommentaires"])) ? stripslashes(htmlentities(html_entity_decode($_POST['nouveauxcommentaires'], ENT_QUOTES, 'UTF-8'), ENT_QUOTES, 'UTF-8')) : stripslashes( $dsondage->commentaires ); -$email_admin = (isset($_POST["boutonnouvelleadresse"]) && Utils::issetAndNoEmpty('nouvelleadresse')) ? htmlentities(html_entity_decode($_POST['nouvelleadresse'], ENT_QUOTES, 'UTF-8'), ENT_QUOTES, 'UTF-8') : stripslashes( $dsondage->mail_admin ); - echo ' <form name="formulaire4" action="' . Utils::getUrlSondage($numsondageadmin, true) . '" method="POST"> <div class="jumbotron"> @@ -686,7 +686,7 @@ echo ' <div class="col-md-5"> <div class="form-group" > <div id="author-form"> - <label class="control-label">'. _("Initiator of the poll") .'</label> + <h3 class="control-label">'. _("Initiator of the poll") .'</h3> <p> '.stripslashes($dsondage->nom_admin).'</p> </div> <div id="email-form"> @@ -716,11 +716,11 @@ echo ' </div> <div class="row"> <div class="form-group col-md-5"> - <label for="public-link">'._("Public link of the pool") .' <a href="' . Utils::getUrlSondage($dsondage->id_sondage) . '" class="glyphicon glyphicon-link"></a></label> + <label for="public-link"><a class="public-link" href="' . Utils::getUrlSondage($dsondage->id_sondage) . '">'._("Public link of the pool") .' <span class="btn-link glyphicon glyphicon-link"></span></a></label> <input class="form-control" id="public-link" type="text" readonly="readonly" value="' . Utils::getUrlSondage($dsondage->id_sondage) . '" /> </div> <div class="form-group col-md-5"> - <label for="admin-link">'._("Admin link of the pool") .' <a href="' . Utils::getUrlSondage($numsondageadmin, true) . '" class="glyphicon glyphicon-link"></a></label> + <label for="admin-link"><a class="admin-link" href="' . Utils::getUrlSondage($numsondageadmin, true) . '">'._("Admin link of the pool") .' <span class="btn-link glyphicon glyphicon-link"></span></a></label> <input class="form-control" id="admin-link" type="text" readonly="readonly" value="' . Utils::getUrlSondage($numsondageadmin, true) . '" /> </div> <div class="form-group col-md-2"> @@ -763,12 +763,12 @@ if ($dsondage->format=="D"||$dsondage->format=="D+") { for ($i = 0; $i < count($toutsujet); $i++) { - $border[$i] = false; - $radio_title[$i] = strftime("%A %e %B %Y",$current); - // Current date $current = $toutsujet[$i]; + $border[$i] = false; + $radio_title[$i] = strftime("%A %e %B %Y",$current); + // Months $td_headers[$i] = 'M'.($i+1-$colspan_month); @@ -792,9 +792,9 @@ if ($dsondage->format=="D"||$dsondage->format=="D+") { } // Hours - if (strpos($dsujet->sujet,'@') !== false) { - $rbd = ($border[$i]) ? ' rbd' : ''; - $hour = substr($toutsujet[$i], strpos($toutsujet[$i], '@')-count($toutsujet[$i])+2); + $rbd = ($border[$i]) ? ' rbd' : ''; + if (strpos($current,'@') !== false) { + $hour = substr($current, strpos($current, '@')-count($current)+2); if ($hour != "") { $tr_hours .= '<th class="bg-info'.$rbd.'" id="H'.$i.'">'.$hour.'</th>'; @@ -803,10 +803,12 @@ if ($dsondage->format=="D"||$dsondage->format=="D+") { } else { $tr_hours .= '<th class="bg-info'.$rbd.'"></th>'; } + } else { + $tr_hours .= '<th class="bg-info'.$rbd.'"></th>'; } // Remove col - $tr_add_remove_col .= '<td headers="'.$td_headers[$i].'"><button type="submit" name="effacecolonne'.$i.'" class="btn btn-link btn-sm" title="' . _('Remove the column') . ' ' .$radio_title[$i]. '"><span class="glyphicon glyphicon-remove text-danger"></span></button></td>'; + $tr_add_remove_col .= (count($toutsujet) > 2 ) ? '<td headers="'.$td_headers[$i].'"><button type="submit" name="effacecolonne'.$i.'" class="btn btn-link btn-sm" title="' . _('Remove the column') . ' ' .$radio_title[$i]. '"><span class="glyphicon glyphicon-remove text-danger"></span></button></td>' : '<td role="presentation"></td>'; } @@ -860,6 +862,7 @@ echo ' </div> <div id="tableContainer" class="tableContainer"> <table class="results"> + <caption>'._('Votes of the poll ').$title.'</caption> <thead>'. $thead . '</thead> <tbody>'; @@ -1012,7 +1015,7 @@ if (!$testligneamodifier=="true") { // Addition and Best choice //affichage de la ligne contenant les sommes de chaque colonne -$tr_addition = '<tr><td align="right">'. _("Addition") .'</td>'; +$tr_addition = '<tr><td>'. _("Addition") .'</td>'; $tr_bestchoice = '<tr><td></td>'; $meilleurecolonne = 0; @@ -1032,25 +1035,23 @@ $tr_addition .= '<td></td></tr>'; $toutsujet = explode(",", $dsujet->sujet); $compteursujet = 0; -$meilleursujet = ''; +$meilleursujet = '<ul style="list-style:none">'; for ($i = 0; $i < $nbcolonnes; $i++) { if (isset($somme[$i]) && $somme[$i] > 0 && $somme[$i] == $meilleurecolonne){ $tr_bestchoice .= '<td><span class="glyphicon glyphicon-star text-warning"></span></td>'; - $meilleursujet .= ', '; - if ($dsondage->format == "D" || $dsondage->format == "D+") { $meilleursujetexport = $toutsujet[$i]; if (strpos($toutsujet[$i], '@') !== false) { $toutsujetdate = explode("@", $toutsujet[$i]); - $meilleursujet .= strftime(_("%A, den %e. %B %Y"),$toutsujetdate[0]). ' - ' . $toutsujetdate[1]; + $meilleursujet .= '<li><b>'.strftime(_("%A, den %e. %B %Y"),$toutsujetdate[0]). ' - ' . $toutsujetdate[1].'</b></li>'; } else { - $meilleursujet .= strftime(_("%A, den %e. %B %Y"),$toutsujet[$i]); + $meilleursujet .= '<li><b>'.strftime(_("%A, den %e. %B %Y"),$toutsujet[$i]).'</b></li>'; } } else { - $meilleursujet.=$toutsujet[$i]; + $meilleursujet.= '<li><b>'.$toutsujet[$i].'</b></li>'; } $compteursujet++; @@ -1060,25 +1061,26 @@ for ($i = 0; $i < $nbcolonnes; $i++) { } $tr_bestchoice .= '<td></td></tr>'; -$meilleursujet = str_replace("°", "'", substr("$meilleursujet", 1)); +$meilleursujet = str_replace("°", "'", $meilleursujet).'</ul>'; $vote_str = ($meilleurecolonne > 1) ? $vote_str = _('votes') : _('vote'); // Print Addition and Best choice echo $tr_addition."\n".$tr_bestchoice.' </tbody> </table> - </div> - <p class="affichageresultats">'."\n"; + <div class="col-sm-4 col-sm-offset-4"><p>'."\n"; if ($compteursujet == 1) { - echo '<span class="glyphicon glyphicon-star text-warning"></span> ' . _("The best choice at this time is:") . ' <b>' . $meilleursujet . ' </b>' . _("with") . ' <b>' . $meilleurecolonne . '</b> ' . $vote_str . ".\n"; + echo '<span class="glyphicon glyphicon-star text-warning"></span> ' . _("The best choice at this time is:") . '</p>' . $meilleursujet . '<p>' . _("with") . ' <b>' . $meilleurecolonne . '</b> ' . $vote_str . ".\n"; } elseif ($compteursujet > 1) { - echo '<span class="glyphicon glyphicon-star text-warning"></span> ' . _("The bests choices at this time are:") . ' <b>' . $meilleursujet . ' </b>' . _("with") . ' <b>' . $meilleurecolonne . '</b> ' . $vote_str . ".\n"; + echo '<span class="glyphicon glyphicon-star text-warning"></span> ' . _("The bests choices at this time are:") . '</p>' . $meilleursujet . '<p>' . _("with") . ' <b>' . $meilleurecolonne . '</b> ' . $vote_str . ".\n"; } -echo '</p> -</form> -<hr /> +echo ' + </p></div> + </div> + + <hr /> <form name="formulaire4" action="#bas" method="POST">'."\n"; // Commments $sql = 'SELECT * FROM comments WHERE id_sondage='.$connect->Param('numsondage').' ORDER BY id_comment'; diff --git a/choix_date.php b/choix_date.php index 0700fc3df83da5c3e491bef1b9aaf6ca5fe8305a..aefafbe89da5dcd22c363ee19f26bb150aca9455 100644 --- a/choix_date.php +++ b/choix_date.php @@ -49,14 +49,19 @@ if (!Utils::issetAndNoEmpty('nom', $_SESSION) && !Utils::issetAndNoEmpty('adress $choixdate=''; if (Utils::issetAndNoEmpty('totalchoixjour', $_SESSION) === true) { for ($i = 0; $i < count($_SESSION["totalchoixjour"]); $i++) { - for ($j=0;$j< min(count($_SESSION['horaires'.$i]),12);$j++) { - if ($_SESSION['horaires'.$i][$j]!="") { - array_push($temp_results, $_SESSION["totalchoixjour"][$i].'@'.$_SESSION['horaires'.$i][$j]); - } else { - array_push($temp_results, $_SESSION["totalchoixjour"][$i]); + if(count($_SESSION['horaires'.$i])!=0) { + for ($j=0;$j< min(count($_SESSION['horaires'.$i]),12);$j++) { + if ($_SESSION['horaires'.$i][$j]!="") { + array_push($temp_results, $_SESSION["totalchoixjour"][$i].'@'.$_SESSION['horaires'.$i][$j]); + } else { + array_push($temp_results, $_SESSION["totalchoixjour"][$i]); + } } + } else { + array_push($temp_results, $_SESSION["totalchoixjour"][$i]); } } + } // Sort and remove doublons diff --git a/css/style.css b/css/style.css index d55034737e3eedbc234fa14be755ed2bf5be0f3a..7ab6f7443c4e157997310e3974b3b7731bffb539 100644 --- a/css/style.css +++ b/css/style.css @@ -86,13 +86,6 @@ div.calendrier td.choisi { } /* </calendrier> */ -/* Paragraphe sous le sondage */ -p.affichageresultats{ - text-align: center; - font-family:arial; - font-size:13px; -} - /* Commentaires */ div.comment{ margin-top: 10px; @@ -134,12 +127,32 @@ header .lead { #admin-link, #public-link { cursor:text; } +.admin-link, .public-link, +.admin-link:hover, .public-link:hover { + color:#333; + text-decoration:none; + border:none; +} .jumbotron h2, .jumbotron .js-title { margin-bottom:20px; margin-top:0px; } +h3.control-label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: 700; + font-size: 14px; + line-height: 1.42857; +} + +caption { + padding: 0 10px 10px; + font-weight:bold; +} + /* adminstuds.php */ #title-form h2 .btn-edit, #email-form .btn-edit, diff --git a/studs.php b/studs.php index 1f62bb206a65d1ea20a7c394b42399114cbd0ba1..425ec8538783f4dd110becb8eb3d730ea5c8f5c8 100644 --- a/studs.php +++ b/studs.php @@ -211,16 +211,16 @@ if($err != 0) { die(); } } else { - Utils::print_header($dsondage->titre); + Utils::print_header(_('Poll').' - '.$dsondage->titre); bandeau_titre(_("Make your polls")); } -$titre=str_replace("\\","",$dsondage->titre); +$title=stripslashes(str_replace("\\","",$dsondage->titre)); echo ' <div class="jumbotron"> <div class="row"> <div class="col-md-7"> - <h2>'.stripslashes($titre).'</h2> + <h2>'.$title.'</h2> </div> <div class="col-md-5"> <div class="btn-group pull-right"> @@ -232,11 +232,11 @@ echo ' <div class="row"> <div class="col-md-5"> <div class="form-group"> - <label class="control-label">'. _("Initiator of the poll") .' :</label> + <h3 class="control-label">'. _("Initiator of the poll") .'</h3> <p class="form-control-static"> '.stripslashes($dsondage->nom_admin).'</p> </div> <div class="form-group"> - <label for="public-link">'._("Public link of the pool") .' <a href="' . Utils::getUrlSondage($dsondage->id_sondage) . '" class="glyphicon glyphicon-link"></a> : </label> + <label for="public-link"><a class="public-link" href="' . Utils::getUrlSondage($dsondage->id_sondage) . '">'._("Public link of the pool") .' <span class="btn-link glyphicon glyphicon-link"></a></label> <input class="form-control" id="public-link" type="text" readonly="readonly" value="' . Utils::getUrlSondage($dsondage->id_sondage) . '" /> </div> </div>'."\n"; @@ -332,12 +332,12 @@ if ($dsondage->format=="D"||$dsondage->format=="D+") { for ($i = 0; $i < count($toutsujet); $i++) { - $border[$i] = false; - $radio_title[$i] = strftime("%A %e %B %Y",$current); - // Current date $current = $toutsujet[$i]; + $border[$i] = false; + $radio_title[$i] = strftime("%A %e %B %Y",$current); + // Months $td_headers[$i] = 'M'.($i+1-$colspan_month); @@ -361,9 +361,9 @@ if ($dsondage->format=="D"||$dsondage->format=="D+") { } // Hours - if (strpos($dsondage->sujet,'@') !== false) { - $rbd = ($border[$i]) ? ' rbd' : ''; - $hour = substr($toutsujet[$i], strpos($toutsujet[$i], '@')-count($toutsujet[$i])+2); + $rbd = ($border[$i]) ? ' rbd' : ''; + if (strpos($current,'@') !== false) { + $hour = substr($current, strpos($current, '@')-count($current)+2); if ($hour != "") { $tr_hours .= '<th class="bg-info'.$rbd.'" id="H'.$i.'">'.$hour.'</th>'; @@ -372,6 +372,8 @@ if ($dsondage->format=="D"||$dsondage->format=="D+") { } else { $tr_hours .= '<th class="bg-info'.$rbd.'"></th>'; } + } else { + $tr_hours .= '<th class="bg-info'.$rbd.'"></th>'; } } @@ -415,6 +417,7 @@ echo ' </div> <div id="tableContainer" class="tableContainer"> <table class="results"> + <caption>'._('Votes of the poll ').$title.'</caption> <thead>'. $thead . '</thead> <tbody>'; @@ -559,7 +562,7 @@ if (( !(USE_REMOTE_USER && isset($_SERVER['REMOTE_USER'])) || !$user_mod) && $li // Addition and Best choice //affichage de la ligne contenant les sommes de chaque colonne -$tr_addition = '<tr><td align="right">'. _("Addition") .'</td>'; +$tr_addition = '<tr><td>'. _("Addition") .'</td>'; $tr_bestchoice = '<tr><td></td>'; $meilleurecolonne = 0; @@ -579,25 +582,23 @@ $tr_addition .= '<td></td></tr>'; $toutsujet = explode(",", $dsondage->sujet); $compteursujet = 0; -$meilleursujet = ''; +$meilleursujet = '<ul style="list-style:none">'; for ($i = 0; $i < $nbcolonnes; $i++) { if (isset($somme[$i]) && $somme[$i] > 0 && $somme[$i] == $meilleurecolonne){ $tr_bestchoice .= '<td><span class="glyphicon glyphicon-star text-warning"></span></td>'; - $meilleursujet .= ', '; - if ($dsondage->format == "D" || $dsondage->format == "D+") { $meilleursujetexport = $toutsujet[$i]; if (strpos($toutsujet[$i], '@') !== false) { $toutsujetdate = explode("@", $toutsujet[$i]); - $meilleursujet .= strftime(_("%A, den %e. %B %Y"),$toutsujetdate[0]). ' - ' . $toutsujetdate[1]; + $meilleursujet .= '<li><b>'.strftime(_("%A, den %e. %B %Y"),$toutsujetdate[0]). ' - ' . $toutsujetdate[1].'</b></li>'; } else { - $meilleursujet .= strftime(_("%A, den %e. %B %Y"),$toutsujet[$i]); + $meilleursujet .= '<li><b>'.strftime(_("%A, den %e. %B %Y"),$toutsujet[$i]).'</b></li>'; } } else { - $meilleursujet.=$toutsujet[$i]; + $meilleursujet.= '<li><b>'.$toutsujet[$i].'</b></li>'; } $compteursujet++; @@ -607,24 +608,26 @@ for ($i = 0; $i < $nbcolonnes; $i++) { } $tr_bestchoice .= '<td></td></tr>'; -$meilleursujet = str_replace("°", "'", substr("$meilleursujet", 1)); +$meilleursujet = str_replace("°", "'", $meilleursujet).'</ul>'; $vote_str = ($meilleurecolonne > 1) ? $vote_str = _('votes') : _('vote'); // Print Addition and Best choice echo $tr_addition."\n".$tr_bestchoice.' </tbody> </table> - </div> - <p class="affichageresultats">'."\n"; + <div class="col-sm-4 col-sm-offset-4"><p>'."\n"; if ($compteursujet == 1) { - echo '<span class="glyphicon glyphicon-star text-warning"></span> ' . _("The best choice at this time is:") . ' <b>' . $meilleursujet . ' </b>' . _("with") . ' <b>' . $meilleurecolonne . '</b> ' . $vote_str . ".\n"; + echo '<span class="glyphicon glyphicon-star text-warning"></span> ' . _("The best choice at this time is:") . '</p>' . $meilleursujet . '<p>' . _("with") . ' <b>' . $meilleurecolonne . '</b> ' . $vote_str . ".\n"; } elseif ($compteursujet > 1) { - echo '<span class="glyphicon glyphicon-star text-warning"></span> ' . _("The bests choices at this time are:") . ' <b>' . $meilleursujet . ' </b>' . _("with") . ' <b>' . $meilleurecolonne . '</b> ' . $vote_str . ".\n"; + echo '<span class="glyphicon glyphicon-star text-warning"></span> ' . _("The bests choices at this time are:") . '</p>' . $meilleursujet . '<p>' . _("with") . ' <b>' . $meilleurecolonne . '</b> ' . $vote_str . ".\n"; } -echo '</p> -<hr />'; +echo ' + </p></div> + </div> + + <hr />'; // Comments $sql = 'select * from comments where id_sondage='.$connect->Param('numsondage').' order by id_comment';