Index: /extensions/event_cats/admin/template/autolog_entries.tpl
===================================================================
--- /extensions/event_cats/admin/template/autolog_entries.tpl	(revision 4180)
+++ /extensions/event_cats/admin/template/autolog_entries.tpl	(revision 4181)
@@ -7,11 +7,11 @@
   {if $ec_ap_ok}
     {'ec_plugin_ap_ok'|@translate}
-    <script type = "text/javascript"><!--
-      var ec_ap_ok = true; //-->
+    <script type = "text/javascript">
+      var ec_ap_ok = true;
     </script>
   {else}
     {'ec_plugin_ap_nok'|@translate}
-    <script type = "text/javascript"><!--
-      var ec_ap_ok = false; //-->
+    <script type = "text/javascript">
+      var ec_ap_ok = false;
     </script>
   {/if}
@@ -24,5 +24,10 @@
   
   <div style = "text-align:center; font-weight:bold; font-size:120%;">
-    <a href = "#ec_top" name = "ec_top" title = "{'ec_top_title'|@translate}"><label>{'ec_entry_table_title'|@translate}</label></a><br>
+    <a href = "#ec_top" name = "ec_top" title = "{'ec_top_title'|@translate}">
+      <!--[if !IE]> <--> <label> <!--> <![endif]-->
+        {'ec_entry_table_title'|@translate}
+      <!--[if !IE]> <--> </label> <!--> <![endif]-->
+      <!-- What we're able to do for our "prefered" browser |-( ...!  -->
+    </a><br>
   </div><br>
   
@@ -122,5 +127,5 @@
 {* <!-- JavaScript functions --> *}
 <script type = "text/javascript" src = "{$RACINE_URL}{$EVNTCATS_PATH}admin/template/autolog_entries.js"></script>
-<script type = "text/javascript"><!--
+<script type = "text/javascript">
   ec_JS_message['ec_confirm_delete']  = "{'ec_confirm_delete'|@translate|@escape:javascript}";
   ec_JS_message['ec_confirm_disable'] = "{'ec_confirm_disable'|@translate|@escape:javascript}";
@@ -129,5 +134,5 @@
   ec_JS_message['ec_clk_entry_miss']  = "{'ec_clk_entry_miss'|@translate|@escape:javascript}";
   ec_init();
-//--></script>
+</script>
 
 {include file='../../../plugins/event_cats/admin/template/footer.inc.tpl'}
Index: /extensions/event_cats/admin/template/autolog_new.js
===================================================================
--- /extensions/event_cats/admin/template/autolog_new.js	(revision 4180)
+++ /extensions/event_cats/admin/template/autolog_new.js	(revision 4181)
@@ -21,4 +21,5 @@
 var ec_default_entry            = '';
 var ec_up_code_lbl_forced_txt   = '';
+var ec_original_old_user        = '';
 var ec_selected_old_entry       = '-1';
 var ec_selected_old_code        = '-1';
@@ -72,4 +73,5 @@
       ec_selected_user = 'ec_sel_user_old';
       ec_selected_old_user = ec_lists['user_id'][ec_id];
+      ec_original_old_user = ec_selected_old_user;
       if (
         ec_lists['arg1'][ec_id] != '' &&
@@ -551,6 +553,8 @@
   var t1 = true;
   var t2 = true;
+  var t3 = false;
   if (ec_dont_check) return true;
   if (ec_is_creation) {
+    t3 = de('ec_sel_code_old').checked != '';
     if ((
       de('ec_sel_code_new').checked != '' &&
@@ -588,4 +592,10 @@
       return false;
     }
+    if (
+      de('ec_sel_user_new').checked != '' || (
+        de('ec_sel_user_old').checked != '' &&
+        ec_original_old_user != d.ec_new_code.ec_in_up_usr_list.value
+      )
+    ) if (!confirm(ec_JS_message['ec_confirm_change_user'])) return false;
   }
   if ((
@@ -629,7 +639,10 @@
     return false;
   }
-  if ((!ec_is_creation && !t1) ||
-    (de('ec_in_up_forced_id').checked != '' && de('ec_sel_code_old').checked != '')
-  ) return confirm(ec_JS_message['ec_confirm_del_other']);
+  if (!ec_is_creation && !t1)
+   return confirm(ec_JS_message['ec_confirm_del_other']);
+  else if (
+    (!ec_is_creation || t3) &&
+    de('ec_in_up_forced_id').checked != ''
+  ) return confirm(ec_JS_message['ec_confirm_force']);
   return true;
 }
Index: /extensions/event_cats/admin/template/autolog_new.tpl
===================================================================
--- /extensions/event_cats/admin/template/autolog_new.tpl	(revision 4180)
+++ /extensions/event_cats/admin/template/autolog_new.tpl	(revision 4181)
@@ -26,5 +26,5 @@
   <div style = "text-align:center;">
     <a style = "font-weight:bold; font-size:120%;" href = "#ec_top" name = "ec_top" title = "{'ec_top_title'|@translate}">
-      <label>
+      <!--[if !IE]> <--> <label> <!--> <![endif]-->
         {if $ec_is_creation}
           {'ec_new_entry_title'|@translate}
@@ -32,5 +32,6 @@
           {'ec_modify_entry_title'|@translate}
         {/if}
-      </label>
+      <!--[if !IE]> <--> </label> <!--> <![endif]-->
+      <!-- What we're able to do for our "prefered" browser |-( ...!  -->
     </a>
     {if $ec_is_creation}
@@ -172,5 +173,5 @@
                 {'ec_new_user_group'|@translate}
               </span><br>
-              <input type = "text" name = "ec_in_up_grp_txt" id = "ec_in_up_grp_txt_id" maxlength = "32"
+              <input type = "text" name = "groupname" id = "ec_in_up_grp_txt_id" maxlength = "32"
                size = "20" onblur = "ec_new_grp_text = this.value; if (this.value != '') ec_selected_old_group = true;"
               />
@@ -274,8 +275,10 @@
   ec_JS_message['ec_new_pwd_gen2']        = "{'ec_new_pwd_gen2'|@translate|@escape:javascript}";
   ec_JS_message['ec_act_entry_miss']      = "{'ec_act_entry_miss'|@translate|@escape:javascript}";
+  ec_JS_message['ec_confirm_force']       = "{'ec_confirm_force'|@translate|@escape:javascript}";
   ec_JS_message['ec_confirm_del_other']   = "{'ec_confirm_del_other'|@translate|@escape:javascript}";
   ec_JS_message['ec_user_already_exists'] = "{'ec_user_already_exists'|@translate|@escape:javascript}";
   ec_JS_message['ec_code_already_exists'] = "{'ec_code_already_exists'|@translate|@escape:javascript}";
   ec_JS_message['ec_conf_pwd_dont_match'] = "{'ec_conf_pwd_dont_match'|@translate|@escape:javascript}";
+  ec_JS_message['ec_confirm_change_user'] = "{'ec_confirm_change_user'|@translate|@escape:javascript}";
   ec_JS_message['ec_up_code_lbl_home']    = "{'ec_up_code_lbl_home'|@translate}";
   ec_JS_message['ec_submit_code_miss']    = "{'ec_submit_code_miss'|@translate}";
Index: /extensions/event_cats/include/evntcats_admin_funcs.inc.php
===================================================================
--- /extensions/event_cats/include/evntcats_admin_funcs.inc.php	(revision 4180)
+++ /extensions/event_cats/include/evntcats_admin_funcs.inc.php	(revision 4181)
@@ -63,17 +63,84 @@
 
 /*
- * ec_end2()
- * Process repetitive task when error in database modifying functions.
- *
- * @param
- *   $msg : message
- *   $num : number precising the point where the error occurred
- * @return
- *   false as this function is used when there is a problem
- */
-function ec_end2($msg, $num) {
+ * ec_create_user_OK()
+ * Creates new generic user and eventually new group as described in $_POST.
+ *
+ * @param
+ *   no param needed
+ * @return
+ *   the created user_id or false whether all operations suceeded or not
+ */
+function ec_create_user_OK() {
   global $page;
   
-  return false;
+  // This function assumes that the validity of the different indexes it uses,
+  // have been checked before it is used.
+  
+  // User creation, as generic
+  $ec_user_id = false;
+  $page['errors'] = register_user(
+   $_POST['login'], $_POST['password'], '', false
+  );
+  if (
+    count($page['errors']) != 0 or
+    !($ec_user_id = get_userid($_POST['login']))
+  ) {
+    array_unshift($page['errors'], l10n('ec_user_create_pb'));
+    return false;
+  }
+  else
+   $page['infos'][] = l10n('ec_user_create_OK').$_POST['login'];
+  if (
+    pwg_query("
+      UPDATE `".USER_INFOS_TABLE."`
+      SET `status` = 'generic'
+      WHERE `user_id` = ".$ec_user_id.";
+    ") !== false
+  )
+   $page['infos'][] = l10n('ec_user_generic_OK').$_POST['login'];
+  else
+   $page['errors'][] =l10n('ec_user_generic_pb').$_POST['login'];
+  
+  // New group creation if required,
+  // and association with user_id at the same time
+  if (
+    isset($_POST['ec_in_up_newgroup']) and
+    isset($_POST['groupname']) and
+    $_POST['groupname'] != ''
+  ) {
+    $t2 = 0; $t3 = false; $t4 = false;
+    while (
+      !($t3 = mysql_fetch_row(pwg_query("
+        SELECT `id`
+        FROM `".GROUPS_TABLE."`
+        WHERE `name` = '".$_POST['groupname']."';
+      "))) and
+      $t2++ == 0
+    ) $t4 = pwg_query("
+        INSERT INTO `".GROUPS_TABLE."` (`name`, `is_default`)
+        VALUES ('".$_POST['groupname']."', 'false');
+      ");
+    if ($t4)
+     $page['infos'][]=l10n('ec_group_create_OK').$_POST['groupname'];
+    if (!$t3)
+     $page['errors'][] =
+      l10n('ec_group_create_pb').' (1) ; '.
+      'MySQL error '.mysql_errno().', "'.mysql_error().'"';
+    if (
+      pwg_query("
+        INSERT INTO `".USER_GROUP_TABLE."` (`user_id`, `group_id`)
+        VALUES ('".$ec_user_id."', '".$t3[0]."');
+      ") === false
+    ) $page['errors'][] =
+     l10n('ec_group_create_pb').' (2) ; '.
+     'MySQL error '.mysql_errno().', "'.mysql_error().'"';
+    else
+     $page['infos'][] =
+      $_POST['login'].
+      l10n('ec_group_create_OK2').
+      $_POST['groupname']
+     ;
+  }
+  return $ec_user_id;
 }
 
@@ -168,71 +235,8 @@
   
   // code and user_id (if needed) are OK, creation can be done
-  if ($_POST['ec_sel_user'] == 'new') {
-    
-    // User creation, as generic
-    $page['errors'] = register_user(
-     $_POST['login'], $_POST['password'], '', false
-    );
-    if (
-      count($page['errors']) != 0 or
-      !($ec_user_id = get_userid($_POST['login']))
-    ) {
-      array_unshift($page['errors'], l10n('ec_user_create_pb'));
-      return false;
-    }
-    else
-     $page['infos'][] = l10n('ec_user_create_OK').$_POST['login'];
-    if (
-      pwg_query("
-        UPDATE `".USER_INFOS_TABLE."`
-        SET `status` = 'generic'
-        WHERE `user_id` = ".$ec_user_id.";
-      ") !== false
-    )
-     $page['infos'][] = l10n('ec_user_generic_OK').$_POST['login'];
-    else
-     $page['errors'][] =l10n('ec_user_generic_pb').$_POST['login'];
-    
-    // New group creation if required,
-    // and association with user_id at the same time
-    if (
-      isset($_POST['ec_in_up_newgroup']) and
-      isset($_POST['ec_in_up_grp_txt']) and
-      $_POST['ec_in_up_grp_txt'] != ''
-    ) {
-      $t2 = 0; $t4 = false;
-      while (
-        !($t3 = mysql_fetch_row(pwg_query("
-          SELECT `id`
-          FROM `".GROUPS_TABLE."`
-          WHERE `name` = '".$_POST['ec_in_up_grp_txt']."';
-        "))) and
-        $t2++ == 0
-      ) $t4 = pwg_query("
-          INSERT INTO `".GROUPS_TABLE."` (`name`, `is_default`)
-          VALUES ('".$_POST['ec_in_up_grp_txt']."', 'false');
-        ");
-      if ($t4)
-       $page['infos'][]=l10n('ec_group_create_OK').$_POST['ec_in_up_grp_txt'];
-      if (!$t3)
-       $page['errors'][] =
-        l10n('ec_group_create_pb').' (1) ; '.
-        'MySQL error '.mysql_errno().', "'.mysql_error().'"';
-      if (
-        pwg_query("
-          INSERT INTO `".USER_GROUP_TABLE."` (`user_id`, `group_id`)
-          VALUES ('".$ec_user_id."', '".$t3[0]."');
-        ") === false
-      ) $page['errors'][] =
-       l10n('ec_group_create_pb').' (2) ; '.
-       'MySQL error '.mysql_errno().', "'.mysql_error().'"';
-      else
-       $page['infos'][] =
-        $_POST['login'].
-        l10n('ec_group_create_OK2').
-        $_POST['ec_in_up_grp_txt']
-       ;
-    }
-  }
+  
+  // User and eventually group creation, if needed
+  if ($_POST['ec_sel_user'] == 'new')
+   if (!($ec_user_id = ec_create_user_OK())) return false;
   
   // Preparation of $arg1, $arg2 and $forced
@@ -293,9 +297,4 @@
     return true;
   }
-  /*
-  
-  $page['errors'][] = 'Y\'a p\'têt\' ben eu une erreur...';
-  
-   */
 }
 
@@ -318,10 +317,9 @@
     $arg1 = ''; $arg2 = '';
     switch ($_POST['ec_input_action']) {
+      // case 'home':  // Home : nothing to do : "arg"s are ''
       case 'add_p':
         if (array_key_exists($_POST['ec_in_up_aps'],$ec_lists['add_pages'])) {
          $arg2 = $_POST['ec_in_up_aps']; }
         else return ec_end1('ec_in_up_aps', 'ec_bad_argument4');
-      case 'home':
-      break;
       case 'img':
       case 'cat':
Index: /extensions/event_cats/language/fr_FR/plugin.lang.php
===================================================================
--- /extensions/event_cats/language/fr_FR/plugin.lang.php	(revision 4180)
+++ /extensions/event_cats/language/fr_FR/plugin.lang.php	(revision 4181)
@@ -76,6 +76,7 @@
 $lang['ec_confirm_delete']        = "Vraiment supprimer l'entrée sélectionnée ?";
 $lang['ec_confirm_disable']       = "Vraiment rendre périmé le code sélectionné ?\n\rCela supprimera toutes les autres entrées utilisant le même code, s'il y en a.";
-$lang['ec_confirm_force']         = "Vraiment forcer l'affichage pour le code sélectionné ?\n\rCela supprimera toutes les autres entrées utilisant le même code, s'il y en a.";
+$lang['ec_confirm_force']         = "Forcer l'affichage pour le code sélectionné\n\rsupprimera toutes les autres entrées utilisant le même code, s'il y en a. OK ?";
 $lang['ec_confirm_del_other']     = "Cela supprimera toutes les autres entrées utilisant le même code, s'il y en a.\n\rOK ?";
+$lang['ec_confirm_change_user']   = "Modifier l'utilisateur identifié supprimera\n\rtoutes les autres entrées utilisant le même code, s'il y en a. OK ?";
 $lang['ec_gen_user_act_miss']     = 'Sélectionnez d\'abord une page à afficher';
 $lang['ec_act_cat_miss']          = 'Catégorie ?';
