From e24fb9f48ab8f5824285474ec5414f7049ebc8f0 Mon Sep 17 00:00:00 2001
From: Laurent Destailleur <eldy@destailleur.fr>
Date: Sat, 13 Apr 2013 15:43:31 +0200
Subject: [PATCH] Removed all old code. All orignal code has been rewritten
 now.

---
 htdocs/opensurvey/adminstuds_preview.php |  29 ++-
 htdocs/opensurvey/public/studs.php       | 274 +++++++++++++----------
 2 files changed, 175 insertions(+), 128 deletions(-)

diff --git a/htdocs/opensurvey/adminstuds_preview.php b/htdocs/opensurvey/adminstuds_preview.php
index d85dc37297b..c93221a2af2 100755
--- a/htdocs/opensurvey/adminstuds_preview.php
+++ b/htdocs/opensurvey/adminstuds_preview.php
@@ -39,7 +39,9 @@ $numsondageadmin=GETPOST("sondage");
 $numsondage=substr($numsondageadmin, 0, 16);
 
 $object=new Opensurveysondage($db);
-$object->fetch(0,$numsondageadmin);
+$result=$object->fetch(0,$numsondage);
+if ($result <= 0) dol_print_error('','Failed to get survey id '.$numsondage);
+
 $nblignes=count($object->fetch_lines());
 
 
@@ -587,7 +589,7 @@ print '<input type="hidden" name="sondage" value="'.$numsondageadmin.'">';
 print '<div class="cadre"> '."\n";
 print '<br>'."\n";
 
-//debut de l'affichage de résultats
+// Start to show survey result
 print '<table class="resultats">'."\n";
 
 //reformatage des données des sujets du sondage
@@ -863,14 +865,14 @@ while ($compteur < $num)
 		}
 	}
 
-	//a la fin de chaque ligne se trouve les boutons modifier
+	// Button edit at end of line
 	if ($compteur != $ligneamodifier)
 	{
 		print '<td class="casevide"><input type="submit" class="button" name="modifierligne'.$compteur.'" value="'.dol_escape_htmltag($langs->trans("Edit")).'"></td>'."\n";
 	}
 
 	//demande de confirmation pour modification de ligne
-	for ($i = 0; $i < $nblignes; $i++)
+	for ($i=0; $i<$nblignes; $i++)
 	{
 		if (isset($_POST["modifierligne".$i]))
 		{
@@ -935,10 +937,12 @@ for ($i=0; $i < $nbcolonnes + 1; $i++)
 	$nbofcheckbox++;
 	if (isset($sumfor[$i]))
 	{
-		if ($i == 0) {
+		if ($i == 0)
+		{
 			$meilleurecolonne = $sumfor[$i];
 		}
-		if (isset($sumfor[$i]) && $sumfor[$i] > $meilleurecolonne){
+		if (isset($sumfor[$i]) && $sumfor[$i] > $meilleurecolonne)
+		{
 			$meilleurecolonne = $sumfor[$i];
 		}
 	}
@@ -1015,7 +1019,7 @@ $toutsujet = explode(",", $object->sujet);
 $compteursujet = 0;
 $meilleursujet = '';
 for ($i = 0; $i < $nbcolonnes; $i++) {
-	if (isset($sumfor[$i]) === true && isset($meilleurecolonne) === true && $sumfor[$i] == $meilleurecolonne){
+	if (isset($sumfor[$i]) === true && isset($meilleurecolonne) === true && $sumfor[$i] == $meilleurecolonne) {
 		$meilleursujet.=", ";
 
 		if ($object->format == "D" || $object->format == "D+") {
@@ -1038,7 +1042,6 @@ for ($i = 0; $i < $nbcolonnes; $i++) {
 	}
 }
 
-//adaptation pour affichage des valeurs
 $meilleursujet = substr("$meilleursujet", 1);
 $meilleursujet = str_replace("°", "'", $meilleursujet);
 
@@ -1046,18 +1049,20 @@ $meilleursujet = str_replace("°", "'", $meilleursujet);
 if ($nbofcheckbox >= 2)
 {
 	$vote_str = $langs->trans('votes');
-	print '<p class=affichageresultats>'."\n";
+	print '<p class="affichageresultats">'."\n";
 
 	if (isset($meilleurecolonne) && $compteursujet == "1") {
-		print "<img src=\"".dol_buildpath('/opensurvey/img/medaille.png',1)."\"> " . $langs->trans('TheBestChoice') . " : <b>$meilleursujet </b>" . $langs->trans("with") . " <b>$meilleurecolonne </b>" . $vote_str . ".<br>\n";
+		print "<img src=\"".dol_buildpath('/opensurvey/img/medaille.png',1)."\"> " . $langs->trans('TheBestChoice') . " : <b>$meilleursujet </b>" . $langs->trans("with") . " <b>$meilleurecolonne </b>" . $vote_str . ".\n";
 	} elseif (isset($meilleurecolonne)) {
-		print "<img src=\"".dol_buildpath('/opensurvey/img/medaille.png',1)."\"> " . $langs->trans('TheBestChoices') . " : <b>$meilleursujet </b>" . $langs->trans("with") . " <b>$meilleurecolonne </b>" . $vote_str . ".<br>\n";
+		print "<img src=\"".dol_buildpath('/opensurvey/img/medaille.png',1)."\"> " . $langs->trans('TheBestChoices') . " : <b>$meilleursujet </b>" . $langs->trans("with") . " <b>$meilleurecolonne </b>" . $vote_str . ".\n";
 	}
-	print '</p><br>'."\n";
+	print '<br></p><br>'."\n";
 }
 
 print '</form>'."\n";
 
+print '<a name="bas"></a>'."\n";
+
 llxFooterSurvey();
 
 $db->close();
diff --git a/htdocs/opensurvey/public/studs.php b/htdocs/opensurvey/public/studs.php
index 9a20b14031b..d1df65c8eea 100755
--- a/htdocs/opensurvey/public/studs.php
+++ b/htdocs/opensurvey/public/studs.php
@@ -51,15 +51,15 @@ $object=new Opensurveysondage($db);
 $result=$object->fetch(0,$numsondage);
 if ($result <= 0) dol_print_error('','Failed to get survey id '.$numsondage);
 
-
-$nbcolonnes = substr_count($object->sujet, ',') + 1;
-
+$nblignes=count($object->fetch_lines());
 
 
 /*
  * Actions
  */
 
+$nbcolonnes = substr_count($object->sujet, ',') + 1;
+
 $listofvoters=explode(',',$_SESSION["savevoter"]);
 
 // Add comment
@@ -162,22 +162,22 @@ if (isset($_POST["boutonp"]) || isset($_POST["boutonp_x"]))
 
 
 // Update vote
-$sql = 'SELECT * FROM '.MAIN_DB_PREFIX.'opensurvey_user_studs WHERE id_sondage='.$connect->Param('numsondage').' ORDER BY id_users';
-$sql = $connect->Prepare($sql);
-$user_studs = $connect->Execute($sql, array($numsondage));
-$nblignes = $user_studs->RecordCount();
 $testmodifier = false;
+$testligneamodifier = false;
 $ligneamodifier = -1;
 for ($i=0; $i<$nblignes; $i++)
 {
-	if (isset($_POST['modifierligne'.$i])) {
-		$ligneamodifier = $i;
+	if (isset($_POST['modifierligne'.$i]))
+	{
+		$ligneamodifier=$i;
+		$testligneamodifier=true;
 	}
 
 	//test pour voir si une ligne est a modifier
-	if (isset($_POST['validermodifier'.$i])) {
-		$modifier = $i;
-		$testmodifier = true;
+	if (isset($_POST['validermodifier'.$i]))
+	{
+		$modifier=$i;
+		$testmodifier=true;
 	}
 }
 
@@ -200,33 +200,16 @@ if ($testmodifier)
 			$nouveauchoix.="0";
 		}
 	}
+
+	$idtomodify=$_POST["idtomodify".$modifier];
+	$sql = 'UPDATE '.MAIN_DB_PREFIX."opensurvey_user_studs";
+	$sql.= " SET reponses = '".$db->escape($nouveauchoix)."'";
+	$sql.= " WHERE id_users = '".$db->escape($idtomodify)."'";
 
-	$compteur=0;
-	while ($data = $user_studs->FetchNextObject(false) )
-	{
-		if ($compteur == $modifier)
-		{
-			$sql = 'UPDATE '.MAIN_DB_PREFIX."opensurvey_user_studs";
-			$sql.= " SET reponses = '".$db->escape($nouveauchoix)."'";
-			$sql.= " WHERE nom = '".$db->escape($data->nom)."' AND id_users = '".$db->escape($data->id_users)."'";
-			$resql = $db->query($sql);
-			if ($resql <= 0)
-			{
-				dol_print_error($db);
-				exit;
-			}
-
-			if ($object->mailsonde=="yes")
-			{
-				// TODO Use CMailFile
-				//$headers="From: ".NOMAPPLICATION." <".ADRESSEMAILADMIN.">\r\nContent-Type: text/plain; charset=\"UTF-8\"\nContent-Transfer-Encoding: 8bit";
-				//mail ("$object->mail_admin", "[".NOMAPPLICATION."] " . _("Poll's participation") . " : $object->titre", "\"$data->nom\""."" . _("has filled a line.\nYou can find your poll at the link") . " :\n\n".getUrlSondage($numsondage)." \n\n" . _("Thanks for your confidence.") . "\n".NOMAPPLICATION,$headers);
-			}
-		}
-
-		$compteur++;
-	}
-}
+	dol_syslog("sql=".$sql);
+	$resql = $db->query($sql);
+	if (! $resql) dol_print_error($db);
+}
 
 // Delete comment
 $idcomment=GETPOST('deletecomment','int');
@@ -245,30 +228,30 @@ if ($idcomment)
 $form=new Form($db);
 $object=new OpenSurveySondage($db);
 
+$result=$object->fetch(0,$numsondage);
+if ($result <= 0)
+{
+	print $langs->trans("ErrorRecordNotFound");
+	llxFooterSurvey();
+	exit;
+}
+
 $arrayofjs=array();
 $arrayofcss=array('/opensurvey/css/style.css');
 llxHeaderSurvey($object->titre, "", 0, 0, $arrayofjs, $arrayofcss);
-
-$res=$object->fetch(0,$numsondage);
-
-if ($res <= 0)
-{
-	print $langs->trans("ErrorPollDoesNotExists",$numsondage);
-	llxFooterSurvey();
-	exit;
-}
+
 
 // Define format of choices
 $toutsujet=explode(",",$object->sujet);
+$listofanswers=array();
+foreach ($toutsujet as $value)
+{
+	$tmp=explode('@',$value);
+	$listofanswers[]=array('label'=>$tmp[0],'format'=>($tmp[1]?$tmp[1]:'checkbox'));
+}
+$toutsujet=str_replace("@","<br>",$toutsujet);
 $toutsujet=str_replace("°","'",$toutsujet);
 
-$listofanswers=array();
-foreach ($toutsujet as $value)
-{
-	$tmp=explode('@',$value);
-	$listofanswers[]=array('label'=>$tmp[0],'format'=>($tmp[1]?$tmp[1]:'checkbox'));
-}
-
 
 print '<div class="survey_invitation">'.$langs->trans("YouAreInivitedToVote").'</div>';
 print $langs->trans("OpenSurveyHowTo").'<br><br>';
@@ -283,7 +266,8 @@ print '<strong>'.$titre.'</strong><br>'."\n";
 print $langs->trans("InitiatorOfPoll") .' : '.$object->nom_admin.'<br>'."\n";
 
 //affichage des commentaires du sondage
-if ($object->commentaires) {
+if ($object->commentaires)
+{
 	print '<br>'.$langs->trans("Description") .' :<br>'."\n";
 	$commentaires=dol_nl2br($object->commentaires);
 	print $commentaires;
@@ -294,19 +278,14 @@ print '</div>'."\n";
 
 print '<form name="formulaire" action="studs.php?sondage='.$numsondage.'"'.'#bas" method="POST" onkeypress="javascript:process_keypress(event)">'."\n";
 print '<input type="hidden" name="sondage" value="' . $numsondage . '"/>';
-// Todo : add CSRF protection
+
 print '<div class="cadre"> '."\n";
 print '<br><br>'."\n";
 
-// Debut de l'affichage des resultats du sondage
+// Start to show survey result
 print '<table class="resultats">'."\n";
 
-//recuperation des utilisateurs du sondage
-$sql = 'SELECT * FROM '.MAIN_DB_PREFIX.'opensurvey_user_studs WHERE id_sondage='.$connect->Param('numsondage').' ORDER BY id_users';
-$sql = $connect->Prepare($sql);
-$user_studs = $connect->Execute($sql, array($numsondage));
-
-//si le sondage est un sondage de date
+// Show choice titles
 if ($object->format=="D"||$object->format=="D+")
 {
 	//affichage des sujets du sondage
@@ -410,15 +389,22 @@ else
 $sumfor = array();
 $sumagainst = array();
 $compteur = 0;
-
-$sql = 'SELECT * FROM '.MAIN_DB_PREFIX.'opensurvey_user_studs WHERE id_sondage='.$connect->Param('numsondage').' ORDER BY id_users';
-$sql = $connect->Prepare($sql);
-$user_studs = $connect->Execute($sql, array($numsondage));
-
-while ($data = $user_studs->FetchNextObject(false))
+$sql ="SELECT id_users, nom, id_sondage, reponses";
+$sql.=" FROM ".MAIN_DB_PREFIX."opensurvey_user_studs";
+$sql.=" WHERE id_sondage = '".$db->escape($numsondage)."'";
+dol_syslog('sql='.$sql);
+$resql=$db->query($sql);
+if (! $resql)
 {
-	$ensemblereponses = $data->reponses;
-	$nombase=str_replace("°","'",$data->nom);
+	dol_print_error($db);
+	exit;
+}
+$num=$db->num_rows($resql);
+while ($compteur < $num)
+{
+	$obj=$db->fetch_object($resql);
+
+	$ensemblereponses = $obj->reponses;
 
 	print '<tr>'."\n";
 
@@ -426,41 +412,23 @@ while ($data = $user_studs->FetchNextObject(false))
 	$mod_ok = ($object->canedit || (! empty($nombase) && in_array($nombase, $listofvoters)));
 
 	// Name
+	$nombase=str_replace("°","'",$obj->nom);
 	print '<td class="nom">'.$nombase.'</td>'."\n";
 
-	// pour chaque colonne
-	for ($i=0; $i < $nbcolonnes; $i++)
+	// si la ligne n'est pas a changer, on affiche les données
+	if (! $testligneamodifier)
 	{
-		$car = substr($ensemblereponses, $i, 1);
-		if ($compteur == $ligneamodifier)
-		{
-			print '<td class="vide">';
-			if (empty($listofanswers[$i]['format']) || ! in_array($listofanswers[$i]['format'],array('yesno','foragainst')))
-			{
-				print '<input type="checkbox" name="choix'.$i.'" value="1" ';
-				if (((string) $car) == '1') print 'checked="checked"';
-				print '>';
-			}
-			if (! empty($listofanswers[$i]['format']) && $listofanswers[$i]['format'] == 'yesno')
-			{
-				$arraychoice=array('2'=>'&nbsp;','0'=>$langs->trans("No"),'1'=>$langs->trans("Yes"));
-				print $form->selectarray("choix".$i, $arraychoice, $car);
-			}
-			if (! empty($listofanswers[$i]['format']) && $listofanswers[$i]['format'] == 'foragainst')
-			{
-				$arraychoice=array('2'=>'&nbsp;','0'=>$langs->trans("Against"),'1'=>$langs->trans("For"));
-				print $form->selectarray("choix".$i, $arraychoice, $car);
-			}
-			print '</td>'."\n";
-		}
-		else
+		for ($i = 0; $i < $nbcolonnes; $i++)
 		{
+			$car = substr($ensemblereponses, $i, 1);
+			//print 'xx'.$i."-".$car.'-'.$listofanswers[$i]['format'].'zz';
+
 			if (empty($listofanswers[$i]['format']) || ! in_array($listofanswers[$i]['format'],array('yesno','foragainst')))
 			{
 				if (((string) $car) == "1") print '<td class="ok">OK</td>'."\n";
 				else print '<td class="non">KO</td>'."\n";
 				// Total
-				if (isset($sumfor[$i]) === false) $sumfor[$i] = 0;
+				if (! isset($sumfor[$i])) $sumfor[$i] = 0;
 				if (((string) $car) == "1") $sumfor[$i]++;
 			}
 			if (! empty($listofanswers[$i]['format']) && $listofanswers[$i]['format'] == 'yesno')
@@ -476,9 +444,9 @@ while ($data = $user_studs->FetchNextObject(false))
 			}
 			if (! empty($listofanswers[$i]['format']) && $listofanswers[$i]['format'] == 'foragainst')
 			{
-				if (((string) $car) == "1") print '<td class="ok">'.$langs->trans("For").'</td>'."\n";
+				if (((string) $car) == "1") print '<td class="ok">'.$langs->trans("For").'</td>'."\n";
 				else if (((string) $car) == "0") print '<td class="non">'.$langs->trans("Against").'</td>'."\n";
-				else print '<td class="vide">&nbsp;</td>'."\n";
+				else print '<td class="vide">&nbsp;</td>'."\n";
 				// Total
 				if (! isset($sumfor[$i])) $sumfor[$i] = 0;
 				if (! isset($sumagainst[$i])) $sumagainst[$i] = 0;
@@ -487,18 +455,90 @@ while ($data = $user_studs->FetchNextObject(false))
 			}
 		}
 	}
+	else
+	{
+		//sinon on remplace les choix de l'utilisateur par une ligne de checkbox pour recuperer de nouvelles valeurs
+		if ($compteur == $ligneamodifier)
+		{
+			for ($i = 0; $i < $nbcolonnes; $i++)
+			{
+				$car = substr($ensemblereponses, $i, 1);
+				print '<td class="vide">';
+				if (empty($listofanswers[$i]['format']) || ! in_array($listofanswers[$i]['format'],array('yesno','foragainst')))
+				{
+					print '<input type="checkbox" name="choix'.$i.'" value="1" ';
+					if ($car == '1') print 'checked="checked"';
+					print '>';
+				}
+				if (! empty($listofanswers[$i]['format']) && $listofanswers[$i]['format'] == 'yesno')
+				{
+					$arraychoice=array('2'=>'&nbsp;','0'=>$langs->trans("No"),'1'=>$langs->trans("Yes"));
+					print $form->selectarray("choix".$i, $arraychoice, $car);
+				}
+				if (! empty($listofanswers[$i]['format']) && $listofanswers[$i]['format'] == 'foragainst')
+				{
+					$arraychoice=array('2'=>'&nbsp;','0'=>$langs->trans("Against"),'1'=>$langs->trans("For"));
+					print $form->selectarray("choix".$i, $arraychoice, $car);
+				}
+				print '</td>'."\n";
+			}
+		}
+		else
+		{
+			for ($i = 0; $i < $nbcolonnes; $i++)
+			{
+				$car = substr($ensemblereponses, $i, 1);
+				if (empty($listofanswers[$i]['format']) || ! in_array($listofanswers[$i]['format'],array('yesno','foragainst')))
+				{
+					if (((string) $car) == "1") print '<td class="ok">OK</td>'."\n";
+					else print '<td class="non">KO</td>'."\n";
+					// Total
+					if (! isset($sumfor[$i])) $sumfor[$i] = 0;
+					if (((string) $car) == "1") $sumfor[$i]++;
+				}
+				if (! empty($listofanswers[$i]['format']) && $listofanswers[$i]['format'] == 'yesno')
+				{
+					if (((string) $car) == "1") print '<td class="ok">'.$langs->trans("For").'</td>'."\n";
+					else if (((string) $car) == "0") print '<td class="non">'.$langs->trans("Against").'</td>'."\n";
+					else print '<td class="vide">&nbsp;</td>'."\n";
+					// Total
+					if (! isset($sumfor[$i])) $sumfor[$i] = 0;
+					if (! isset($sumagainst[$i])) $sumagainst[$i] = 0;
+					if (((string) $car) == "1") $sumfor[$i]++;
+					if (((string) $car) == "0") $sumagainst[$i]++;
+				}
+				if (! empty($listofanswers[$i]['format']) && $listofanswers[$i]['format'] == 'foragainst')
+				{
+					if (((string) $car) == "1") print '<td class="ok">'.$langs->trans("For").'</td>'."\n";
+					else if (((string) $car) == "0") print '<td class="non">'.$langs->trans("Against").'</td>'."\n";
+					else print '<td class="vide">&nbsp;</td>'."\n";
+					// Total
+					if (! isset($sumfor[$i])) $sumfor[$i] = 0;
+					if (! isset($sumagainst[$i])) $sumagainst[$i] = 0;
+					if (((string) $car) == "1") $sumfor[$i]++;
+					if (((string) $car) == "0") $sumagainst[$i]++;
+				}
+			}
+		}
+	}
 
-	//  Button edit at end of line
+	// Button edit at end of line
 	if ($compteur != $ligneamodifier && $mod_ok)
 	{
 		print '<td class="casevide"><input type="submit" class="button" name="modifierligne'.$compteur.'" value="'.dol_escape_htmltag($langs->trans("Edit")).'"></td>'."\n";
 	}
 
 	//demande de confirmation pour modification de ligne
-	for ($i=0;$i<$nblignes;$i++) {
-		if (isset($_POST["modifierligne$i"])) {
-			if ($compteur == $i) {
-				print '<td class="casevide"><input type="submit" class="button" name="validermodifier'.$compteur.'" value="'.dol_escape_htmltag($langs->trans("Save")).'"></td>'."\n";
+	for ($i=0; $i<$nblignes; $i++)
+	{
+		if (isset($_POST["modifierligne".$i]))
+		{
+			if ($compteur == $i)
+			{
+				print '<td class="casevide">';
+				print '<input type="hidden" name="idtomodify'.$compteur.'" value="'.$obj->id_users.'">';
+				print '<input type="submit" class="button" name="validermodifier'.$compteur.'" value="'.dol_escape_htmltag($langs->trans("Save")).'">';
+				print '</td>'."\n";
 			}
 		}
 	}
@@ -547,7 +587,7 @@ if ($ligneamodifier < 0 && (! isset($_SESSION['nom'])))
 	}
 
 	// Affichage du bouton de formulaire pour inscrire un nouvel utilisateur dans la base
-	print '<td><input type="image" name="boutonp" value="' . $langs->trans('Vote') . '" src="'.dol_buildpath('/opensurvey/img/add-24.png',1).'"></td>'."\n";
+	print '<td><input type="image" name="boutonp" value="'.$langs->trans("Vote").'" src="'.dol_buildpath('/opensurvey/img/add-24.png',1).'"></td>'."\n";
 	print '</tr>'."\n";
 }
 
@@ -555,7 +595,7 @@ if ($ligneamodifier < 0 && (! isset($_SESSION['nom'])))
 $nbofcheckbox=0;
 for ($i=0; $i < $nbcolonnes; $i++)
 {
-	if (! empty($listofanswers[$i]['format']) && $listofanswers[$i]['format'] != 'checkbox') continue;
+	if (empty($listofanswers[$i]['format']) || ! in_array($listofanswers[$i]['format'],array('yesno','foragainst')))
 	$nbofcheckbox++;
 	if (isset($sumfor[$i]))
 	{
@@ -571,7 +611,7 @@ for ($i=0; $i < $nbcolonnes; $i++)
 }
 
 // Show line total
-print '<tr '.$bc[false].'>'."\n";
+print '<tr>'."\n";
 print '<td align="center">'. $langs->trans("Total") .'</td>'."\n";
 for ($i = 0; $i < $nbcolonnes; $i++)
 {
@@ -587,7 +627,7 @@ for ($i = 0; $i < $nbcolonnes; $i++)
 	print '</td>'."\n";
 }
 print '</tr>';
-// Show picto winnner
+// Show picto winner
 if ($nbofcheckbox >= 2)
 {
 	print '<tr>'."\n";
@@ -595,7 +635,7 @@ if ($nbofcheckbox >= 2)
 	for ($i=0; $i < $nbcolonnes; $i++)
 	{
 		//print 'xx'.(! empty($listofanswers[$i]['format'])).'-'.$sumfor[$i].'-'.$meilleurecolonne;
-		if (! empty($listofanswers[$i]['format']) && $listofanswers[$i]['format'] == 'checkbox' && isset($sumfor[$i]) && isset($meilleurecolonne) && $sumfor[$i] == $meilleurecolonne)
+		if (empty($listofanswers[$i]['format']) || ! in_array($listofanswers[$i]['format'],array('yesno','foragainst')) && isset($sumfor[$i]) && isset($meilleurecolonne) && $sumfor[$i] == $meilleurecolonne)
 		{
 			print '<td class="somme"><img src="'.dol_buildpath('/opensurvey/img/medaille.png',1).'"></td>'."\n";
 		} else {
@@ -625,7 +665,9 @@ for ($i = 0; $i < $nbcolonnes; $i++) {
 			} else {
 				$meilleursujet .= dol_print_date($toutsujet[$i],'daytext'). ' ('.dol_print_date($toutsujet[$i],'%A').')';
 			}
-		} else {
+		}
+		else
+		{
 			$tmps=explode('@',$toutsujet[$i]);
 			$meilleursujet .= $tmps[0];
 		}
@@ -644,13 +686,13 @@ if ($nbofcheckbox >= 2)
 	$vote_str = $langs->trans('votes');
 	print '<p class="affichageresultats">'."\n";
 
-	if ($compteursujet == "1" && isset($meilleurecolonne)) {
-		print '<img src="images/medaille.png" alt="Meilleur choix"> ' . $langs->trans('TheBestChoice') . ": <b>$meilleursujet</b> " . $langs->trans('with') . " <b>$meilleurecolonne </b>" . $vote_str . ".\n";
+	if (isset($meilleurecolonne) && $compteursujet == "1") {
+		print '<img src="'.dol_buildpath('/opensurvey/img/medaille.png',1).'"> ' . $langs->trans('TheBestChoice') . ": <b>$meilleursujet</b> " . $langs->trans('with') . " <b>$meilleurecolonne </b>" . $vote_str . ".\n";
 	} elseif (isset($meilleurecolonne)) {
-		print '<img src="images/medaille.png" alt="Meilleur choix"> ' . $langs->trans('TheBestChoices')  . ": <b>$meilleursujet</b> " . $langs->trans('with') . "  <b>$meilleurecolonne </b>" . $vote_str . ".\n";
+		print '<img src="'.dol_buildpath('/opensurvey/img/medaille.png',1).'"> ' . $langs->trans('TheBestChoices')  . ": <b>$meilleursujet</b> " . $langs->trans('with') . "  <b>$meilleurecolonne </b>" . $vote_str . ".\n";
 	}
 
-	print '</p><br>';
+	print '</p><br>'."\n";
 }
 
 print '<br>';
@@ -685,8 +727,8 @@ print $langs->trans("Name") .' : ';
 print '<input type="text" name="commentuser" maxlength="64" /> &nbsp; '."\n";
 print '<input type="submit" class="button" name="ajoutcomment" value="'.dol_escape_htmltag($langs->trans("AddComment")).'"><br>'."\n";
 print '</form>'."\n";
-// Focus javascript sur la case de texte du formulaire
-print '</div>'."\n";
+
+print '</div>'."\n";	// div add comment
 
 print '<br><br>';
 
-- 
GitLab