Index: /extensions/NBC_UserAdvManager/branches/2.15/changelog.txt.php
===================================================================
--- /extensions/NBC_UserAdvManager/branches/2.15/changelog.txt.php	(revision 8040)
+++ /extensions/NBC_UserAdvManager/branches/2.15/changelog.txt.php	(revision 8041)
@@ -202,4 +202,8 @@
             Bug 1936 fixed - Bad home link in ConfirmMail page when gallery URL is not set
             small CSS improvement (thx to Gotcha)
+
+-- 2.15.9 : Bug 2010 fixed - No confirmation email when information email is not set
+
+-- 2.15.10 : Bug 2050 fixed - Compatibility with Captcha
 */
 ?>
Index: /extensions/NBC_UserAdvManager/branches/2.15/language/it_IT/plugin.lang.php
===================================================================
--- /extensions/NBC_UserAdvManager/branches/2.15/language/it_IT/plugin.lang.php	(revision 8040)
+++ /extensions/NBC_UserAdvManager/branches/2.15/language/it_IT/plugin.lang.php	(revision 8041)
@@ -20,5 +20,4 @@
 $lang['title_confirm_mail'] = 'Confermare la vostra iscrizzione';
 $lang['confirm_mail_page_title'] = 'Confermare l\'iscrizzione';
-$lang['confirm_mail_ok'] = '<br><br><br>Grazie per aver confermato il vostro indirizzo Email e per l\'iscrizione sulla galleria. Buona visione!<br><br><br><br>';
 
 
@@ -103,4 +102,5 @@
 /* UserList Tab */
 $lang['UserList_Title'] = 'Monitoraggio degli utenti registrati';
+$lang['Tab_UserList'] = 'Monitoraggio degli utenti';
 // --------- End: New or revised $lang ---- from version 2.13.0
 
@@ -142,7 +142,7 @@
 $lang['UAM_Confirm_Mail_false'] = ' Disattivare (di default)';
 $lang['UAM_ConfirmMail_Text'] = ' Personalizzare il testo dell\'Email di conferma:';
-$lang['UAM_Confirm_grpstat_notice'] = 'ATTENZIONE: Si consiglia di utilizzare o il gruppo o lo statuto di convalida ma non entrambi simultaneamente.';
 $lang['UAM_Confirm_Group'] = 'Gruppi di convalida<br>(------- per non assegnare nessun gruppo)';
 $lang['UAM_Confirm_Status'] = 'Convalida Statuti<br>(Invia ------- per mantenere il valore di default di Piwigo)';
+$lang['UAM_Confirm_grpstat_notice'] = 'ATTENZIONE: Si consiglia di utilizzare o il gruppo o lo statuto di convalida ma non entrambi simultaneamente.';
 $lang['UAM_No_Confirm_Group'] = 'Gruppo per gli utenti che non hanno convalidato la loro iscrizione<br>';
 $lang['UAM_Validated_Group'] = 'Gruppo per gli utenti che hanno convalidato la loro iscrizione<br>';
@@ -183,10 +183,7 @@
 /* UserList Tab */
 $lang['SubTitle5'] = 'Infos sugli utenti';
-$lang['Tab_UserList'] = 'Monitoraggio degli utenti';
 /* Mailing */
 $lang['Add of %s'] = 'Profilo creato per %s';
 $lang['Update of %s'] = 'Profilo %s aggiornato';
-/* Email confirmation page */
-$lang['confirm_mail_bad'] = '<br><br><br>La vostra chiave di attivazione non è corretta o è scaduta o è già stata usata per convalidare il vostro account. Si prega di contattare il webmaster per risolvere questo problema.<br><br><br><br>';
 /* Mailing */
 $lang['Ghost_reminder_of_%s'] = '%s, questa è un\'Email di rilancio';
@@ -264,8 +261,8 @@
 
 // --------- Starting below: New or revised $lang ---- from version 2.15.4
-/*TODO*/$lang['Force_Validation'] = 'Manual validation';
-/*TODO*/$lang['UAM_Confirm_Mail_true'] = ' Enable - Validation by user';
-/*TODO*/$lang['UAM_Confirm_Mail_local'] = ' Enable - Validation by admin (no validation key sent)';
-/*TODO*/$lang['UAM_RedirToProfile'] = 'Redirect to "Customization" page';
+$lang['Force_Validation'] = 'Validazione manuale';
+$lang['UAM_Confirm_Mail_true'] = ' Attivare - Validazione dal utente';
+$lang['UAM_Confirm_Mail_local'] = ' Attivare - Validazione dal amministratore (nessuna chiave di validazione inviata)';
+$lang['UAM_RedirToProfile'] = 'Ridirezione verso la pagina di personalizzazione';
 $lang['UAM_RedirToProfile_false'] = ' Disattivare (di default)';
 $lang['UAM_RedirToProfile_true'] = ' Attivare';
Index: /extensions/NBC_UserAdvManager/branches/2.15/main.inc.php
===================================================================
--- /extensions/NBC_UserAdvManager/branches/2.15/main.inc.php	(revision 8040)
+++ /extensions/NBC_UserAdvManager/branches/2.15/main.inc.php	(revision 8041)
@@ -2,5 +2,5 @@
 /*
 Plugin Name: UserAdvManager
-Version: 2.15.9
+Version: 2.15.10
 Description: Renforcer la gestion des utilisateurs - Enforce users management
 Plugin URI: http://fr.piwigo.org/ext/extension_view.php?eid=216
@@ -168,90 +168,13 @@
 add_event_handler('register_user_check', 'UAM_RegistrationCheck', EVENT_HANDLER_PRIORITY_NEUTRAL, 2);
 
-function UAM_RegistrationCheck($err, $user)
-{
-  global $errors, $conf;
+function UAM_RegistrationCheck($errors, $user)
+{
+  global $conf;
 
   // Exclusion of Adult_Content users
   if ($user['username'] != "16" and $user['username'] != "18")
   {
-// ***********************************************************
-// We need to reset the standard Piwigo's register controls   
-// because the call of register_user_check trigger resets them
-// ***********************************************************
-  // **********************************
-  // Standard Piwigo's username control
-  // **********************************
-    if ($_POST['login'] == '')
-    {
-      return l10n('reg_err_login1');
-    }
-    if (preg_match('/^.* $/', $_POST['login']))
-    {
-      return l10n('reg_err_login2');
-    }
-    if (preg_match('/^ .*$/', $_POST['login']))
-    {
-      return l10n('reg_err_login3');
-    }
-    if (get_userid($_POST['login']))
-    {
-      return l10n('reg_err_login5');
-    }
-  
-    if (script_basename() == 'admin' and isset($_GET['page']) and $_GET['page'] == 'user_list') // not the same email variable if we are on users registration page or on admin's user registration page
-    {
-    // Email doblons check
-      $atom   = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]';   // before  arobase
-      $domain = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)'; // domain name
-      $regex = '/^' . $atom . '+' . '(\.' . $atom . '+)*' . '@' . '(' . $domain . '{1,63}\.)+' . $domain . '{2,63}$/i';
-  
-      if (!preg_match($regex, $_POST['email']))
-      {
-        return l10n('reg_err_mail_address');
-      }
-    
-      $query = '
-SELECT count(*)
-FROM '.USERS_TABLE.'
-WHERE upper('.$conf['user_fields']['email'].') = upper(\''.$_POST['email'].'\')
-;';
-      list($count) = pwg_db_fetch_row(pwg_query($query));
-      if ($count != 0)
-      {
-        return l10n('reg_err_mail_address_dbl');
-      }
-    }
-
-    if (script_basename() == 'register') // not the same email variable if we are on users registration page or on admin's user registration page
-    {
-  // Email doblons check
-      $atom   = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]';   // before  arobase
-      $domain = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)'; // domain name
-      $regex = '/^' . $atom . '+' . '(\.' . $atom . '+)*' . '@' . '(' . $domain . '{1,63}\.)+' . $domain . '{2,63}$/i';
-  
-      if (!preg_match($regex, $_POST['mail_address']))
-      {
-        return l10n('reg_err_mail_address');
-      }
-    
-      $query = '
-SELECT count(*)
-FROM '.USERS_TABLE.'
-WHERE upper('.$conf['user_fields']['email'].') = upper(\''.$_POST['mail_address'].'\')
-;';
-      list($count) = pwg_db_fetch_row(pwg_query($query));
-      if ($count != 0)
-      {
-        return l10n('reg_err_mail_address_dbl');
-      }
-    }
-// ******************************************
-// End of Piwigo's standard register controls
-// ******************************************
-
-
-// ******************************************
-// Here begins the advanced register controls
-// ******************************************
+    load_language('plugin.lang', UAM_PATH);
+
     $PasswordCheck = 0;
 
@@ -268,5 +191,6 @@
         {
           $message = get_l10n_args('reg_err_login4_%s', $PasswordCheck);
-          return($lang['reg_err_pass'] = l10n_args($message).$conf_UAM[14]);
+          $lang['reg_err_pass'] = l10n_args($message).$conf_UAM[14];
+          array_push($errors, $lang['reg_err_pass']);
         }
       }
@@ -278,5 +202,6 @@
         {
           $message = get_l10n_args('reg_err_login4_%s', $PasswordCheck);
-          return($lang['reg_err_pass'] = l10n_args($message).$conf_UAM[14]);
+          $lang['reg_err_pass'] = l10n_args($message).$conf_UAM[14];
+          array_push($errors, $lang['reg_err_pass']);
         }
       }
@@ -284,16 +209,17 @@
 
     // Username without forbidden keys
-    if (isset($conf_UAM[6]) and $conf_UAM[6] == 'true' and !empty($_POST['login']) and ValidateUsername($_POST['login']) and !is_admin())
-    {
-      $_POST['login'] = '';
-      return($lang['reg_err_login1'] = l10n('reg_err_login6')."'".$conf_UAM[7]."'");
+    if (isset($conf_UAM[6]) and $conf_UAM[6] == 'true' and !empty($user['username']) and ValidateUsername($user['username']) and !is_admin())
+    {
+      $lang['reg_err_login1'] = l10n('reg_err_login6')."'".$conf_UAM[7]."'";
+      array_push($errors, $lang['reg_err_login1']);
     }
 
     // Email without forbidden domains
-    if (isset($conf_UAM[11]) and $conf_UAM[11] == 'true' and !empty($_POST['mail_address']) and ValidateEmailProvider($_POST['mail_address']) and !is_admin())
-    {
-      $_POST['mail_address'] = '';
-      return($lang['reg_err_login1'] = l10n('reg_err_login7')."'".$conf_UAM[12]."'");
-    }
+    if (isset($conf_UAM[11]) and $conf_UAM[11] == 'true' and !empty($user['email']) and ValidateEmailProvider($user['email']) and !is_admin())
+    {
+      $lang['reg_err_login1'] = l10n('reg_err_login7')."'".$conf_UAM[12]."'";
+      array_push($errors, $lang['reg_err_login1']);
+    }
+    return $errors;
   }
 }
