Index: extensions/UserAdvManager/trunk/admin/UAM_admin.php
===================================================================
--- extensions/UserAdvManager/trunk/admin/UAM_admin.php	(revision 12552)
+++ extensions/UserAdvManager/trunk/admin/UAM_admin.php	(revision 12661)
@@ -78,5 +78,5 @@
 $height = '300px';
 $areas = array();
-array_push( $areas,'UAM_ConfirmMail_Custom_Txt1','UAM_ConfirmMail_Custom_Txt2','UAM_GTAutoDelText','UAM_USRAutoDelText');
+array_push( $areas,'UAM_ConfirmMail_Custom_Txt1','UAM_ConfirmMail_Custom_Txt2','UAM_GTAutoDelText','UAM_USRAutoDelText','UAM_CustomRejectConnexion_Text');
 
 if (function_exists('set_fckeditor_instance'))
@@ -109,5 +109,5 @@
   case 'global':
 
-	if (isset($_POST['submit']) and isset($_POST['UAM_Mail_Info']) and isset($_POST['UAM_Username_Char']) and isset($_POST['UAM_Confirm_Mail']) and isset($_POST['UAM_Password_Enforced']) and isset($_POST['UAM_AdminPassword_Enforced']) and isset($_POST['UAM_GhostUser_Tracker']) and isset($_POST['UAM_Admin_ConfMail']) and isset($_POST['UAM_RedirToProfile']) and isset($_POST['UAM_GTAuto']) and isset($_POST['UAM_GTAutoMail']) and isset($_POST['UAM_CustomPasswRetr']) and isset($_POST['UAM_USRAuto']) and isset($_POST['UAM_USRAutoMail']) and isset($_POST['UAM_Stuffs']) and isset($_POST['UAM_HidePassw']) and isset($_POST['UAM_PwdReset']))
+	if (isset($_POST['submit']) and isset($_POST['UAM_Mail_Info']) and isset($_POST['UAM_Username_Char']) and isset($_POST['UAM_Confirm_Mail']) and isset($_POST['UAM_Password_Enforced']) and isset($_POST['UAM_AdminPassword_Enforced']) and isset($_POST['UAM_GhostUser_Tracker']) and isset($_POST['UAM_Admin_ConfMail']) and isset($_POST['UAM_RedirToProfile']) and isset($_POST['UAM_GTAuto']) and isset($_POST['UAM_GTAutoMail']) and isset($_POST['UAM_CustomPasswRetr']) and isset($_POST['UAM_USRAuto']) and isset($_POST['UAM_USRAutoMail']) and isset($_POST['UAM_Stuffs']) and isset($_POST['UAM_HidePassw']) and isset($_POST['UAM_PwdReset']) and isset($_POST['UAM_RejectConnexion']))
   {
 
@@ -129,4 +129,6 @@
 
     $_POST['UAM_USRAutoDelText'] = str_replace('\"', '"', str_replace("\'", "'", str_replace("\\\\", "\\", $_POST['UAM_GTAutoDelText'])));
+
+    $_POST['UAM_CustomRejectConnexion_Text'] = str_replace('\"', '"', str_replace("\'", "'", str_replace("\\\\", "\\", $_POST['UAM_CustomRejectConnexion_Text'])));
 
     // Check if CR-LF exist at begining and end of mail exclusion list - If yes, removes them
@@ -200,4 +202,6 @@
       (isset($_POST['UAM_Downgrade_Level'])?$_POST['UAM_Downgrade_Level']:''),
       $_POST['UAM_PwdReset'],
+      $_POST['UAM_RejectConnexion'],
+      $_POST['UAM_CustomRejectConnexion_Text'],
       );
 
@@ -593,4 +597,7 @@
     'UAM_PWDRESET_TRUE'              => $conf_UAM[38]=='true' ?  'checked="checked"' : '' ,
     'UAM_PWDRESET_FALSE'             => $conf_UAM[38]=='false' ?  'checked="checked"' : '' ,
+    'UAM_REJECTCONNECT_TRUE'         => $conf_UAM[39]=='true' ?  'checked="checked"' : '' ,
+    'UAM_REJECTCONNECT_FALSE'        => $conf_UAM[39]=='false' ?  'checked="checked"' : '' ,
+    'UAM_REJECTCONNECT_TEXT'         => $conf_UAM[40],
 		'UAM_PASSWORD_TEST_SCORE'        => $UAM_Password_Test_Score,
     'UAM_ERROR_REPORTS1'             => $UAM_Exclusionlist_Error,
Index: extensions/UserAdvManager/trunk/admin/template/global.tpl
===================================================================
--- extensions/UserAdvManager/trunk/admin/template/global.tpl	(revision 12552)
+++ extensions/UserAdvManager/trunk/admin/template/global.tpl	(revision 12661)
@@ -329,4 +329,43 @@
 
           <fieldset>
+          <div class="uam_new">
+            <ul>
+              <p class="new_in_version">{'UAM_NewFeature'|@translate}</p>
+         	    <li>
+                <label class="cluetip" title="{'UAM_RejectConnexion'|translate}|{'UAM_RejectConnexion_d'|translate}">
+                  {'UAM_RejectConnexion'|@translate}
+                </label>
+            <br><br>
+                <input type="radio" value="false" {$UAM_REJECTCONNECT_FALSE} name="UAM_RejectConnexion">
+                  {'UAM_Disable'|@translate}
+            <br>
+                <input type="radio" value="true" {$UAM_REJECTCONNECT_TRUE} name="UAM_RejectConnexion">
+                  {'UAM_Enable'|@translate}
+            <br><br>
+              </li>
+            {if $UAM_REJECTLOGIN_FALSE}
+              <div class="uam_hide">
+            {/if}
+              <li>
+                <label class="cluetip" title="{'UAM_RejectConnexion_Custom_Txt'|translate}|{'UAM_RejectConnexion_Custom_Txt_d'|translate}">
+                  {'UAM_RejectConnexion_Custom_Txt'|@translate}
+                </label>
+            <br><br>
+                <textarea class="uam_textfields" name="UAM_CustomRejectConnexion_Text" id="UAM_CustomRejectConnexion_Text" rows="10" {$TAG_INPUT_ENABLED}>{$UAM_REJECTCONNECT_TEXT}</textarea>
+            <br><br>
+              </li>
+            {if 'FCK_PATH'|@defined}
+              <div style="text-align:right;">
+                <a href="#" onClick="toogleEditor('UAM_CustomRejectConnexion_Text'); return false;">FCK Editor On/Off</a>
+              </div>
+            {/if}
+            {if $UAM_REJECTLOGIN_FALSE}
+              </div>
+            {/if}
+            </ul>
+          </div>
+
+          <br>
+
           <ul>
             <div id="uam_notice">{'UAM_Confirm_grpstat_notice'|@translate}</div>
Index: extensions/UserAdvManager/trunk/admin/template/uam.css
===================================================================
--- extensions/UserAdvManager/trunk/admin/template/uam.css	(revision 12552)
+++ extensions/UserAdvManager/trunk/admin/template/uam.css	(revision 12661)
@@ -15,4 +15,18 @@
 {
   display: none;
+}
+
+div.uam_new
+{
+  background-color: #8EBF44;
+}
+
+p.new_in_version
+{
+  text-align: center;
+  text-transform: capitalize;
+  text-decoration: underline;
+  font-weight: bold;
+  color: yellow;
 }
 
Index: extensions/UserAdvManager/trunk/changelog.txt.php
===================================================================
--- extensions/UserAdvManager/trunk/changelog.txt.php	(revision 12552)
+++ extensions/UserAdvManager/trunk/changelog.txt.php	(revision 12661)
@@ -274,4 +274,6 @@
 -- 2.30.1 : Bug 2455 fixed - Exclusion of specific users (généric and admins users) for password reset function.
             Bug 2451 fixed - Unable to handle Sql errors but control of backup file validity have been enforced.
+
+-- 2.30.2 : Bug 2456 fixed - New feature : Avoid user connexion to the gallery until there has been no validation of registration. Users are redirected to a customizable page.
 */
 ?>
Index: extensions/UserAdvManager/trunk/include/functions.inc.php
===================================================================
--- extensions/UserAdvManager/trunk/include/functions.inc.php	(revision 12552)
+++ extensions/UserAdvManager/trunk/include/functions.inc.php	(revision 12661)
@@ -380,4 +380,6 @@
   global $conf, $user;
   
+  include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
+  
   $conf_UAM = unserialize($conf['UserAdvManager']);
   
@@ -396,41 +398,53 @@
   }
 
-  // Performing redirection to profile page on first login
-  // -----------------------------------------------------
-  if ((isset($conf_UAM[20]) and $conf_UAM[20] == 'true'))
-  {
-    $query ='
+  // Avoid login into public galleries until registration confirmation is done
+  if ((isset($conf_UAM[39]) and $conf_UAM[39] == 'false') or ((isset($conf_UAM[39]) and $conf_UAM[39] == 'true') and UAM_UsrReg_Verif($user['id'])))
+  {
+    // Performing redirection to profile page on first login
+    // -----------------------------------------------------
+    if ((isset($conf_UAM[20]) and $conf_UAM[20] == 'true'))
+    {
+      $query ='
 SELECT user_id, status
 FROM '.USER_INFOS_TABLE.'
 WHERE user_id = '.$user['id'].'
 ;';
-    $data = pwg_db_fetch_assoc(pwg_query($query));
-
-    if ($data['status'] <> "admin" and $data['status'] <> "webmaster" and $data['status'] <> "generic") // Exclusion of specific accounts
-    {
-      $user_idsOK = array();
-      if (!UAM_check_profile($user['id'], $user_idsOK))
-        redirect(PHPWG_ROOT_PATH.'profile.php');
-    }
-  }
-
-  // Performing redirection to profile page for password reset
-  // ---------------------------------------------------------
-  if ((isset($conf_UAM[38]) and $conf_UAM[38] == 'true'))
-  {
-    $query ='
+      $data = pwg_db_fetch_assoc(pwg_query($query));
+
+      if ($data['status'] <> "admin" and $data['status'] <> "webmaster" and $data['status'] <> "generic") // Exclusion of specific accounts
+      {
+        $user_idsOK = array();
+        if (!UAM_check_profile($user['id'], $user_idsOK))
+          redirect(PHPWG_ROOT_PATH.'profile.php');
+      }
+    }
+
+    // Performing redirection to profile page for password reset
+    // ---------------------------------------------------------
+    if ((isset($conf_UAM[38]) and $conf_UAM[38] == 'true'))
+    {
+      $query ='
 SELECT user_id, status
 FROM '.USER_INFOS_TABLE.'
 WHERE user_id = '.$user['id'].'
 ;';
-    $data = pwg_db_fetch_assoc(pwg_query($query));
-
-    if ($data['status'] <> "webmaster" and $data['status'] <> "generic") // Exclusion of specific accounts
-    {
-      if (UAM_check_pwgreset($user['id']))
-      {
-        redirect(PHPWG_ROOT_PATH.'profile.php');
+      $data = pwg_db_fetch_assoc(pwg_query($query));
+
+      if ($data['status'] <> "webmaster" and $data['status'] <> "generic") // Exclusion of specific accounts
+      {
+        if (UAM_check_pwgreset($user['id']))
+        {
+          redirect(PHPWG_ROOT_PATH.'profile.php');
+        }
       }
     }
+  }
+  elseif ((isset($conf_UAM[39]) and $conf_UAM[39] == 'true') and !UAM_UsrReg_Verif($user['id']))
+  {
+    // Logged-in user cleanup, session destruction and redirected to custom page
+    // -------------------------------------------------------------------------
+    invalidate_user_cache();
+    logout_user();
+    redirect(UAM_PATH.'rejected.php');
   }
 }
@@ -2073,5 +2087,5 @@
 
 /**
- * Function called from main.inc.php - Check if username matches forbidden caracters
+ * Function called from functions.inc.php - Check if username matches forbidden caracters
  *
  * @param : User login
@@ -2566,104 +2580,7 @@
 
 /**
- * Function called from maintain.inc.php - to check if database upgrade is needed
- * 
- * @param : table name
- * 
- * @return : boolean
- * 
- */
-function table_exist($table)
-{
-  $query = 'DESC '.$table.';';
-  return (bool)($res=pwg_query($query));
-}
-
-
-/**
- * Function called from UAM_admin.php and main.inc.php to get the plugin version and name
- *
- * @param : plugin directory
- * 
- * @return : plugin's version and name
- * 
- */
-function PluginInfos($dir)
-{
-  $path = $dir;
-
-  $plg_data = implode( '', file($path.'main.inc.php') );
-  if ( preg_match("|Plugin Name: (.*)|", $plg_data, $val) )
-  {
-    $plugin['name'] = trim( $val[1] );
-  }
-  if (preg_match("|Version: (.*)|", $plg_data, $val))
-  {
-    $plugin['version'] = trim($val[1]);
-  }
-  if ( preg_match("|Plugin URI: (.*)|", $plg_data, $val) )
-  {
-    $plugin['uri'] = trim($val[1]);
-  }
-  if ($desc = load_language('description.txt', $path.'/', array('return' => true)))
-  {
-    $plugin['description'] = trim($desc);
-  }
-  elseif ( preg_match("|Description: (.*)|", $plg_data, $val) )
-  {
-    $plugin['description'] = trim($val[1]);
-  }
-  if ( preg_match("|Author: (.*)|", $plg_data, $val) )
-  {
-    $plugin['author'] = trim($val[1]);
-  }
-  if ( preg_match("|Author URI: (.*)|", $plg_data, $val) )
-  {
-    $plugin['author uri'] = trim($val[1]);
-  }
-  if (!empty($plugin['uri']) and strpos($plugin['uri'] , 'extension_view.php?eid='))
-  {
-    list( , $extension) = explode('extension_view.php?eid=', $plugin['uri']);
-    if (is_numeric($extension)) $plugin['extension'] = $extension;
-  }
-// IMPORTANT SECURITY !
-// --------------------
-  $plugin = array_map('htmlspecialchars', $plugin);
-
-  return $plugin ;
-}
-
-
-/**
- * Delete obsolete files on plugin upgrade
- * Obsolete files are listed in file obsolete.list
- *
- */
-function clean_obsolete_files()
-{
-  if (file_exists(UAM_PATH.'obsolete.list')
-    and $old_files = file(UAM_PATH.'obsolete.list', FILE_IGNORE_NEW_LINES)
-    and !empty($old_files))
-  {
-    array_push($old_files, 'obsolete.list');
-    foreach($old_files as $old_file)
-    {
-      $path = UAM_PATH.$old_file;
-      if (is_file($path))
-      {
-        @unlink($path);
-      }
-      elseif (is_dir($path))
-      {
-        @rmdir($path);
-      }
-    }
-  }
-}
-
-
-/**
  * UAM_check_profile - Thx to LucMorizur
  * checks if a user id is registered as having already
- * visited his profile.php page.
+ * visited his profile page.
  * 
  * @uid        : the user id
@@ -2699,5 +2616,5 @@
  * UAM_check_pwdreset
  * checks if a user id is registered as having already
- * changed their password.
+ * changed his password.
  * 
  * @uid        : the user id
@@ -2722,4 +2639,39 @@
   else return false; 
 }
+
+
+/**
+ * UAM_UsrReg_Verif
+ * Check if the user who logged-in have validate his registration
+ * 
+ * @returns : True if validation is OK else False
+ */
+function UAM_UsrReg_Verif($user_id)
+{
+  global $conf;
+
+	// Get UAM configuration
+  // ---------------------
+  $conf_UAM = unserialize($conf['UserAdvManager']);
+
+  $query = '
+SELECT group_id
+  FROM '.USER_GROUP_TABLE.'
+WHERE user_id = '.$user_id.'
+  AND group_id = '.$conf_UAM[2].'
+;';
+
+  $count = pwg_db_num_rows(pwg_query($query));
+  
+  if ($count == 0)
+  {
+    return true; // User is not in a "Waiting" group
+  }
+  else
+  {
+    return false; // User is still in a "Waiting" group
+  }
+}
+
 
 /**
@@ -3017,4 +2969,100 @@
 
 
+/**
+ * Delete obsolete files on plugin upgrade
+ * Obsolete files are listed in file obsolete.list
+ *
+ */
+function clean_obsolete_files()
+{
+  if (file_exists(UAM_PATH.'obsolete.list')
+    and $old_files = file(UAM_PATH.'obsolete.list', FILE_IGNORE_NEW_LINES)
+    and !empty($old_files))
+  {
+    array_push($old_files, 'obsolete.list');
+    foreach($old_files as $old_file)
+    {
+      $path = UAM_PATH.$old_file;
+      if (is_file($path))
+      {
+        @unlink($path);
+      }
+      elseif (is_dir($path))
+      {
+        @rmdir($path);
+      }
+    }
+  }
+}
+
+
+/**
+ * Function called from maintain.inc.php - to check if database upgrade is needed
+ * 
+ * @param : table name
+ * 
+ * @return : boolean
+ * 
+ */
+function table_exist($table)
+{
+  $query = 'DESC '.$table.';';
+  return (bool)($res=pwg_query($query));
+}
+
+
+/**
+ * Function called from UAM_admin.php and main.inc.php to get the plugin version and name
+ *
+ * @param : plugin directory
+ * 
+ * @return : plugin's version and name
+ * 
+ */
+function PluginInfos($dir)
+{
+  $path = $dir;
+
+  $plg_data = implode( '', file($path.'main.inc.php') );
+  if ( preg_match("|Plugin Name: (.*)|", $plg_data, $val) )
+  {
+    $plugin['name'] = trim( $val[1] );
+  }
+  if (preg_match("|Version: (.*)|", $plg_data, $val))
+  {
+    $plugin['version'] = trim($val[1]);
+  }
+  if ( preg_match("|Plugin URI: (.*)|", $plg_data, $val) )
+  {
+    $plugin['uri'] = trim($val[1]);
+  }
+  if ($desc = load_language('description.txt', $path.'/', array('return' => true)))
+  {
+    $plugin['description'] = trim($desc);
+  }
+  elseif ( preg_match("|Description: (.*)|", $plg_data, $val) )
+  {
+    $plugin['description'] = trim($val[1]);
+  }
+  if ( preg_match("|Author: (.*)|", $plg_data, $val) )
+  {
+    $plugin['author'] = trim($val[1]);
+  }
+  if ( preg_match("|Author URI: (.*)|", $plg_data, $val) )
+  {
+    $plugin['author uri'] = trim($val[1]);
+  }
+  if (!empty($plugin['uri']) and strpos($plugin['uri'] , 'extension_view.php?eid='))
+  {
+    list( , $extension) = explode('extension_view.php?eid=', $plugin['uri']);
+    if (is_numeric($extension)) $plugin['extension'] = $extension;
+  }
+// IMPORTANT SECURITY !
+// --------------------
+  $plugin = array_map('htmlspecialchars', $plugin);
+
+  return $plugin ;
+}
+
 
 /**
Index: extensions/UserAdvManager/trunk/include/upgradedb.inc.php
===================================================================
--- extensions/UserAdvManager/trunk/include/upgradedb.inc.php	(revision 12552)
+++ extensions/UserAdvManager/trunk/include/upgradedb.inc.php	(revision 12661)
@@ -559,3 +559,33 @@
   }
 }
+
+
+/* upgrade from 2.30.x to 2.30.2 */
+/* ***************************** */
+function upgrade_2300_2302()
+{
+  global $conf;
+  
+  load_language('plugin.lang', UAM_PATH);
+
+  // Upgrading options
+  // -----------------
+  $query = '
+SELECT value
+  FROM '.CONFIG_TABLE.'
+WHERE param = "UserAdvManager"
+;';
+
+  $result = pwg_query($query);
+  $conf_UAM = pwg_db_fetch_assoc($result);
+    
+  $Newconf_UAM = unserialize($conf_UAM['value']);
+  
+  $Newconf_UAM[39] = 'false';
+  $Newconf_UAM[40] = l10n('UAM_Default_RejectConnexion_Txt');
+
+  $update_conf = serialize($Newconf_UAM);
+
+  conf_update_param('UserAdvManager', pwg_db_real_escape_string($update_conf));
+}
 ?>
Index: extensions/UserAdvManager/trunk/language/en_UK/help.lang.php
===================================================================
--- extensions/UserAdvManager/trunk/language/en_UK/help.lang.php	(revision 12552)
+++ extensions/UserAdvManager/trunk/language/en_UK/help.lang.php	(revision 12661)
@@ -343,3 +343,12 @@
 <b style=&quot;color: red;&quot;>Warning: After the restore, it is necessary to reload the administration page of the plugin to see the restored settings!</b>';
 // --------- End: New or revised $lang ---- from version 2.30.0
+
+
+// --------- Starting below: New or revised $lang ---- from version 2.30.2
+$lang['UAM_RejectConnexion_d'] = 'If activated, new registered users who have not validate their registration won\'t be able to connect to the gallery. They will be redirected to a special page to inform them of this state.<br><br>
+<b style=&quot;color: red;&quot;>Warning - This feature works only in conjunction with validation groups! See below to set the groups as required.</b>';
+$lang['UAM_RejectConnexion_Custom_Txt_d'] = 'Customize here your explanation text for inform unvalidated users that they won\'t be able to connect the gallery until they have validate their registration.
+<br><br>
+This field is compatible with the FCK Editor and, for multi-languages, you can use the [lang] tags of the Extended description plugin if it\'s active.';
+// --------- End: New or revised $lang ---- from version 2.30.2
 ?>
Index: extensions/UserAdvManager/trunk/language/en_UK/plugin.lang.php
===================================================================
--- extensions/UserAdvManager/trunk/language/en_UK/plugin.lang.php	(revision 12552)
+++ extensions/UserAdvManager/trunk/language/en_UK/plugin.lang.php	(revision 12661)
@@ -407,3 +407,11 @@
 $lang['UAM_Bad_version_backup'] = 'The version of the backup file does not match the version of the plugin! The restoration was not performed.';
 // --------- End: New or revised $lang ---- from version 2.30.1
+
+// --------- Starting below: New or revised $lang ---- from version 2.30.2
+$lang['UAM_NewFeature'] = 'New feature !';
+$lang['UAM_RejectConnexion'] = 'Reject user\'s connexion until registration is validated';
+$lang['UAM_RejectConnexion_Custom_Txt'] = 'Customize rejection text';
+$lang['UAM_Default_RejectConnexion_Txt'] = 'Sorry, you don\'t have validate your registration yet, so you can\'t connect the gallery now. Please check your email box. You should find an email sent by the gallery, containing a link to perform your validation. If not, please contact the webmaster.';
+$lang['UAM_Reject_Page_Title'] = 'Connexion not allowed !';
+// --------- End: New or revised $lang ---- from version 2.30.2
 ?>
Index: extensions/UserAdvManager/trunk/language/fr_FR/help.lang.php
===================================================================
--- extensions/UserAdvManager/trunk/language/fr_FR/help.lang.php	(revision 12552)
+++ extensions/UserAdvManager/trunk/language/fr_FR/help.lang.php	(revision 12661)
@@ -339,3 +339,12 @@
 <b style=&quot;color: red;&quot;>Attention : Après la restauration, il est nécessaire de recharger la page d\'administration du plugin pour voir les paramètres restaurés !</b>';
 // --------- End: New or revised $lang ---- from version 2.30.0
+
+
+// --------- Starting below: New or revised $lang ---- from version 2.30.2
+$lang['UAM_RejectConnexion_d'] = 'Si activée, les nouveaux inscrits qui n\'ont pas validé leur inscription ne pourront pas se connecter à la galerie. Ils seront redirigés vers une page spéciale pour les informer de cet état.<br><br>
+<b style=&quot;color: red;&quot;>Attention - Cette option fonctionne uniquement avec les groupes de validation ! Référez-vous ci-dessous pour affecter les paramètres de groupes requis.</b>';
+$lang['UAM_RejectConnexion_Custom_Txt_d'] = 'Personnalisez ici votre message d\'explication informant les utilisateurs non validés qu\'ils ne pourront pas se connecter à la galerie tant qu\'ils n\'auront pas validé leur inscription.
+<br><br>
+Ce champ est compatible avec l\'extension FCK Editor et, pour une utilisation multi-langues, vous pouvez utiliser les balises [lang] du plugin Extended Description si celui-ci est actif.';
+// --------- End: New or revised $lang ---- from version 2.30.2
 ?>
Index: extensions/UserAdvManager/trunk/language/fr_FR/plugin.lang.php
===================================================================
--- extensions/UserAdvManager/trunk/language/fr_FR/plugin.lang.php	(revision 12552)
+++ extensions/UserAdvManager/trunk/language/fr_FR/plugin.lang.php	(revision 12661)
@@ -404,3 +404,12 @@
 $lang['UAM_Bad_version_backup'] = 'La version du fichier de sauvegarde ne correspond pas à la version du plugin ! La restauration n\'a pas été réalisée.';
 // --------- End: New or revised $lang ---- from version 2.30.1
+
+
+// --------- Starting below: New or revised $lang ---- from version 2.30.2
+$lang['UAM_NewFeature'] = 'Nouvelle option !';
+$lang['UAM_RejectConnexion'] = 'Rejeter les connexions des utilisateurs non validés';
+$lang['UAM_RejectConnexion_Custom_Txt'] = 'Personnaliser le texte de la page de rejet de la connexion';
+$lang['UAM_Default_RejectConnexion_Txt'] = 'Désolé, vous n\'avez pas encore validé votre inscription et vous ne pouvez pas vous connecter maintenant. Merci de vérifier votre boite aux lettres. Vous devriez y trouver un message comportant un lien pour valider votre inscription. Si ce n\'est pas le cas, merci de contacter l\'administrateur de la galerie.';
+$lang['UAM_Reject_Page_Title'] = 'Connexion refusée !';
+// --------- End: New or revised $lang ---- from version 2.30.2
 ?>
Index: extensions/UserAdvManager/trunk/main.inc.php
===================================================================
--- extensions/UserAdvManager/trunk/main.inc.php	(revision 12552)
+++ extensions/UserAdvManager/trunk/main.inc.php	(revision 12661)
@@ -2,5 +2,5 @@
 /*
 Plugin Name: UserAdvManager
-Version: 2.30.1
+Version: 2.30.2
 Description: Renforcer la gestion des utilisateurs - Enforce users management
 Plugin URI: http://piwigo.org/ext/extension_view.php?eid=216
Index: extensions/UserAdvManager/trunk/maintain.inc.php
===================================================================
--- extensions/UserAdvManager/trunk/maintain.inc.php	(revision 12552)
+++ extensions/UserAdvManager/trunk/maintain.inc.php	(revision 12661)
@@ -64,4 +64,6 @@
   $defaultUAM[37] = '-1';                                     // UAM_DOWNGRADE_LEVEL
   $defaultUAM[38] = 'false';                                  // UAM_PWDRESET_TRUE/FALSE
+  $defaultUAM[39] = 'false';                                  // UAM_REJECTCONNECT_TRUE/FALSE
+  $defaultUAM[40] = l10n('UAM_Default_RejectConnexion_Txt');  // UAM_REJECTCONNECT_TEXT
   
   // Default specific parameters for UserAdvManager ConfirmMail conf
@@ -357,4 +359,11 @@
       upgrade_2208_2300();
     }
+
+    if (version_compare($conf['UserAdvManager_Version'], '2.30.2') < 0)
+    {
+    /* upgrade from version 2.30.x to 2.30.2 */
+    /* ************************************* */
+      upgrade_2300_2302();
+    }
   }
 
