Index: /extensions/NBC_UserAdvManager/trunk/admin/UserAdvManager_admin.php
===================================================================
--- /extensions/NBC_UserAdvManager/trunk/admin/UserAdvManager_admin.php	(revision 4060)
+++ /extensions/NBC_UserAdvManager/trunk/admin/UserAdvManager_admin.php	(revision 4061)
@@ -41,4 +41,5 @@
 $page['global'] = array();
 $error = array();
+$UserAdvManager_Password_Test_Score = 0;
 
 // +-----------------------------------------------------------------------+
@@ -55,10 +56,10 @@
   case 'global':
 	
-	if ( isset($_POST['submit']) and !is_adviser() and isset($_POST['UserAdvManager_Mail_Info']) and isset($_POST['UserAdvManager_No_Casse']) and isset($_POST['UserAdvManager_Username_Char']) and isset($_POST['UserAdvManager_Confirm_Mail']) and isset($_POST['UserAdvManager_No_Comment_Anonymous']) )
+	if (isset($_POST['submit']) and !is_adviser() and isset($_POST['UserAdvManager_Mail_Info']) and isset($_POST['UserAdvManager_No_Casse']) and isset($_POST['UserAdvManager_Username_Char']) and isset($_POST['UserAdvManager_Confirm_Mail']) and isset($_POST['UserAdvManager_No_Comment_Anonymous']) and isset($_POST['UserAdvManager_Password_Enforced']))
   {
 		$_POST['UserAdvManager_MailInfo_Text'] = str_replace("\'", "'", str_replace("\\\\", "\\", $_POST['UserAdvManager_MailInfo_Text']));
 		$_POST['UserAdvManager_ConfirmMail_Text'] = str_replace("\'", "'", str_replace("\\\\", "\\", $_POST['UserAdvManager_ConfirmMail_Text']));
 		
-		$newconf_nbc_UserAdvManager = $_POST['UserAdvManager_Mail_Info'].';'.$_POST['UserAdvManager_No_Casse'].';'.$_POST['UserAdvManager_Confirm_Mail'].';'.(isset($_POST['UserAdvManager_No_Confirm_Group'])?$_POST['UserAdvManager_No_Confirm_Group']:'').';'.(isset($_POST['UserAdvManager_Validated_Group'])?$_POST['UserAdvManager_Validated_Group']:'').';'.(isset($_POST['UserAdvManager_Validated_Status'])?$_POST['UserAdvManager_Validated_Status']:'').';'.$_POST['UserAdvManager_No_Comment_Anonymous'].';'.$_POST['UserAdvManager_Username_Char'].';'.$_POST['UserAdvManager_Username_List'].';'.(isset($_POST['UserAdvManager_No_Confirm_Status'])?$_POST['UserAdvManager_No_Confirm_Status']:'').';'.$_POST['UserAdvManager_MailInfo_Text'].';'.$_POST['UserAdvManager_ConfirmMail_Text'].';'.$_POST['UserAdvManager_MailExclusion'].';'.$_POST['UserAdvManager_MailExclusion_List'];
+		$newconf_nbc_UserAdvManager = $_POST['UserAdvManager_Mail_Info'].';'.$_POST['UserAdvManager_No_Casse'].';'.$_POST['UserAdvManager_Confirm_Mail'].';'.(isset($_POST['UserAdvManager_No_Confirm_Group'])?$_POST['UserAdvManager_No_Confirm_Group']:'').';'.(isset($_POST['UserAdvManager_Validated_Group'])?$_POST['UserAdvManager_Validated_Group']:'').';'.(isset($_POST['UserAdvManager_Validated_Status'])?$_POST['UserAdvManager_Validated_Status']:'').';'.$_POST['UserAdvManager_No_Comment_Anonymous'].';'.$_POST['UserAdvManager_Username_Char'].';'.$_POST['UserAdvManager_Username_List'].';'.(isset($_POST['UserAdvManager_No_Confirm_Status'])?$_POST['UserAdvManager_No_Confirm_Status']:'').';'.$_POST['UserAdvManager_MailInfo_Text'].';'.$_POST['UserAdvManager_ConfirmMail_Text'].';'.$_POST['UserAdvManager_MailExclusion'].';'.$_POST['UserAdvManager_MailExclusion_List'].';'.$_POST['UserAdvManager_Password_Enforced'].';'.$_POST['UserAdvManager_Password_Score'];
 		
 		$conf['nbc_UserAdvManager'] = $newconf_nbc_UserAdvManager;
@@ -74,4 +75,13 @@
 		
 		array_push($page['infos'], l10n('UserAdvManager_save_config'));
+  }
+
+  if (isset($_POST['PasswordTest']) and !is_adviser() and isset($_POST['UserAdvManager_Password_Test']) and !empty($_POST['UserAdvManager_Password_Test']))
+  {
+    $UserAdvManager_Password_Test_Score = testpassword($_POST['UserAdvManager_Password_Test']);
+  }
+  else if (isset($_POST['PasswordTest']) and !is_adviser() and empty($_POST['UserAdvManager_Password_Test']))
+  {
+    array_push($page['errors'], l10n('reg_err_login3'));
   }
 	
@@ -189,4 +199,8 @@
 		'UserAdvManager_MAILEXCLUSION_FALSE'  => $conf_nbc_UserAdvManager[12]=='false' ?  'checked="checked"' : '' ,
 		'UserAdvManager_MAILEXCLUSION_LIST'   => $conf_nbc_UserAdvManager[13],
+		'UserAdvManager_PASSWORDENF_TRUE'     => $conf_nbc_UserAdvManager[14]=='true' ?  'checked="checked"' : '' ,
+		'UserAdvManager_PASSWORDENF_FALSE'    => $conf_nbc_UserAdvManager[14]=='false' ?  'checked="checked"' : '' ,
+		'UserAdvManager_PASSWORD_SCORE'       => $conf_nbc_UserAdvManager[15],
+		'UserAdvManager_PASSWORD_TEST_SCORE'  => $UserAdvManager_Password_Test_Score,
     )
   );
Index: /extensions/NBC_UserAdvManager/trunk/admin/global.tpl
===================================================================
--- /extensions/NBC_UserAdvManager/trunk/admin/global.tpl	(revision 4060)
+++ /extensions/NBC_UserAdvManager/trunk/admin/global.tpl	(revision 4061)
@@ -7,13 +7,4 @@
   	<legend>{'UserAdvManager_Title'|@translate}</legend>
     <ul>
-    	<li><label>{'UserAdvManager_Mail_Info'|@translate}</label><br/>
-        <input type="radio" value="true" {$UserAdvManager_MAIL_INFO_TRUE} name="UserAdvManager_Mail_Info"/>{'UserAdvManager_Mail_Info_true'|@translate}<br>
-        <input type="radio" value="false" {$UserAdvManager_MAIL_INFO_FALSE} name="UserAdvManager_Mail_Info"/>{'UserAdvManager_Mail_Info_false'|@translate}<br>
-    	<br>
-    	</li>
-    	<li><label>{'UserAdvManager_MailInfo_Text'|@translate}</label><br><br>
-        <textarea name="UserAdvManager_MailInfo_Text" id="UserAdvManager_MailInfo_Text" rows="10" cols="80" {$TAG_INPUT_ENABLED}>{$UserAdvManager_MAILINFO_TEXT}</textarea>
-    	<br><br>
-    	</li>
     	<li><label>{'UserAdvManager_No_Casse'|@translate}</label><br>
         <input type="radio" value="true" {$UserAdvManager_NO_CASSE_TRUE} name="UserAdvManager_No_Casse"/>{'UserAdvManager_No_Casse_true'|@translate}<br>
@@ -26,4 +17,28 @@
         <input type="radio" value="false" {$UserAdvManager_USERNAME_CHAR_FALSE} name="UserAdvManager_Username_Char"/>{'UserAdvManager_Username_Char_false'|@translate}<br>
     	<br>
+    	</li>
+    	<li><label>{'UserAdvManager_Password_Enforced'|@translate}</label><br/>
+        <input type="radio" value="true" {$UserAdvManager_PASSWORDENF_TRUE} name="UserAdvManager_Password_Enforced"/>{'UserAdvManager_Password_Enforced_true'|@translate}
+        <input type="text" name="UserAdvManager_Password_Score" value="{$UserAdvManager_PASSWORD_SCORE}" size="5" style="text-align: center;"/><br><br>
+        
+        <label>{'UserAdvManager_Password_Enforced_Info'|@translate}</label><br><br>
+        {'UserAdvManager_PasswordTest'|@translate}<input type="text" name="UserAdvManager_Password_Test" value="{$UserAdvManager_PASSWORD_TEST}" size="50" style="text-align: left;"/>&nbsp;&nbsp;&nbsp;
+        <input class="submit" type="submit" value="{'PasswordTest'|@translate}" name="PasswordTest" >&nbsp;&nbsp;&nbsp;
+        {'UserAdvManager_ScoreTest'|@translate}{$UserAdvManager_PASSWORD_TEST_SCORE}<br><br>
+        {if isset($PasswordTest) && empty($UserAdvManager_PASSWORD_TEST)}
+          <label>{'reg_err_login3'|@translate}</label>
+        {/if}
+        
+        <input type="radio" value="false" {$UserAdvManager_PASSWORDENF_FALSE} name="UserAdvManager_Password_Enforced"/>{'UserAdvManager_Password_Enforced_false'|@translate}<br>
+    	<br>
+    	</li>
+    	<li><label>{'UserAdvManager_Mail_Info'|@translate}</label><br/>
+        <input type="radio" value="true" {$UserAdvManager_MAIL_INFO_TRUE} name="UserAdvManager_Mail_Info"/>{'UserAdvManager_Mail_Info_true'|@translate}<br>
+        <input type="radio" value="false" {$UserAdvManager_MAIL_INFO_FALSE} name="UserAdvManager_Mail_Info"/>{'UserAdvManager_Mail_Info_false'|@translate}<br>
+    	<br>
+    	</li>
+    	<li><label>{'UserAdvManager_MailInfo_Text'|@translate}</label><br><br>
+        <textarea name="UserAdvManager_MailInfo_Text" id="UserAdvManager_MailInfo_Text" rows="10" cols="80" {$TAG_INPUT_ENABLED}>{$UserAdvManager_MAILINFO_TEXT}</textarea>
+    	<br><br>
     	</li>
     	<li><label>{'UserAdvManager_Confirm_Mail'|@translate}</label><br>
Index: /extensions/NBC_UserAdvManager/trunk/admin/usermanager.tpl
===================================================================
--- /extensions/NBC_UserAdvManager/trunk/admin/usermanager.tpl	(revision 4060)
+++ /extensions/NBC_UserAdvManager/trunk/admin/usermanager.tpl	(revision 4061)
@@ -18,5 +18,5 @@
       			<td>{'Email address'|@translate}</td>
       			<td>{'Groups'|@translate}</td>
-      			<td>{'Registration'|@translate}</td>
+      			<td>{'Registration_Date'|@translate}</td>
     			</tr>
   			</thead>
Index: /extensions/NBC_UserAdvManager/trunk/include/functions_UserAdvManager.inc.php
===================================================================
--- /extensions/NBC_UserAdvManager/trunk/include/functions_UserAdvManager.inc.php	(revision 4060)
+++ /extensions/NBC_UserAdvManager/trunk/include/functions_UserAdvManager.inc.php	(revision 4061)
@@ -535,20 +535,20 @@
 
 /* Obsolete function - Check for single email in database */
-function SearchMail($email)
-{
-  global $conf, $lang;
-  
-  if (isset($email))
-  {
-    $query = "
-      SELECT COUNT(*)
-      FROM ".USERS_TABLE."
-      WHERE ".$conf['user_fields']['email']." = '".$email."'
-    ;";
-    list($nbr_mail) = mysql_fetch_row(pwg_query($query));
-  
-    return isset($nbr_mail) ? $nbr_mail : 0;
-  }
-}
+//function SearchMail($email)
+//{
+//  global $conf, $lang;
+//  
+//  if (isset($email))
+//  {
+//    $query = "
+//      SELECT COUNT(*)
+//      FROM ".USERS_TABLE."
+//      WHERE ".$conf['user_fields']['email']." = '".$email."'
+//    ;";
+//    list($nbr_mail) = mysql_fetch_row(pwg_query($query));
+//  
+//    return isset($nbr_mail) ? $nbr_mail : 0;
+//  }
+//}
 
 
@@ -577,23 +577,23 @@
 /* Obsolete function - Check for no forbidden email provider */
 /* This don't work on function call */
-function ValidateEmailProvider($email)
-{
-  global $conf;
-
-	$conf_nbc_UserAdvManager = isset($conf['nbc_UserAdvManager']) ? explode(";" , $conf['nbc_UserAdvManager']) : array();
-	if (isset($conf_nbc_UserAdvManager[12]))
-	{
-		$ncsemail = strtolower($email);
-		$conf_nbc_MailExclusion = preg_split('/,/',$conf_nbc_UserAdvManager[13]);
-		for ($i = 0 ; $i < count($conf_nbc_MailExclusion) ; $i++)
-		{
-			$pattern = '/'.$conf_nbc_MailExclusion[$i].'/';
-			if (preg_match($pattern, $ncsemail))
-        		return false;
-        	else
-      			return true;
-		}
-	}
-}
+//function ValidateEmailProvider($email)
+//{
+//  global $conf;
+//
+//	$conf_nbc_UserAdvManager = isset($conf['nbc_UserAdvManager']) ? explode(";" , $conf['nbc_UserAdvManager']) : array();
+//	if (isset($conf_nbc_UserAdvManager[12]))
+//	{
+//		$ncsemail = strtolower($email);
+//		$conf_nbc_MailExclusion = preg_split('/,/',$conf_nbc_UserAdvManager[13]);
+//		for ($i = 0 ; $i < count($conf_nbc_MailExclusion) ; $i++)
+//		{
+//			$pattern = '/'.$conf_nbc_MailExclusion[$i].'/';
+//			if (preg_match($pattern, $ncsemail))
+//        		return false;
+//        	else
+//      			return true;
+//		}
+//	}
+//}
 
 
@@ -735,3 +735,74 @@
 	}
 }
+
+/**
+ * Returns a password's score for password complexity check
+ *
+ * @param password entered
+ * 
+ * Thanx to MathieuGut from http://m-gut.developpez.com
+ */
+function testpassword($password)	{ // Le mot de passe passé en paramètre - $password given by user
+
+// Initialisation des variables - Variables initiation
+$points = 0;
+$point_lowercase = 0;
+$point_uppercase = 0;
+$point_numbers = 0;
+$point_characters = 0;
+
+// On récupère la longueur du mot de passe - Getting password lengh	
+$length = strlen($password);
+
+// On fait une boucle pour lire chaque lettre - Loop to read password characters
+for($i = 0; $i < $length; $i++) 	{
+	
+	// On sélectionne une à une chaque lettre - Select each letters
+	// $i étant à 0 lors du premier passage de la boucle - $i is 0 at first turn
+	$letters = $password[$i];
+
+	if ($letters>='a' && $letters<='z'){
+		// On ajoute 1 point pour une minuscule - Adding 1 point to score for a lowercase
+		$points = $points + 1;
+
+		// On rajoute le bonus pour une minuscule - Adding bonus points for lowercase
+		$point_lowercase = 1;
+	}
+	else if ($letters>='A' && $letters <='Z'){
+		// On ajoute 2 points pour une majuscule - Adding 2 points to score for uppercase
+		$points = $points + 2;
+		
+		// On rajoute le bonus pour une majuscule - Adding bonus points for uppercase
+		$point_uppercase = 2;
+	}
+	else if ($letters>='0' && $letters<='9'){
+		// On ajoute 3 points pour un chiffre - Adding 3 points to score for numbers
+		$points = $points + 3;
+		
+		// On rajoute le bonus pour un chiffre - Adding bonus points for numbers
+		$point_numbers = 3;
+	}
+	else {
+		// On ajoute 5 points pour un caractère autre - Adding 5 points to score for special characters
+		$points = $points + 5;
+		
+		// On rajoute le bonus pour un caractère autre - Adding bonus points for special characters
+		$point_characters = 5;
+	}
+}
+
+// Calcul du coefficient points/longueur - calculating the coefficient points / length
+$step1 = $points / $length;
+
+// Calcul du coefficient de la diversité des types de caractères... - Calculation of the diversity of character types...
+$step2 = $point_lowercase + $point_uppercase + $point_numbers + $point_characters;
+
+// Multiplication du coefficient de diversité avec celui de la longueur - Multiplying the coefficient of diversity with that of the length
+$score = $step1 * $step2;
+
+// Multiplication du résultat par la longueur de la chaîne - Multiplying the result by the length of the chain
+$finalscore = $score * $length;
+
+return $finalscore;
+}
 ?>
Index: /extensions/NBC_UserAdvManager/trunk/language/en_UK/plugin.lang.php
===================================================================
--- /extensions/NBC_UserAdvManager/trunk/language/en_UK/plugin.lang.php	(revision 4060)
+++ /extensions/NBC_UserAdvManager/trunk/language/en_UK/plugin.lang.php	(revision 4061)
@@ -57,6 +57,6 @@
 $lang['UserAdvManager_ConfirmMail_Remail_true'] = 'Enable email reminder';
 $lang['UserAdvManager_ConfirmMail_Remail_false'] = 'Disable email reminder';
-$lang['UserAdvManager_ConfirmMail_ReMail_Txt1'] = 'Custom content of the recall message with regeneration of validation key.<br>If left blank, the recall mail will include only the validation link. It is therefore strongly advised to take a little explanatory text. (NB: The text pre-filled with the installation of the plugin is given as an example)<br><br><b style="color: red;">(!!! </b><b style="text-decoration: underline; color: red;">WARNING !</b> <b style="color: red;">Text modification is available ONLY if email reminder is enabled. Use the multi language tags from Extended Description plugin if this plugin is activated !!!)</b>';
-$lang['UserAdvManager_ConfirmMail_ReMail_Txt2'] = 'Custom content of the recall message without regeneration of validation key.<br>If left blank, the recall mail will include only the validation link. It is therefore strongly advised to take a little explanatory text. (NB: The text pre-filled with the installation of the plugin is given as an example)<br><br><b style="color: red;">(!!! </b><b style="text-decoration: underline; color: red;">WARNING !</b> <b style="color: red;">Text modification is available ONLY if email reminder is enabled. Use the multi language tags from Extended Description plugin if this plugin is activated !!!)</b>';
+$lang['UserAdvManager_ConfirmMail_ReMail_Txt1'] = 'Custom content of the recall message with regeneration of validation key.<br>If left blank, the recall mail will include only the validation link. It is therefore strongly advised to take a little explanatory text. (NB: The text pre-filled with the installation of the plugin is given as an example)<br><br>(!!! <b style="text-decoration: blink underline;">WARNING !</b> Text modification is available <b>ONLY</b> if email reminder is enabled. Use the multi language tags from Extended Description plugin if this plugin is activated !!!)';
+$lang['UserAdvManager_ConfirmMail_ReMail_Txt2'] = 'Custom content of the recall message without regeneration of validation key.<br>If left blank, the recall mail will include only the validation link. It is therefore strongly advised to take a little explanatory text. (NB: The text pre-filled with the installation of the plugin is given as an example)<br><br>(!!! <b style="text-decoration: blink underline;">WARNING !</b> Text modification is available <b>ONLY</b> if email reminder is enabled. Use the multi language tags from Extended Description plugin if this plugin is activated !!!)';
 
 
@@ -74,5 +74,5 @@
 - Submit a registration awaiting validation manually even if the expiry date has passed <b>(forcing validation)</b>.
 <br>';
-$lang['Registration'] = 'Registration date';
+$lang['Registration_Date'] = 'Registration date';
 
 
Index: /extensions/NBC_UserAdvManager/trunk/language/fr_FR/plugin.lang.php
===================================================================
--- /extensions/NBC_UserAdvManager/trunk/language/fr_FR/plugin.lang.php	(revision 4060)
+++ /extensions/NBC_UserAdvManager/trunk/language/fr_FR/plugin.lang.php	(revision 4061)
@@ -20,4 +20,11 @@
 $lang['UserAdvManager_Username_Char_true'] = ' Interdire les caractères saisis dans le champs ci-après pour le nom d\'utilisateur lors de l\'inscription == ';
 $lang['UserAdvManager_Username_Char_false'] = ' Laisser le contrôle par défaut du nom d\'utilisateur.';
+$lang['UserAdvManager_Password_Enforced'] = 'Renforcement des mots de passe - Activer cette option rend la saisie du mot de passe obligatoire à l\'inscription des visiteurs. De plus, le mot de passe saisi par le visiteur devra répondre à un score de fiabilité.';
+$lang['UserAdvManager_Password_Enforced_Info'] = '<b style="text-decoration: underline; color: green;">Explications :</b> <b style="color: green;">Le score d\'un mot de passe est calculé en fonction des paramètres de base : longueur, types de caractères utilisés(lettres, chiffres, majuscules, minuscules, caractères spéciaux). Si le mot de passe de l\'utilisateur ne répond pas au score, le score réalisé est affiché ainsi que le score planchet et une indication pour augmenter la valeur de ce score. Pour donner un ordre d\'idée, un score inférieur à 100 est considéré comme faible. Entre 100 et 500, la fiabilité est renforcée. Au dela de 500, c\'est Fort Knox !! ;-)<br>Vous pouvez tester la fiabilité d\'un mot de passe en utilisant les champs ci-dessous (pour test uniquement !) ;-)</b>';
+$lang['UserAdvManager_PasswordTest'] = 'Mot de passe à tester : ';
+$lang['UserAdvManager_ScoreTest'] = 'Score obtenu : ';
+$lang['PasswordTest'] = 'Calcul du score';
+$lang['UserAdvManager_Password_Enforced_true'] = ' Mot de passe renforcé obligatoire - Saisir le score minimum (planchet)de fiabilité du mots de passe == ';
+$lang['UserAdvManager_Password_Enforced_false'] = ' Ne pas renforcer les mots de passe (fonctionnement normal)';
 $lang['UserAdvManager_Confirm_Mail'] = 'Confirmation de l\'adresse email';
 $lang['UserAdvManager_Confirm_Mail_true'] = ' Envoyer un mail permettant a l\'utilisateur de confirmer son adresse email et donc son compte utilisateur.';
@@ -57,6 +64,6 @@
 $lang['UserAdvManager_ConfirmMail_Remail_true'] = 'Activer le rappel par mail';
 $lang['UserAdvManager_ConfirmMail_Remail_false'] = 'Désactiver le rappel par mail';
-$lang['UserAdvManager_ConfirmMail_ReMail_Txt1'] = 'Contenu personnalisé du message de rappel avec regénération de clé de validation.<br>Si laissé vide, le mail de rappel ne comportera que le lien de validation. Il est donc vivement conseillé de saisir un petit texte explicatif. (NB : Le texte pré renseigné à l\'installation du plugin est donné en exemple)<br><br><b style="color: red;">(!!! </b><b style="text-decoration: underline; color: red;">ATTENTION !</b> <b style="color: red;">La modification du texte n\'est possible QUE si le rappel par email est activé. Utilisez la méthode multi language du plugin Extended Description si celui-ci est activé !!!)</b>';
-$lang['UserAdvManager_ConfirmMail_ReMail_Txt2'] = 'Contenu personnalisé du message de rappel sans regénération de clé de validation.<br>Si laissé vide, le mail de rappel sera vide. Il est donc vivement conseillé de saisir un petit texte explicatif. (NB : Le texte pré renseigné à l\'installation du plugin est donné en exemple)<br><br><b style="color: red;">(!!! </b><b style="text-decoration: underline; color: red;">ATTENTION !</b> <b style="color: red;">La modification du texte n\'est possible QUE si le rappel par email est activé. Utilisez la méthode multi language du plugin Extended Description si celui-ci est activé !!!)</b>';
+$lang['UserAdvManager_ConfirmMail_ReMail_Txt1'] = 'Contenu personnalisé du message de rappel avec regénération de clé de validation.<br>Si laissé vide, le mail de rappel ne comportera que le lien de validation. Il est donc vivement conseillé de saisir un petit texte explicatif. (NB : Le texte pré renseigné à l\'installation du plugin est donné en exemple)<br><br><b style="color: red;">(!!! </b><b style="text-decoration: underline; color: red;">ATTENTION !</b> <b style="color: red;">La modification du texte n\'est possible <b>QUE</b> si le rappel par email est activé. Utilisez la méthode multi language du plugin Extended Description si celui-ci est activé !!!)</b>';
+$lang['UserAdvManager_ConfirmMail_ReMail_Txt2'] = 'Contenu personnalisé du message de rappel sans regénération de clé de validation.<br>Si laissé vide, le mail de rappel sera vide. Il est donc vivement conseillé de saisir un petit texte explicatif. (NB : Le texte pré renseigné à l\'installation du plugin est donné en exemple)<br><br><b style="color: red;">(!!! </b><b style="text-decoration: underline; color: red;">ATTENTION !</b> <b style="color: red;">La modification du texte n\'est possible <b>QUE</b> si le rappel par email est activé. Utilisez la méthode multi language du plugin Extended Description si celui-ci est activé !!!)</b>';
 
 
@@ -74,5 +81,5 @@
 - Valider manuellement une inscription en attente de validation même si la date d\'expiration est révolue <b>(forçage de la validation)</b>.
 <br>';
-$lang['Registration'] = 'Date d\'enregistrement';
+$lang['Registration_Date'] = 'Date d\'enregistrement';
 
 
@@ -103,4 +110,6 @@
 $lang['Err_audit_advise'] = '<b>Vous avez des corrections a faire pour respecter les nouvelles règles que vous avez activé<br>utilisez un utilitaire de gestion de base de données pour corriger les comptes utilisateurs directement dans la table ###_USERS si nécessaire.</b>';
 $lang['UserAdvManager_Empty Author'] = 'Le champs auteur doit être rempli pour enregistrer un commentaire.';
+$lang['reg_err_login3'] = 'Mot de passe obligatoire !';
+$lang['reg_err_login4'] = 'Le mot de passe choisi est trop faible.';
 if ( isset($conf_UserAdvManager[1]) and $conf_UserAdvManager[1] == 'true' )
 	$lang['reg_err_login5'] = 'ce nom utilisateur est déjà pris, ATTENTION le nom est insensible à la casse (Majuscule = Minuscule).';
Index: /extensions/NBC_UserAdvManager/trunk/main.inc.php
===================================================================
--- /extensions/NBC_UserAdvManager/trunk/main.inc.php	(revision 4060)
+++ /extensions/NBC_UserAdvManager/trunk/main.inc.php	(revision 4061)
@@ -2,5 +2,5 @@
 /*
 Plugin Name: NBC UserAdvManager
-Version: 2.11.4
+Version: 2.11.5
 Description: Permet de renforcer les possibilités de gestion des utilisateurs - Enforce users management
 Plugin URI: http://fr.piwigo.org/ext/extension_view.php?eid=216
@@ -67,4 +67,8 @@
 						Bug 1179 fixed : Adding a notice in plugin inline documentation for use of validation groups and status. A default group must be set in Piwigo's groups settings and the "Guest" (or another user) must be set as default for status values.
 						Bug 1182 fixed : Language tag missing in confirmation email generation 
+
+-- 2.11.5 : Bug 1195 fixed : Registration displays the good title
+
+-- pre 2.12.0 : Password control and enforcement (step 1)
 
 */
@@ -157,4 +161,6 @@
   load_language('plugin.lang', NBC_UserAdvManager_PATH);
   global $conf, $template, $page, $lang;
+  
+  $PasswordCheck = 0;
 
   $conf_nbc_UserAdvManager = isset($conf['nbc_UserAdvManager']) ? explode(";" , $conf['nbc_UserAdvManager']) : array();
@@ -163,8 +169,7 @@
   if ( isset($conf_nbc_UserAdvManager[1]) and $conf_nbc_UserAdvManager[1] == 'true' )
     $lang['reg_err_login5'] = l10n('reg_err_login5');
-  
-
+    
  
-/* User identification */
+/* User identication */
   if (script_basename() == 'identification')
   {
@@ -248,4 +253,18 @@
 
 
+  if (isset($conf_nbc_UserAdvManager[14]) and $conf_nbc_UserAdvManager[14] == 'true' and !empty($conf_nbc_UserAdvManager[15]))
+  { 
+    //$PasswordCheck = testpassword($_POST['password']);
+    $PasswordCheck = 10;
+    if ($PasswordCheck < $conf_nbc_UserAdvManager[15])
+    {
+      array_push($errors, l10n('reg_err_login4')."'".$conf_nbc_UserAdvManager[15]."'");
+      //$lang['reg_err_login1'] = l10n('reg_err_login4')."'".$conf_nbc_UserAdvManager[15]."'";
+      $_POST['password'] = "";
+      $_POST['password_conf'] = "";
+      $PasswordCheck = 0;
+    }
+  }
+
       /* Email without forbidden domains */
       /* This don't work on call of ValidateEmailProvider() function - Why ?? -> Due to the "return = false|true" in function ?*/
@@ -348,5 +367,19 @@
             $errors[] = l10n('New password confirmation does not correspond');
           }
-      
+
+          if (isset($conf_nbc_UserAdvManager[14]) and $conf_nbc_UserAdvManager[14] == 'true' and !empty($conf_nbc_UserAdvManager[15]))
+          { 
+            //$PasswordCheck = testpassword($_POST['password']);
+            $PasswordCheck = 10;
+            if ($PasswordCheck < $conf_nbc_UserAdvManager[15])
+            {
+              $lang['reg_err_login1'] = l10n('reg_err_login4')."'".$conf_nbc_UserAdvManager[15]."'";
+            }
+          }
+          else if (isset($conf_nbc_UserAdvManager[14]) and $conf_nbc_UserAdvManager[14] == 'true')
+          {
+            $lang['reg_err_login1'] = l10n('reg_err_login3');
+          }
+
           if ( !defined('IN_ADMIN') )
           {// changing password requires old password
Index: /extensions/NBC_UserAdvManager/trunk/maintain.inc.php
===================================================================
--- /extensions/NBC_UserAdvManager/trunk/maintain.inc.php	(revision 4060)
+++ /extensions/NBC_UserAdvManager/trunk/maintain.inc.php	(revision 4061)
@@ -12,5 +12,5 @@
   $q = '
     INSERT INTO '.CONFIG_TABLE.' (param, value, comment)
-    VALUES ("nbc_UserAdvManager","true;false;false;-1;-1;-1;false;false;;-1;;;false;;","Parametres du plugin nbc UserAdvManager")
+    VALUES ("nbc_UserAdvManager","true;false;false;-1;-1;-1;false;false;;-1;;;false;;false;100;","Parametres du plugin nbc UserAdvManager")
   ;';
   pwg_query($q);
@@ -58,5 +58,5 @@
 	if ($count == 0)
 	{
-		upgrade_UserAdvManager();
+		upgrade_210();
 	}
 }
@@ -90,5 +90,5 @@
 }
 
-function upgrade_UserAdvManager()
+function upgrade_210()
 {
 	global $conf;
