Index: extensions/ConcoursPhoto/CHANGELOG
===================================================================
--- extensions/ConcoursPhoto/CHANGELOG	(revision 8946)
+++ extensions/ConcoursPhoto/CHANGELOG	(revision 8965)
@@ -1,18 +1,3 @@
 TODO for next versions : 
-- Finaliser la page "Audit" dans la partie adminsitration
-- Ajouter support ExtendedDescription (si nécessaire pour description du concours)
-- Ajouter aide (help) pour le paramétrage et l'utilisation du plugin
-- Fixer le pb pour masquer les données EXIFS/IPTC pour les photos d'un concours
-- Ajouter possibilité de voter pour les guests (pb identification dans bdd!)
-- Ajouter possibilité de sélectionner 1 ou plusieurs photos d'une catégorie pour participer à un concours.
-- Ajouter une page de consultation du concours en cours
-- Probleme lors que la date/heure de fin ou début est positionnée à 0h00 ou 24h00 --> erreur de date enregistrée dans la bdd. Mettre en place un contrôle de date_fin>date_debut
-- Possibilité d'ajouter en direct (après vote) le résultat (+ paramétre pour afficher/masque en fonction du paramétre : modification notes attribuées à la photo)
-- Ajouter la possibilité de consultation des résultats pour les "guests"
-
-- Modifier onglet 1 pour la consultation des concours. Ajouter 3 sous onglets
-- Problème d'affichage du menu concours dans le cas de non sélection de groupes...
-
-- OK Ajout update_method pour l'ajout de données dans table Concours (param guest).
 
 ______________
@@ -22,5 +7,6 @@
 2.0.0   - Add to guest the possibility to vote for a concours (BETA)
         - Some correction (code and database structure)
-
+        - Correct hour/min bug when time is set to 00h00 and control coherence between end and begin dates/hours
+        - Correct export to csv file (utf8decode)
 ______________
 
Index: extensions/ConcoursPhoto/admin/add_concours.php
===================================================================
--- extensions/ConcoursPhoto/admin/add_concours.php	(revision 8946)
+++ extensions/ConcoursPhoto/admin/add_concours.php	(revision 8965)
@@ -40,4 +40,5 @@
 
 
+
   
 // Month initialization for date selection...
@@ -66,4 +67,19 @@
 }
 
+
+// Add informations from previous pages if present
+if (isset($_GET['infos']) && isset($concours))
+{
+  $infos = $_GET['infos'];
+  switch($infos)
+  {
+    case "1" :
+    array_push($page['errors'],  sprintf( l10n('concours_end_date_change_to') ,$concours->concours_infos['end_date'] ));
+    break;
+        
+  }
+            
+}
+
  
 // Add criteria
@@ -75,8 +91,11 @@
 {
 
-	$concours->concours_infos['method'] = $_POST['concours_method'];
 
 	if ($action == "modify_crit")
-		redirect(PHPWG_ROOT_PATH.'admin.php?page=plugin&section=' . CONCOURS_DIR . '%2Fadmin%2Fadmin.php');
+    {
+        $concours->infos = 0;
+        redirect(PHPWG_ROOT_PATH.'admin.php?page=plugin&section=' . CONCOURS_DIR . '%2Fadmin%2Fadmin.php&amp;concours=' . $concours_id.(isset($concours->infos) ? '&amp;infos=' .$concours->infos: ''));
+//		redirect(PHPWG_ROOT_PATH.'admin.php?page=plugin&section=' . CONCOURS_DIR . '%2Fadmin%2Fadmin.php');
+    }
 
 	if ($action == "edit")
@@ -87,4 +106,6 @@
 		redirect(PHPWG_ROOT_PATH.'admin.php?page=plugin&section=' . CONCOURS_DIR . '%2Fadmin%2Fadmin.php');
 	}
+
+    $concours->concours_infos['method'] = $_POST['concours_method'];
 
 // Step 1 : action = modify
@@ -113,5 +134,36 @@
     $concours->concours_infos['end_date'] = sprintf("%04d-%02d-%02d %02d:%02d:%02d",$_POST['end_year'], $_POST['end_month'], $_POST['end_day'], $_POST['end_hour'], $_POST['end_min'], 0);
 
-
+if ($concours->debug)	
+{
+    echo "BEGIN=".$concours->concours_infos['begin_date']."\n";
+    echo "END=".$concours->concours_infos['end_date']."\n";
+    sleep(5);
+}
+    
+    $BeginToEnd = NbJours($concours->concours_infos['begin_date'], $concours->concours_infos['end_date']);
+//    echo "NB=".$BeginToEnd;
+    // Test if end date is lower than end date
+    if ($BeginToEnd == 0)
+    {
+        $tBeginDate = explodeDateArray($concours->concours_infos['begin_date']);
+        $tEndDate = explodeDateArray($concours->concours_infos['end_date']);
+//    echo "Hour=".intval($tBeginDate[3])." / ".intval($tEndDate[3]);
+//    echo "Min=".intval($tBeginDate[4])." / ".intval($tEndDate[4]);
+        if ( (intval(@$tEndDate[3]) < intval(@$tBeginDate[3]))    // End hour is lower than begin hour 
+            OR ( (intval(@$tBeginDate[3]) == intval(@$tEndDate[3]))    // End hour is equal to begin hour 
+                 AND (intval(@$tEndDate[4]) < intval(@$tBeginDate[4]))) // End min is lower than begin hour
+            )
+        {
+            $concours->concours_infos['end_date'] = AjoutJours ($concours->concours_infos['begin_date'], 1);
+            $concours->infos = 1;  // sprintf( l10n('concours_end_date_change_to') ,$concours->concours_infos['end_date'] ));
+        }
+    }
+    elseif ($BeginToEnd < 0 )
+    {
+        $concours->concours_infos['end_date'] = AjoutJours ($concours->concours_infos['begin_date'], 1);
+        $concours->infos = 1;  // sprintf( l10n('concours_end_date_change_to') ,$concours->concours_infos['end_date'] ));
+    }
+    // End test date
+        
 	$concours->concours_infos['groups'] = (!empty($_POST['groups']) ? '"' . implode(',', $_POST['groups']) . '"' : 'NULL');
 	$concours->concours_infos['guest'] = isset($_POST['guest']);
@@ -131,14 +183,16 @@
 if ($concours->debug)	sleep(5);
 			// Redirect to admin
-			redirect(PHPWG_ROOT_PATH.'admin.php?page=plugin&section=' . CONCOURS_DIR . '%2Fadmin%2Fadmin.php&amp;tab=add_concours&amp;action=modify_crit&amp;concours=' . $concours_id);
+			redirect(PHPWG_ROOT_PATH.'admin.php?page=plugin&section=' . CONCOURS_DIR . '%2Fadmin%2Fadmin.php&amp;tab=add_concours&amp;action=modify_crit&amp;concours=' . $concours_id.(isset($concours->infos) ? '&amp;infos=' .$concours->infos: ''));
 
 			break;
 		case "modify" :
-			$concours->update_concours();
-			redirect(PHPWG_ROOT_PATH.'admin.php?page=plugin&section=' . CONCOURS_DIR . '%2Fadmin%2Fadmin.php&amp;tab=add_concours&amp;action=modify_crit&amp;concours=' . $concours_id);
+            $concours->update_concours();
+			redirect(PHPWG_ROOT_PATH.'admin.php?page=plugin&section=' . CONCOURS_DIR . '%2Fadmin%2Fadmin.php&amp;tab=add_concours&amp;action=modify_crit&amp;concours=' . $concours_id.(isset($concours->infos) ? '&amp;infos=' .$concours->infos: ''));
 
 			break;
 		case "modify_crit" :
-			redirect(PHPWG_ROOT_PATH.'admin.php?page=plugin&section=' . CONCOURS_DIR . '%2Fadmin%2Fadmin.php');
+//        echo "ICI";sleep(5);
+            $concours->infos = 0;
+			redirect(PHPWG_ROOT_PATH.'admin.php?page=plugin&section=' . CONCOURS_DIR . '%2Fadmin%2Fadmin.php&amp;concours=' . $concours_id.(isset($concours->infos) ? '&amp;infos=' .$concours->infos: ''));
 			break;
 	}
Index: extensions/ConcoursPhoto/admin/admin.php
===================================================================
--- extensions/ConcoursPhoto/admin/admin.php	(revision 8946)
+++ extensions/ConcoursPhoto/admin/admin.php	(revision 8965)
@@ -42,4 +42,25 @@
 $tabsheet->assign();
 
+if (isset($_GET['concours']))
+{
+    // Get informations from base for concours_id
+    $concours = new Concours($_GET['concours']);
+}
+
+
+// Add informations from previous pages if present
+if (isset($_GET['infos']) && isset($concours))
+{
+  $infos = $_GET['infos'];
+  switch($infos)
+  {
+    case "0" :
+    array_push($page['infos'],  sprintf( l10n('concours_saved'), $concours->concours_id, $concours->concours_infos['name']));
+    break;
+
+    }
+            
+}
+
 
 // Include file
Index: extensions/ConcoursPhoto/admin/template/add_concours.tpl
===================================================================
--- extensions/ConcoursPhoto/admin/template/add_concours.tpl	(revision 8946)
+++ extensions/ConcoursPhoto/admin/template/add_concours.tpl	(revision 8965)
@@ -129,6 +129,14 @@
           </td>
           <td>
-            <input id="start_hour" name="start_hour" value="{$START_HOUR}" type="text" size="2" maxlength="2" >:
-            <input id="start_min" name="start_min" value="{$START_MIN}" type="text" size="2" maxlength="2" >
+              <select id="start_hour" name="start_hour">
+                {section name=hour start=0 loop=24}
+                <option value="{$smarty.section.hour.index}" {if $smarty.section.hour.index==$START_HOUR}selected="selected"{/if}>{$smarty.section.hour.index}</option>
+                {/section}
+              </select>
+              <select id="start_min" name="start_min">
+                {section name=min start=0 loop=60}
+                <option value="{$smarty.section.min.index}" {if $smarty.section.min.index==$START_MIN}selected="selected"{/if}>{$smarty.section.min.index}</option>
+                {/section}
+              </select>
           </td>
         </tr>
@@ -154,6 +162,14 @@
           </td>
           <td>
-            <input id="end_hour" name="end_hour" value="{$END_HOUR}" type="text" size="2" maxlength="2" >:
-            <input id="end_min" name="end_min" value="{$END_MIN}" type="text" size="2" maxlength="2" >
+              <select id="end_hour" name="end_hour">
+                {section name=hour start=0 loop=24}
+                <option value="{$smarty.section.hour.index}" {if $smarty.section.hour.index==$END_HOUR}selected="selected"{/if}>{$smarty.section.hour.index}</option>
+                {/section}
+              </select>
+              <select id="end_min" name="end_min">
+                {section name=min start=0 loop=60}
+                <option value="{$smarty.section.min.index}" {if $smarty.section.min.index==$END_MIN}selected="selected"{/if}>{$smarty.section.min.index}</option>
+                {/section}
+              </select>
           </td>
            
Index: extensions/ConcoursPhoto/include/Concours.class.php
===================================================================
--- extensions/ConcoursPhoto/include/Concours.class.php	(revision 8946)
+++ extensions/ConcoursPhoto/include/Concours.class.php	(revision 8965)
@@ -1686,5 +1686,5 @@
 		}
 if ($this->debug)		echo $file;
-		return $file;
+		return utf8_decode($file);
 	
 		
Index: extensions/ConcoursPhoto/language/en_UK/plugin.lang.php
===================================================================
--- extensions/ConcoursPhoto/language/en_UK/plugin.lang.php	(revision 8946)
+++ extensions/ConcoursPhoto/language/en_UK/plugin.lang.php	(revision 8965)
@@ -97,3 +97,5 @@
 $lang['concours_author_vote']           = 'Allow author of a photo to vote (disable the check based on username/author)';
 $lang['concours_change_score']          = 'Allow user to change his score after a validation';
+$lang['concours_end_date_change_to']    = 'End date changed to %s';
+$lang['concours_saved']                 = 'Concours %s-%s saved';
 ?>
Index: extensions/ConcoursPhoto/language/fr_FR/plugin.lang.php
===================================================================
--- extensions/ConcoursPhoto/language/fr_FR/plugin.lang.php	(revision 8946)
+++ extensions/ConcoursPhoto/language/fr_FR/plugin.lang.php	(revision 8965)
@@ -97,3 +97,5 @@
 $lang['concours_author_vote']           = 'Autoriser les auteurs à voter pour leur propres photos (désactive le contrôle username=auteur)';
 $lang['concours_change_score']          = 'Autoriser les votants à modifier les notes après validation';
+$lang['concours_end_date_change_to']    = 'La date de fin du concours a été modifié : %s';
+$lang['concours_saved']                 = 'Concours %s-%s sauvegardé';
 ?>
Index: extensions/ConcoursPhoto/result/index.php
===================================================================
--- extensions/ConcoursPhoto/result/index.php	(revision 8946)
+++ extensions/ConcoursPhoto/result/index.php	(revision 8965)
