Changeset 4124


Ignore:
Timestamp:
10/26/09 23:34:13 (10 years ago)
Author:
Eric
Message:

[NBC_UserAdvManager] pre 2.12.0 :

  • Adding of password enforcement control function
  • Main code refactory
  • French language file refactory
  • Admin panel refactory
Location:
extensions/NBC_UserAdvManager/trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • extensions/NBC_UserAdvManager/trunk/admin/UserAdvManager_admin.php

    r4061 r4124  
    5656  case 'global': 
    5757         
    58         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'])) 
     58        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']) and isset($_POST['UserAdvManager_AdminPassword_Enforced'])) 
    5959  { 
    6060                $_POST['UserAdvManager_MailInfo_Text'] = str_replace("\'", "'", str_replace("\\\\", "\\", $_POST['UserAdvManager_MailInfo_Text'])); 
    6161                $_POST['UserAdvManager_ConfirmMail_Text'] = str_replace("\'", "'", str_replace("\\\\", "\\", $_POST['UserAdvManager_ConfirmMail_Text'])); 
    6262                 
    63                 $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']; 
     63                $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'].';'.$_POST['UserAdvManager_AdminPassword_Enforced']; 
    6464                 
    6565                $conf['nbc_UserAdvManager'] = $newconf_nbc_UserAdvManager; 
     
    202202                'UserAdvManager_PASSWORDENF_FALSE'    => $conf_nbc_UserAdvManager[14]=='false' ?  'checked="checked"' : '' , 
    203203                'UserAdvManager_PASSWORD_SCORE'       => $conf_nbc_UserAdvManager[15], 
     204    'UserAdvManager_ADMINPASSWENF_TRUE'   => $conf_nbc_UserAdvManager[16]=='true' ?  'checked="checked"' : '' , 
     205                'UserAdvManager_ADMINPASSWENF_FALSE'  => $conf_nbc_UserAdvManager[16]=='false' ?  'checked="checked"' : '' , 
    204206                'UserAdvManager_PASSWORD_TEST_SCORE'  => $UserAdvManager_Password_Test_Score, 
    205207    ) 
     
    207209         
    208210 
    209   if ( isset($_POST['audit']) or isset($_POST['submit']) ) 
     211  if (isset($_POST['audit'])) 
    210212        { 
    211213                $msg_error1 = ''; 
     
    298300// |                             errors display                            | 
    299301// +-----------------------------------------------------------------------+ 
    300   if ( isset ($errors) and count($errors) != 0) 
     302  if (isset ($errors) and count($errors) != 0) 
    301303  { 
    302304          $template->assign('errors',array()); 
  • extensions/NBC_UserAdvManager/trunk/admin/global.tpl

    r4061 r4124  
    55<form method="post" action="{$UserAdvManager_F_ACTION}" class="general"> 
    66  <fieldset> 
    7         <legend>{'UserAdvManager_Title'|@translate}</legend> 
     7        <legend>{'UserAdvManager_Title1'|@translate}</legend> 
    88    <ul> 
    99        <li><label>{'UserAdvManager_No_Casse'|@translate}</label><br> 
    10         <input type="radio" value="true" {$UserAdvManager_NO_CASSE_TRUE} name="UserAdvManager_No_Casse"/>{'UserAdvManager_No_Casse_true'|@translate}<br> 
    11         <input type="radio" value="false" {$UserAdvManager_NO_CASSE_FALSE} name="UserAdvManager_No_Casse"/>{'UserAdvManager_No_Casse_false'|@translate}<br> 
     10        <input type="radio" value="true" {$UserAdvManager_NO_CASSE_TRUE} name="UserAdvManager_No_Casse">{'UserAdvManager_No_Casse_true'|@translate}<br> 
     11        <input type="radio" value="false" {$UserAdvManager_NO_CASSE_FALSE} name="UserAdvManager_No_Casse">{'UserAdvManager_No_Casse_false'|@translate}<br> 
    1212        <br> 
    1313                </li> 
    1414        <li><label>{'UserAdvManager_Username_Char'|@translate}</label><br> 
    15         <input type="radio" value="true" {$UserAdvManager_USERNAME_CHAR_TRUE} name="UserAdvManager_Username_Char"/>{'UserAdvManager_Username_Char_true'|@translate} 
    16         <input type="text" name="UserAdvManager_Username_List" value="{$UserAdvManager_USERNAME_CHAR_LIST}" size="20" style="text-align: center;"/><br> 
    17         <input type="radio" value="false" {$UserAdvManager_USERNAME_CHAR_FALSE} name="UserAdvManager_Username_Char"/>{'UserAdvManager_Username_Char_false'|@translate}<br> 
    18         <br> 
     15        <input type="radio" value="true" {$UserAdvManager_USERNAME_CHAR_TRUE} name="UserAdvManager_Username_Char">{'UserAdvManager_Username_Char_true'|@translate} 
     16        <input type="text" name="UserAdvManager_Username_List" value="{$UserAdvManager_USERNAME_CHAR_LIST}" size="20" style="text-align: center;"><br> 
     17        <input type="radio" value="false" {$UserAdvManager_USERNAME_CHAR_FALSE} name="UserAdvManager_Username_Char">{'UserAdvManager_Username_Char_false'|@translate}<br><br> 
    1918        </li> 
    20         <li><label>{'UserAdvManager_Password_Enforced'|@translate}</label><br/> 
    21         <input type="radio" value="true" {$UserAdvManager_PASSWORDENF_TRUE} name="UserAdvManager_Password_Enforced"/>{'UserAdvManager_Password_Enforced_true'|@translate} 
    22         <input type="text" name="UserAdvManager_Password_Score" value="{$UserAdvManager_PASSWORD_SCORE}" size="5" style="text-align: center;"/><br><br> 
     19       
     20        <li><label>{'UserAdvManager_Password_Enforced'|@translate}</label><br> 
     21        <input type="radio" value="true" {$UserAdvManager_PASSWORDENF_TRUE} name="UserAdvManager_Password_Enforced">{'UserAdvManager_Password_Enforced_true'|@translate} 
     22        <input type="text" name="UserAdvManager_Password_Score" value="{$UserAdvManager_PASSWORD_SCORE}" size="5" style="text-align: center;"><br><br> 
    2323         
    2424        <label>{'UserAdvManager_Password_Enforced_Info'|@translate}</label><br><br> 
    25         {'UserAdvManager_PasswordTest'|@translate}<input type="text" name="UserAdvManager_Password_Test" value="{$UserAdvManager_PASSWORD_TEST}" size="50" style="text-align: left;"/>&nbsp;&nbsp;&nbsp; 
     25        {'UserAdvManager_PasswordTest'|@translate}<input type="text" name="UserAdvManager_Password_Test" value="{$UserAdvManager_PASSWORD_TEST}" size="50" style="text-align: left;">&nbsp;&nbsp;&nbsp; 
    2626        <input class="submit" type="submit" value="{'PasswordTest'|@translate}" name="PasswordTest" >&nbsp;&nbsp;&nbsp; 
    2727        {'UserAdvManager_ScoreTest'|@translate}{$UserAdvManager_PASSWORD_TEST_SCORE}<br><br> 
    28         {if isset($PasswordTest) && empty($UserAdvManager_PASSWORD_TEST)} 
    29           <label>{'reg_err_login3'|@translate}</label> 
    30         {/if} 
    3128         
    32         <input type="radio" value="false" {$UserAdvManager_PASSWORDENF_FALSE} name="UserAdvManager_Password_Enforced"/>{'UserAdvManager_Password_Enforced_false'|@translate}<br> 
    33         <br> 
     29        <input type="radio" value="false" {$UserAdvManager_PASSWORDENF_FALSE} name="UserAdvManager_Password_Enforced">{'UserAdvManager_Password_Enforced_false'|@translate}<br><br> 
    3430        </li> 
    35         <li><label>{'UserAdvManager_Mail_Info'|@translate}</label><br/> 
    36         <input type="radio" value="true" {$UserAdvManager_MAIL_INFO_TRUE} name="UserAdvManager_Mail_Info"/>{'UserAdvManager_Mail_Info_true'|@translate}<br> 
    37         <input type="radio" value="false" {$UserAdvManager_MAIL_INFO_FALSE} name="UserAdvManager_Mail_Info"/>{'UserAdvManager_Mail_Info_false'|@translate}<br> 
    38         <br> 
     31 
     32        <li><label>{'UserAdvManager_AdminPassword_Enforced'|@translate}</label><br> 
     33        <input type="radio" value="true" {$UserAdvManager_ADMINPASSWENF_TRUE} name="UserAdvManager_AdminPassword_Enforced">{'UserAdvManager_AdminPassword_Enforced_true'|@translate}<br> 
     34        <input type="radio" value="false" {$UserAdvManager_ADMINPASSWENF_FALSE} name="UserAdvManager_AdminPassword_Enforced">{'UserAdvManager_AdminPassword_Enforced_false'|@translate}<br><br> 
     35 
     36        <li><label>{'UserAdvManager_No_Comment_Anonymous'|@translate}</label><br> 
     37        <input type="radio" value="true" {$UserAdvManager_NO_COMMENT_ANO_TRUE} name="UserAdvManager_No_Comment_Anonymous">{'UserAdvManager_No_Comment_Anonymous_true'|@translate}<br> 
     38        <input type="radio" value="false" {$UserAdvManager_NO_COMMENT_ANO_FALSE} name="UserAdvManager_No_Comment_Anonymous">{'UserAdvManager_No_Comment_Anonymous_false'|@translate}<br><br> 
    3939        </li> 
     40       
     41        <li><label>{'UserAdvManager_MailExclusion'|@translate}</label><br> 
     42        <input type="radio" value="true" {$UserAdvManager_MAILEXCLUSION_TRUE} name="UserAdvManager_MailExclusion">{'UserAdvManager_MailExclusion_true'|@translate}<br> 
     43        <input type="radio" value="false" {$UserAdvManager_MAILEXCLUSION_FALSE} name="UserAdvManager_MailExclusion">{'UserAdvManager_MailExclusion_false'|@translate}<br><br> 
     44        </li> 
     45       
     46        <li><label>{'UserAdvManager_MailExclusion_List'|@translate}</label><br> 
     47        <textarea name="UserAdvManager_MailExclusion_List" id="UserAdvManager_MailExclusion_List" rows="3" cols="80" {$TAG_INPUT_ENABLED}>{$UserAdvManager_MAILEXCLUSION_LIST}</textarea><br><br> 
     48        </li> 
     49    </ul> 
     50     
     51        <p><input class="submit" type="submit" value="{'submit'|@translate}" name="submit" {$TAG_INPUT_ENABLED} >&nbsp;<input class="submit" type="submit" value="{'audit'|@translate}" name="audit"></p> 
     52  </fieldset> 
     53 
     54    <fieldset> 
     55    <legend>{'UserAdvManager_Title2'|@translate}</legend> 
     56    <ul> 
     57        <li><label>{'UserAdvManager_Mail_Info'|@translate}</label><br> 
     58        <input type="radio" value="true" {$UserAdvManager_MAIL_INFO_TRUE} name="UserAdvManager_Mail_Info">{'UserAdvManager_Mail_Info_true'|@translate}<br> 
     59        <input type="radio" value="false" {$UserAdvManager_MAIL_INFO_FALSE} name="UserAdvManager_Mail_Info">{'UserAdvManager_Mail_Info_false'|@translate}<br><br> 
     60        </li> 
     61       
    4062        <li><label>{'UserAdvManager_MailInfo_Text'|@translate}</label><br><br> 
    41         <textarea name="UserAdvManager_MailInfo_Text" id="UserAdvManager_MailInfo_Text" rows="10" cols="80" {$TAG_INPUT_ENABLED}>{$UserAdvManager_MAILINFO_TEXT}</textarea> 
    42         <br><br> 
     63        <textarea name="UserAdvManager_MailInfo_Text" id="UserAdvManager_MailInfo_Text" rows="10" cols="80" {$TAG_INPUT_ENABLED}>{$UserAdvManager_MAILINFO_TEXT}</textarea><br><br> 
    4364        </li> 
     65       
    4466        <li><label>{'UserAdvManager_Confirm_Mail'|@translate}</label><br> 
    45         <input type="radio" value="true" {$UserAdvManager_CONFIRM_MAIL_TRUE} name="UserAdvManager_Confirm_Mail"/>{'UserAdvManager_Confirm_Mail_true'|@translate}<br> 
    46         <input type="radio" value="false" {$UserAdvManager_CONFIRM_MAIL_FALSE} name="UserAdvManager_Confirm_Mail"/>{'UserAdvManager_Confirm_Mail_false'|@translate}<br> 
    47         <br> 
     67        <input type="radio" value="true" {$UserAdvManager_CONFIRM_MAIL_TRUE} name="UserAdvManager_Confirm_Mail">{'UserAdvManager_Confirm_Mail_true'|@translate}<br> 
     68        <input type="radio" value="false" {$UserAdvManager_CONFIRM_MAIL_FALSE} name="UserAdvManager_Confirm_Mail">{'UserAdvManager_Confirm_Mail_false'|@translate}<br><br> 
    4869        </li> 
     70       
    4971        <li><label>{'UserAdvManager_ConfirmMail_Text'|@translate}</label><br><br> 
    50         <textarea name="UserAdvManager_ConfirmMail_Text" id="UserAdvManager_ConfirmMail_Text" rows="10" cols="80" {$TAG_INPUT_ENABLED}>{$UserAdvManager_CONFIRMMAIL_TEXT}</textarea> 
    51         <br><br> 
     72        <textarea name="UserAdvManager_ConfirmMail_Text" id="UserAdvManager_ConfirmMail_Text" rows="10" cols="80" {$TAG_INPUT_ENABLED}>{$UserAdvManager_CONFIRMMAIL_TEXT}</textarea><br><br> 
    5273        </li> 
     74       
    5375        <br> 
    5476                        <div style="text-align: center; font-size: 1.1em; color: red;"><b>{'UserAdvManager_Confirm_Group_Notice'|@translate}</b></div> 
    5577                        <br> 
     78       
    5679        <li><label>{'UserAdvManager_No_Confirm_Group'|@translate}</label><br> 
    57                 {html_options name="UserAdvManager_No_Confirm_Group" options=$No_Confirm_Group.group_options selected=$No_Confirm_Group.group_selected} 
    58         <br><br> 
     80                {html_options name="UserAdvManager_No_Confirm_Group" options=$No_Confirm_Group.group_options selected=$No_Confirm_Group.group_selected}<br><br> 
    5981        </li> 
     82       
    6083        <li><label>{'UserAdvManager_Validated_Group'|@translate}</label><br> 
    61                 {html_options name="UserAdvManager_Validated_Group" options=$Validated_Group.group_options selected=$Validated_Group.group_selected} 
    62         <br><br> 
     84                {html_options name="UserAdvManager_Validated_Group" options=$Validated_Group.group_options selected=$Validated_Group.group_selected}<br><br> 
    6385        </li> 
     86       
    6487        <br> 
    6588                        <div style="text-align: center; font-size: 1.1em; color: red;"><b>{'UserAdvManager_Confirm_Status_Notice'|@translate}</b></div> 
    6689                        <br> 
     90       
    6791        <li><label>{'UserAdvManager_No_Confirm_Status'|@translate}</label><br> 
    68                 {html_options name="UserAdvManager_No_Confirm_Status" options=$No_Confirm_Status.Status_options selected=$No_Confirm_Status.Status_selected} 
    69         <br><br> 
     92                {html_options name="UserAdvManager_No_Confirm_Status" options=$No_Confirm_Status.Status_options selected=$No_Confirm_Status.Status_selected}<br><br> 
    7093        </li> 
     94       
    7195        <li><label>{'UserAdvManager_Validated_Status'|@translate}</label><br> 
    72                 {html_options name="UserAdvManager_Validated_Status" options=$Confirm_Status.Status_options selected=$Confirm_Status.Status_selected} 
    73         <br><br> 
    74         </li> 
    75         <li><label>{'UserAdvManager_No_Comment_Anonymous'|@translate}</label><br> 
    76         <input type="radio" value="true" {$UserAdvManager_NO_COMMENT_ANO_TRUE} name="UserAdvManager_No_Comment_Anonymous"/>{'UserAdvManager_No_Comment_Anonymous_true'|@translate}<br> 
    77         <input type="radio" value="false" {$UserAdvManager_NO_COMMENT_ANO_FALSE} name="UserAdvManager_No_Comment_Anonymous"/>{'UserAdvManager_No_Comment_Anonymous_false'|@translate}<br> 
    78         <br> 
    79         </li> 
    80         <li><label>{'UserAdvManager_MailExclusion'|@translate}</label><br> 
    81         <input type="radio" value="true" {$UserAdvManager_MAILEXCLUSION_TRUE} name="UserAdvManager_MailExclusion"/>{'UserAdvManager_MailExclusion_true'|@translate}<br> 
    82         <input type="radio" value="false" {$UserAdvManager_MAILEXCLUSION_FALSE} name="UserAdvManager_MailExclusion"/>{'UserAdvManager_MailExclusion_false'|@translate}<br> 
    83         <br> 
    84         </li> 
    85         <li><label>{'UserAdvManager_MailExclusion_List'|@translate}</label><br> 
    86         <textarea name="UserAdvManager_MailExclusion_List" id="UserAdvManager_MailExclusion_List" rows="3" cols="80" {$TAG_INPUT_ENABLED}>{$UserAdvManager_MAILEXCLUSION_LIST}</textarea> 
     96                {html_options name="UserAdvManager_Validated_Status" options=$Confirm_Status.Status_options selected=$Confirm_Status.Status_selected}<br><br> 
    8797        </li> 
    8898    </ul> 
    89         <p><input class="submit" type="submit" value="{'audit'|@translate}" name="audit" />&nbsp;<input class="submit" type="submit" value="{'submit'|@translate}" name="submit" {$TAG_INPUT_ENABLED} /></p> 
     99     
     100        <p><input class="submit" type="submit" value="{'submit'|@translate}" name="submit" {$TAG_INPUT_ENABLED} >&nbsp;<input class="submit" type="submit" value="{'audit'|@translate}" name="audit"></p> 
    90101  </fieldset> 
    91102</form> 
  • extensions/NBC_UserAdvManager/trunk/include/functions_UserAdvManager.inc.php

    r4061 r4124  
    575575 
    576576 
    577 /* Obsolete function - Check for no forbidden email provider */ 
    578 /* This don't work on function call */ 
    579 //function ValidateEmailProvider($email) 
    580 //{ 
    581 //  global $conf; 
    582 // 
    583 //      $conf_nbc_UserAdvManager = isset($conf['nbc_UserAdvManager']) ? explode(";" , $conf['nbc_UserAdvManager']) : array(); 
    584 //      if (isset($conf_nbc_UserAdvManager[12])) 
    585 //      { 
    586 //              $ncsemail = strtolower($email); 
    587 //              $conf_nbc_MailExclusion = preg_split('/,/',$conf_nbc_UserAdvManager[13]); 
    588 //              for ($i = 0 ; $i < count($conf_nbc_MailExclusion) ; $i++) 
    589 //              { 
    590 //                      $pattern = '/'.$conf_nbc_MailExclusion[$i].'/'; 
    591 //                      if (preg_match($pattern, $ncsemail)) 
    592 //                      return false; 
    593 //              else 
    594 //                              return true; 
    595 //              } 
    596 //      } 
    597 //} 
     577/* Function called from main.inc.php - Check if user's email is in excluded email providers list */ 
     578function ValidateEmailProvider($email) 
     579{ 
     580  global $conf; 
     581 
     582        $conf_nbc_UserAdvManager = isset($conf['nbc_UserAdvManager']) ? explode(";" , $conf['nbc_UserAdvManager']) : array(); 
     583        if (isset($conf_nbc_UserAdvManager[12])) 
     584        { 
     585                $ncsemail = strtolower($email); 
     586                $conf_nbc_MailExclusion = preg_split('/,/',$conf_nbc_UserAdvManager[13]); 
     587                for ($i = 0 ; $i < count($conf_nbc_MailExclusion) ; $i++) 
     588                { 
     589                        $pattern = '/'.$conf_nbc_MailExclusion[$i].'/'; 
     590                        if (preg_match($pattern, $ncsemail)) 
     591                        return false; 
     592                else 
     593                        return true; 
     594                } 
     595        } 
     596} 
    598597 
    599598 
     
    743742 * Thanx to MathieuGut from http://m-gut.developpez.com 
    744743 */ 
    745 function testpassword($password)        { // Le mot de passe passé en paramètre - $password given by user 
    746  
    747 // Initialisation des variables - Variables initiation 
    748 $points = 0; 
    749 $point_lowercase = 0; 
    750 $point_uppercase = 0; 
    751 $point_numbers = 0; 
    752 $point_characters = 0; 
    753  
    754 // On récupère la longueur du mot de passe - Getting password lengh      
    755 $length = strlen($password); 
    756  
    757 // On fait une boucle pour lire chaque lettre - Loop to read password characters 
    758 for($i = 0; $i < $length; $i++)         { 
    759          
    760         // On sélectionne une à une chaque lettre - Select each letters 
    761         // $i étant à 0 lors du premier passage de la boucle - $i is 0 at first turn 
    762         $letters = $password[$i]; 
    763  
    764         if ($letters>='a' && $letters<='z'){ 
    765                 // On ajoute 1 point pour une minuscule - Adding 1 point to score for a lowercase 
    766                 $points = $points + 1; 
    767  
    768                 // On rajoute le bonus pour une minuscule - Adding bonus points for lowercase 
    769                 $point_lowercase = 1; 
    770         } 
    771         else if ($letters>='A' && $letters <='Z'){ 
    772                 // On ajoute 2 points pour une majuscule - Adding 2 points to score for uppercase 
    773                 $points = $points + 2; 
     744function testpassword($password) // Le mot de passe passé en paramètre - $password given by user 
     745{ 
     746 
     747  // Initialisation des variables - Variables initiation 
     748  $points = 0; 
     749  $point_lowercase = 0; 
     750  $point_uppercase = 0; 
     751  $point_numbers = 0; 
     752  $point_characters = 0; 
     753 
     754  // On récupère la longueur du mot de passe - Getting password lengh    
     755  $length = strlen($password); 
     756   
     757  // On fait une boucle pour lire chaque lettre - Loop to read password characters 
     758  for($i = 0; $i < $length; $i++) 
     759  { 
     760    // On sélectionne une à une chaque lettre - Select each letters 
     761    // $i étant à 0 lors du premier passage de la boucle - $i is 0 at first turn 
     762    $letters = $password[$i]; 
     763 
     764    if ($letters>='a' && $letters<='z') 
     765    { 
     766      // On ajoute 1 point pour une minuscule - Adding 1 point to score for a lowercase 
     767                  $points = $points + 1; 
     768 
     769                  // On rajoute le bonus pour une minuscule - Adding bonus points for lowercase 
     770                  $point_lowercase = 1; 
     771    } 
     772    else if ($letters>='A' && $letters <='Z') 
     773    { 
     774      // On ajoute 2 points pour une majuscule - Adding 2 points to score for uppercase 
     775      $points = $points + 2; 
    774776                 
    775                 // On rajoute le bonus pour une majuscule - Adding bonus points for uppercase 
    776                 $point_uppercase = 2; 
    777         } 
    778         else if ($letters>='0' && $letters<='9'){ 
    779                 // On ajoute 3 points pour un chiffre - Adding 3 points to score for numbers 
    780                 $points = $points + 3; 
     777      // On rajoute le bonus pour une majuscule - Adding bonus points for uppercase 
     778      $point_uppercase = 2; 
     779    } 
     780    else if ($letters>='0' && $letters<='9') 
     781    { 
     782      // On ajoute 3 points pour un chiffre - Adding 3 points to score for numbers 
     783      $points = $points + 3; 
    781784                 
    782                 // On rajoute le bonus pour un chiffre - Adding bonus points for numbers 
    783                 $point_numbers = 3; 
    784         } 
    785         else { 
    786                 // On ajoute 5 points pour un caractère autre - Adding 5 points to score for special characters 
    787                 $points = $points + 5; 
     785      // On rajoute le bonus pour un chiffre - Adding bonus points for numbers 
     786      $point_numbers = 3; 
     787    } 
     788    else 
     789    { 
     790      // On ajoute 5 points pour un caractère autre - Adding 5 points to score for special characters 
     791      $points = $points + 5; 
    788792                 
    789                 // On rajoute le bonus pour un caractère autre - Adding bonus points for special characters 
    790                 $point_characters = 5; 
    791         } 
    792 } 
    793  
    794 // Calcul du coefficient points/longueur - calculating the coefficient points / length 
    795 $step1 = $points / $length; 
    796  
    797 // Calcul du coefficient de la diversité des types de caractères... - Calculation of the diversity of character types... 
    798 $step2 = $point_lowercase + $point_uppercase + $point_numbers + $point_characters; 
    799  
    800 // Multiplication du coefficient de diversité avec celui de la longueur - Multiplying the coefficient of diversity with that of the length 
    801 $score = $step1 * $step2; 
    802  
    803 // Multiplication du résultat par la longueur de la chaîne - Multiplying the result by the length of the chain 
    804 $finalscore = $score * $length; 
    805  
    806 return $finalscore; 
     793      // On rajoute le bonus pour un caractère autre - Adding bonus points for special characters 
     794      $point_characters = 5; 
     795    } 
     796  } 
     797 
     798  // Calcul du coefficient points/longueur - calculating the coefficient points / length 
     799  $step1 = $points / $length; 
     800 
     801  // Calcul du coefficient de la diversité des types de caractères... - Calculation of the diversity of character types... 
     802  $step2 = $point_lowercase + $point_uppercase + $point_numbers + $point_characters; 
     803 
     804  // Multiplication du coefficient de diversité avec celui de la longueur - Multiplying the coefficient of diversity with that of the length 
     805  $score = $step1 * $step2; 
     806 
     807  // Multiplication du résultat par la longueur de la chaîne - Multiplying the result by the length of the chain 
     808  $finalscore = $score * $length; 
     809 
     810  return $finalscore; 
    807811} 
    808812?> 
  • extensions/NBC_UserAdvManager/trunk/language/en_UK/plugin.lang.php

    r4061 r4124  
    5757$lang['UserAdvManager_ConfirmMail_Remail_true'] = 'Enable email reminder'; 
    5858$lang['UserAdvManager_ConfirmMail_Remail_false'] = 'Disable email reminder'; 
    59 $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 !!!)'; 
    60 $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 !!!)'; 
     59$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>'; 
     60$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>'; 
    6161 
    6262 
  • extensions/NBC_UserAdvManager/trunk/language/fr_FR/plugin.lang.php

    r4061 r4124  
    99$lang['Title_Tab1'] = 'UserAdvManager - Configuration Générale'; 
    1010$lang['Tab_Global'] = 'Configuration Générale'; 
    11 $lang['UserAdvManager_Title'] = 'Configuration avancée des utilisateurs'; 
     11$lang['UserAdvManager_Title1'] = 'Gestion de l\'inscription des utilisateurs'; 
     12$lang['UserAdvManager_Title2'] = 'Validation d\'inscription et gestion de groupes / statuts'; 
    1213$lang['UserAdvManager_Mail_Info'] = 'Mail d\'information à l\'utilisateur'; 
    1314$lang['UserAdvManager_Mail_Info_true'] = ' Envoyer un mail à l\'utilisateur reprenant ses infos lors de son inscription ou la mise à jour de son profil.'; 
    14 $lang['UserAdvManager_Mail_Info_false'] = ' Désactive l\'envoi de mail d\'info.'; 
     15$lang['UserAdvManager_Mail_Info_false'] = ' Désactive l\'envoi de mail d\'info. (valeur par défaut)'; 
    1516$lang['UserAdvManager_MailInfo_Text'] = ' Texte utilisé pour l\'introduction du mail envoyé à l\'utilisateur pour son inscription ou la mise à jour de son profil<br><b style="color: red;">(!!! </b><b style="text-decoration: underline; color: red;">ATTENTION !</b> <b style="color: red;">Utilisez la méthode multi language du plugin Extended Description si celui-ci est activé !!!)</b>'; 
    1617$lang['UserAdvManager_No_Casse'] = 'Utilisateur insensible à la casse'; 
    1718$lang['UserAdvManager_No_Casse_true'] = ' Rendre le compte utilisateur insensible à la casse, lors de l\'inscription et l\identification.'; 
    18 $lang['UserAdvManager_No_Casse_false'] = ' Laisser les utilisateur sensible à la casse.'; 
     19$lang['UserAdvManager_No_Casse_false'] = ' Laisser les utilisateur sensible à la casse. (valeur par défaut)'; 
    1920$lang['UserAdvManager_Username_Char'] = 'Caractères limités pour le nom d\'utilisateur'; 
    2021$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 == '; 
    21 $lang['UserAdvManager_Username_Char_false'] = ' Laisser le contrôle par défaut du nom d\'utilisateur.'; 
     22$lang['UserAdvManager_Username_Char_false'] = ' Laisser le contrôle par défaut du nom d\'utilisateur. (valeur par défaut)'; 
    2223$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é.'; 
    23 $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>'; 
     24$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>'; 
    2425$lang['UserAdvManager_PasswordTest'] = 'Mot de passe à tester : '; 
    2526$lang['UserAdvManager_ScoreTest'] = 'Score obtenu : '; 
    2627$lang['PasswordTest'] = 'Calcul du score'; 
    27 $lang['UserAdvManager_Password_Enforced_true'] = ' Mot de passe renforcé obligatoire - Saisir le score minimum (planchet)de fiabilité du mots de passe == '; 
    28 $lang['UserAdvManager_Password_Enforced_false'] = ' Ne pas renforcer les mots de passe (fonctionnement normal)'; 
     28$lang['UserAdvManager_Password_Enforced_true'] = ' Mot de passe renforcé obligatoire - Saisir le score minimum (valeur planchet) de fiabilité du mots de passe == '; 
     29$lang['UserAdvManager_Password_Enforced_false'] = ' Ne pas renforcer les mots de passe. (valeur par défaut)'; 
     30$lang['UserAdvManager_AdminPassword_Enforced'] = 'Appliquer également le contrôle du renforcement de mots de passe lorsqu\'un administrateur créé un utilisateur? A noter : Si l\'utilisateur ainsi créé désire changer de mot de passe et que le renforcement des mots de passe pour les utilisateurs est actif, il sera soumis à la règle configurée.'; 
     31$lang['UserAdvManager_AdminPassword_Enforced_true'] = 'Activer le renforcement des mots de passe pour les admins.'; 
     32$lang['UserAdvManager_AdminPassword_Enforced_false'] = 'Désactiver le renforcement des mots de passe pour les admins. (valeur par défaut)'; 
    2933$lang['UserAdvManager_Confirm_Mail'] = 'Confirmation de l\'adresse email'; 
    3034$lang['UserAdvManager_Confirm_Mail_true'] = ' Envoyer un mail permettant a l\'utilisateur de confirmer son adresse email et donc son compte utilisateur.'; 
    31 $lang['UserAdvManager_Confirm_Mail_false'] = ' Système d\'inscription et de mise à jour standard sans confirmation de l\'adresse email.'; 
     35$lang['UserAdvManager_Confirm_Mail_false'] = ' Système d\'inscription et de mise à jour standard sans confirmation de l\'adresse email. (valeur par défaut)'; 
    3236$lang['UserAdvManager_ConfirmMail_Text'] = ' Texte utilisé pour l\'introduction du mail envoyé à l\'utilisateur pour confirmer son adresse mail<br><b style="color: red;">(!!! </b><b style="text-decoration: underline; color: red;">ATTENTION !</b> <b style="color: red;">Utilisez la méthode multi language du plugin Extended Description si celui-ci est activé !!!)</b>'; 
    3337$lang['UserAdvManager_Confirm_Group_Notice'] = 'ATTENTION : L\'utilisation des groupes de validation nécessite que vous ayez créé au moins un groupe d\'utilisateurs et qu\'il soit défini "par défaut" dans la gestion des groupes d\'utilisateurs de Piwigo.'; 
     
    3943$lang['UserAdvManager_No_Comment_Anonymous'] = 'Pseudo obligatoire sur commentaire'; 
    4044$lang['UserAdvManager_No_Comment_Anonymous_true'] = ' Le champs auteur doit être renseigné pour enregistrer un commentaire.'; 
    41 $lang['UserAdvManager_No_Comment_Anonymous_false'] = ' Laisser le fonctionnement par défaut pour enregistrer un commentaire.'; 
     45$lang['UserAdvManager_No_Comment_Anonymous_false'] = ' Laisser le fonctionnement par défaut pour enregistrer un commentaire. (valeur par défaut)'; 
    4246$lang['UserAdvManager_MailExclusion'] = 'Exclusion des domaines de messagerie'; 
    4347$lang['UserAdvManager_MailExclusion_true'] = ' Activer l\'exclusion des domaines de messagerie (par exemple @hotmail.* ou @msn.*)'; 
    44 $lang['UserAdvManager_MailExclusion_false'] = ' Désactiver l\'exclusion des domaines de messagerie.'; 
     48$lang['UserAdvManager_MailExclusion_false'] = ' Désactiver l\'exclusion des domaines de messagerie. (valeur par défaut)'; 
    4549$lang['UserAdvManager_MailExclusion_List'] = ' Si l\'exclusion de domaines de messagerie est activée, saisissez les domaines à exclure ici. Il faut respecter le format suivant :<br>@[nom_du_domaine].[extension_du_domaine] - Exemple : @hotmail.com<br><br>Séparez les domaines par une virgule<br>'; 
    46 $lang['audit'] = 'Audit'; 
    47 $lang['submit'] = 'Valider'; 
     50$lang['audit'] = 'Auditer les paramètres'; 
     51$lang['submit'] = 'Sauvegarder les paramètres'; 
    4852 
    4953 
     
    5458$lang['UserAdvManager_ConfirmMail_Info'] = 'Limitation du délai de validation de l\'inscription :<br>Si vous activez cette option, sélectionnez le délai (x) )souhaité dans la liste qui suit. Les visiteurs qui s\'inscriront alors auront x jours de délais pour valider leur inscription. Passé ce délai, le lien de validation qu\'ils auront reçu par mail sera expiré.<br>'; 
    5559$lang['UserAdvManager_ConfirmMail_TimeOut_true'] = 'Activer la limitation du délai d\'inscription.'; 
    56 $lang['UserAdvManager_ConfirmMail_TimeOut_false'] = 'Désactiver la limitation du délai d\'inscription.'; 
     60$lang['UserAdvManager_ConfirmMail_TimeOut_false'] = 'Désactiver la limitation du délai d\'inscription. (valeur par défaut)'; 
    5761$lang['UserAdvManager_ConfirmMail_TimeOut'] = 'Délai d\activation :'; 
    5862$lang['UserAdvManager_ConfirmMail_Delay_Info'] = 'Saisissez ici le nombre de jours avant expiration de la validation d\'inscription : '; 
     
    6266//$lang['UserAdvManager_ConfirmMail_AutoDel_false'] = 'Désactiver la suppression automatique.'; 
    6367$lang['UserAdvManager_ConfirmMail_Remail'] = 'Activer ou désactiver la fonctionnalité de rappel des inscrits non validés :<br>'; 
    64 $lang['UserAdvManager_ConfirmMail_Remail_true'] = 'Activer le rappel par mail'; 
    65 $lang['UserAdvManager_ConfirmMail_Remail_false'] = 'Désactiver le rappel par mail'; 
     68$lang['UserAdvManager_ConfirmMail_Remail_true'] = 'Activer le rappel par mail.'; 
     69$lang['UserAdvManager_ConfirmMail_Remail_false'] = 'Désactiver le rappel par mail. (valeur par défaut)'; 
    6670$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>'; 
    6771$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>'; 
     
    108112$lang['Err_audit_username_char'] = '<b>Ce compte contient un ou des caractères interdits :</b> '; 
    109113$lang['Err_audit_email_forbidden'] = '<b>Ce compte contient des domaines de messagerie interdit :</b> '; 
    110 $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>'; 
     114$lang['Err_audit_advise'] = '<b>Vous avez des corrections a faire pour respecter les nouvelles règles que vous avez activées.<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><br><br>'; 
    111115$lang['UserAdvManager_Empty Author'] = 'Le champs auteur doit être rempli pour enregistrer un commentaire.'; 
    112 $lang['reg_err_login3'] = 'Mot de passe obligatoire !'; 
    113 $lang['reg_err_login4'] = 'Le mot de passe choisi est trop faible.'; 
     116$lang['reg_err_login3'] = 'Sécurité : Le mot de passe est obligatoire !'; 
     117$lang['reg_err_login4_%s'] = 'Sécurité : Un système de contrôle calcule un score de complexité sur les mots de passe choisis. La complexité de votre mot de passe est trop faible (score = %s). Veuillez choisir un nouveau mot de passe plus sûre en respectant les règles suivantes :<br> 
     118- Utiliser des lettres et des chiffres<br> 
     119- Utiliser des minuscules et des majuscules<br> 
     120- Augmenter sa longueur (nombre de caractères)<br> 
     121Le score minimal des mots de passe imposé par l\'administrateur est de : '; 
    114122if ( isset($conf_UserAdvManager[1]) and $conf_UserAdvManager[1] == 'true' ) 
    115123        $lang['reg_err_login5'] = 'ce nom utilisateur est déjà pris, ATTENTION le nom est insensible à la casse (Majuscule = Minuscule).'; 
  • extensions/NBC_UserAdvManager/trunk/main.inc.php

    r4061 r4124  
    7070-- 2.11.5 : Bug 1195 fixed : Registration displays the good title 
    7171 
    72 -- pre 2.12.0 : Password control and enforcement (step 1) 
    73  
     72-- pre 2.12.0 : Bug 1206 fixed : All plugin functionnalities work in user's profile page 
     73            Plugin's core code and admin panel refactoring 
     74            Password control and enforcement : A complexity score is computed on user registration. If this score is less than the goal set by admin, the password choosen is rejected. 
    7475*/ 
    7576 
     
    8384 
    8485++ Password control and enforcement 
    85   -- Empty password (done in Piwigo 2.x) 
    86   ++ Can not be the same as username 
    87   ++ complexity of the password (Numbers+Lettrers+Low and high case+Special+minimal length) 
     86  ?? Can not be the same as username -> Could password score control be sufficient ?  
    8887   
    8988++ Security : Blocking brut-force attacks ! 
     
    9998 
    10099 
    101 if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); 
     100if (!defined('PHPWG_ROOT_PATH')) 
     101{ 
     102  die('Hacking attempt!'); 
     103} 
    102104 
    103105define('NBC_UserAdvManager_DIR' , basename(dirname(__FILE__))); 
     
    135137   
    136138  $conf_nbc_UserAdvManager = isset($conf['nbc_UserAdvManager']) ? explode(";" , $conf['nbc_UserAdvManager']) : array(); 
    137  
    138   if (( isset($conf_nbc_UserAdvManager[0]) and $conf_nbc_UserAdvManager[0] == 'true') or ( isset($conf_nbc_UserAdvManager[2]) and $conf_nbc_UserAdvManager[2] == 'true')) 
    139          
    140         SendMail2User(1, $register_user['id'], $register_user['username'], $_POST['password'], $register_user['email'], true); 
     139   
     140  /* Sending registration confirmation by email */ 
     141  if ((isset($conf_nbc_UserAdvManager[0]) and $conf_nbc_UserAdvManager[0] == 'true') or (isset($conf_nbc_UserAdvManager[2]) and $conf_nbc_UserAdvManager[2] == 'true')) 
     142  { 
     143    SendMail2User(1, $register_user['id'], $register_user['username'], $_POST['password'], $register_user['email'], true); 
     144  } 
    141145} 
    142146 
     
    148152function UserAdvManager_Deluser($user_id) 
    149153{ 
    150  
    151154  DeleteConfirmMail($user_id); 
    152  
    153 } 
    154  
     155} 
     156 
     157 
     158/* Check users registration */ 
     159add_event_handler('register_user_check', 'UserAdvManager_RegistrationCheck', EVENT_HANDLER_PRIORITY_NEUTRAL, 2); 
     160 
     161function UserAdvManager_RegistrationCheck($err, $user) 
     162{ 
     163  global $errors, $conf; 
     164 
     165  $PasswordCheck = 0; 
     166   
     167  $conf_nbc_UserAdvManager = isset($conf['nbc_UserAdvManager']) ? explode(";" , $conf['nbc_UserAdvManager']) : array(); 
     168 
     169  /* Password enforcement control */ 
     170  if (isset($conf_nbc_UserAdvManager[14]) and $conf_nbc_UserAdvManager[14] == 'true' and !empty($conf_nbc_UserAdvManager[15])) 
     171  { 
     172    if (!empty($user['password']) and !is_admin()) 
     173    { 
     174      $PasswordCheck = testpassword($user['password']); 
     175   
     176      if ($PasswordCheck < $conf_nbc_UserAdvManager[15]) 
     177      { 
     178        $message = get_l10n_args('reg_err_login4_%s', $PasswordCheck); 
     179        return($lang['reg_err_pass'] = l10n_args($message).$conf_nbc_UserAdvManager[15]); 
     180      } 
     181    } 
     182    else if (!empty($user['password']) and is_admin() and isset($conf_nbc_UserAdvManager[16]) and $conf_nbc_UserAdvManager[16] == 'true') 
     183    {  
     184      $PasswordCheck = testpassword($user['password']); 
     185   
     186      if ($PasswordCheck < $conf_nbc_UserAdvManager[15]) 
     187      { 
     188        $message = get_l10n_args('reg_err_login4_%s', $PasswordCheck); 
     189        return($lang['reg_err_pass'] = l10n_args($message).$conf_nbc_UserAdvManager[15]); 
     190      } 
     191    } 
     192  } 
     193 
     194  /* Username non case sensitive */ 
     195  if (isset($conf_nbc_UserAdvManager[1]) and $conf_nbc_UserAdvManager[1] == 'true') 
     196  { 
     197    $new_username =  NotSensibleSearchUsername($_POST['login']); 
     198    $_POST['login'] = $new_username == '' ? $_POST['login'] : $new_username; 
     199  } 
     200 
     201  /* Username without forbidden keys */ 
     202  if (isset($conf_nbc_UserAdvManager[7]) and $conf_nbc_UserAdvManager[7] == 'true' and !empty($_POST['login']) and !ValidateUsername($_POST['login'])) 
     203  { 
     204    $_POST['login'] = ''; 
     205    return($lang['reg_err_login1'] = l10n('reg_err_login6')."'".$conf_nbc_UserAdvManager[8]."'"); 
     206  } 
     207 
     208  /* Email without forbidden domains */ 
     209  if (isset($conf_nbc_UserAdvManager[12]) and $conf_nbc_UserAdvManager[12] == 'true' and !empty($_POST['mail_address']) and !ValidateEmailProvider($_POST['mail_address'])) 
     210  { 
     211    $_POST['login'] = ''; 
     212    return($lang['reg_err_login1'] = l10n('reg_err_login7')."'".$conf_nbc_UserAdvManager[13]."'"); 
     213  } 
     214} 
     215 
     216 
     217if (script_basename() == 'profile') 
     218{ 
     219  add_event_handler('loc_begin_profile', 'UserAdvManager_Profile_Init'); 
     220 
     221  function UserAdvManager_Profile_Init() 
     222  { 
     223    global $conf, $user, $template; 
     224 
     225    $conf_nbc_UserAdvManager = isset($conf['nbc_UserAdvManager']) ? explode(";" , $conf['nbc_UserAdvManager']) : array(); 
     226 
     227    if (isset($_POST['validate'])) 
     228    { 
     229      /* Email without forbidden domains */ 
     230      if (isset($conf_nbc_UserAdvManager[12]) and $conf_nbc_UserAdvManager[12] == 'true' and !empty($_POST['mail_address'])) 
     231      { 
     232        if (!ValidateEmailProvider($_POST['mail_address'])) 
     233        { 
     234          $template->append('errors', l10n('reg_err_login7')."'".$conf_nbc_UserAdvManager[13]."'"); 
     235          unset($_POST['validate']); 
     236        } 
     237      } 
     238 
     239      $typemail = 3; 
     240       
     241      if (!empty($_POST['use_new_pwd'])) 
     242      { 
     243        $typemail = 2; 
     244         
     245        /* Password enforcement control */ 
     246        if (isset($conf_nbc_UserAdvManager[14]) and $conf_nbc_UserAdvManager[14] == 'true' and !empty($conf_nbc_UserAdvManager[15])) 
     247        { 
     248          $PasswordCheck = testpassword($_POST['use_new_pwd']); 
     249          
     250          if ($PasswordCheck < $conf_nbc_UserAdvManager[15]) 
     251          { 
     252            $message = get_l10n_args('reg_err_login4_%s', $PasswordCheck); 
     253            $template->append('errors', l10n_args($message).$conf_nbc_UserAdvManager[15]); 
     254            unset($_POST['use_new_pwd']); 
     255            unset($_POST['validate']); 
     256          } 
     257        } 
     258      } 
     259       
     260      /* Sending registration confirmation by email */ 
     261      if (( isset($conf_nbc_UserAdvManager[0]) and $conf_nbc_UserAdvManager[0] == 'true') or ( isset($conf_nbc_UserAdvManager[2]) and $conf_nbc_UserAdvManager[2] == 'true')) 
     262      { 
     263        $confirm_mail_need = false; 
     264               
     265        if (!empty($_POST['mail_address']) and ValidateEmailProvider($_POST['mail_address'])) 
     266        { 
     267          $query = ' 
     268            SELECT '.$conf['user_fields']['email'].' AS email 
     269              FROM '.USERS_TABLE.' 
     270            WHERE '.$conf['user_fields']['id'].' = \''.$user['id'].'\' 
     271            ;'; 
     272           
     273          list($current_email) = mysql_fetch_row(pwg_query($query)); 
     274       
     275          if ( $_POST['mail_address'] != $current_email and ( isset($conf_nbc_UserAdvManager[2]) and $conf_nbc_UserAdvManager[2] == 'true') ) 
     276         
     277            $confirm_mail_need = true; 
     278        } 
     279         
     280        if ((!empty($_POST['use_new_pwd']) and ( isset($conf_nbc_UserAdvManager[0]) and $conf_nbc_UserAdvManager[0] == 'true') or $confirm_mail_need) ) 
     281        { 
     282          $query = ' 
     283            SELECT '.$conf['user_fields']['username'].' 
     284              FROM '.USERS_TABLE.' 
     285            WHERE '.$conf['user_fields']['id'].' = \''.$user['id'].'\' 
     286            ;'; 
     287         
     288          list($username) = mysql_fetch_row(pwg_query($query)); 
     289 
     290          SendMail2User($typemail, $user['id'], $username, $_POST['use_new_pwd'], $_POST['mail_address'], $confirm_mail_need); 
     291        } 
     292      } 
     293    } 
     294  } 
     295} 
    155296 
    156297 
     
    160301{ 
    161302  load_language('plugin.lang', NBC_UserAdvManager_PATH); 
    162   global $conf, $template, $page, $lang; 
    163    
    164   $PasswordCheck = 0; 
     303  global $conf, $template, $page, $lang, $errors; 
    165304 
    166305  $conf_nbc_UserAdvManager = isset($conf['nbc_UserAdvManager']) ? explode(";" , $conf['nbc_UserAdvManager']) : array(); 
    167306   
    168  
    169   if ( isset($conf_nbc_UserAdvManager[1]) and $conf_nbc_UserAdvManager[1] == 'true' ) 
     307  /* Username non case sensitive */ 
     308  if (isset($conf_nbc_UserAdvManager[1]) and $conf_nbc_UserAdvManager[1] == 'true') 
     309  { 
    170310    $lang['reg_err_login5'] = l10n('reg_err_login5'); 
    171      
     311  } 
     312   
     313 
    172314  
    173 /* User identication */ 
     315/* User identification */ 
    174316  if (script_basename() == 'identification') 
    175317  { 
     
    186328 
    187329 
    188  
    189330/* Admin user management */ 
    190331  if (script_basename() == 'admin' and isset($_GET['page']) and $_GET['page'] == 'user_list') 
     
    199340      } 
    200341 
    201  
    202342      /* Username without forbidden keys */ 
    203343      if (isset($conf_nbc_UserAdvManager[7]) and $conf_nbc_UserAdvManager[7] == 'true' and !empty($_POST['login']) and !ValidateUsername($_POST['login'])) 
    204344      { 
    205         $lang['reg_err_login1'] = l10n('reg_err_login6')."'".$conf_nbc_UserAdvManager[8]."'"; 
    206         $_POST['login'] = ''; 
     345        $template->append('errors', l10n('reg_err_login6')."'".$conf_nbc_UserAdvManager[8]."'"); 
     346        unset($_POST['submit_add']); 
    207347      } 
    208348 
    209349      /* Email without forbidden domains */ 
    210       /* This don't work on call of ValidateEmailProvider() function - Why ?? -> Due to the "return = false|true" in function ?*/ 
    211       //if (isset($conf_nbc_UserAdvManager[12]) and $conf_nbc_UserAdvManager[12] == 'true' and !empty($_POST['email']) and !ValidateEmailProvider($_POST['email'])) 
    212       //{ 
    213       //  $lang['reg_err_login1'] = l10n('reg_err_login7')."'".$conf_nbc_UserAdvManager[13]."'"; 
    214           //  $_POST['login'] = ''; 
    215           //} 
    216       /* This work with a code copy of ValidateEmailProvider() function */ 
    217                         if (isset($conf_nbc_UserAdvManager[12]) and $conf_nbc_UserAdvManager[12] == 'true' and !empty($_POST['email'])) 
    218                         { 
    219                         $ncsemail = strtolower($_POST['email']); 
    220                         $conf_nbc_MailExclusion = preg_split("/[\s,]+/",$conf_nbc_UserAdvManager[13]); 
    221                         for ($i = 0 ; $i < count($conf_nbc_MailExclusion) ; $i++) 
    222                     { 
    223                   $pattern = '/'.$conf_nbc_MailExclusion[$i].'/'; 
    224                                 if (preg_match($pattern, $ncsemail)) 
    225                         { 
    226                         $lang['reg_err_login1'] = l10n('reg_err_login7')."'".$conf_nbc_UserAdvManager[13]."'"; 
    227                         $_POST['login'] = ''; 
    228                                         } 
    229                                 } 
    230                         } 
    231     } 
    232   } 
    233  
    234 /* User creation */ 
    235   if (script_basename() == 'register') 
    236   { 
    237     if (isset($_POST['submit'])) 
    238     { 
    239       /* Username non case sensitive */ 
    240       if (isset($conf_nbc_UserAdvManager[1]) and $conf_nbc_UserAdvManager[1] == 'true') 
    241       { 
    242         $new_username =  NotSensibleSearchUsername($_POST['login']); 
    243         $_POST['login'] = $new_username == '' ? $_POST['login'] : $new_username; 
    244       } 
    245  
    246  
    247       /* Username without forbidden keys */ 
    248       if (isset($conf_nbc_UserAdvManager[7]) and $conf_nbc_UserAdvManager[7] == 'true' and !empty($_POST['login']) and !ValidateUsername($_POST['login'])) 
    249       { 
    250         $lang['reg_err_login1'] = l10n('reg_err_login6')."'".$conf_nbc_UserAdvManager[8]."'"; 
    251         $_POST['login'] = ''; 
    252       } 
    253  
    254  
    255   if (isset($conf_nbc_UserAdvManager[14]) and $conf_nbc_UserAdvManager[14] == 'true' and !empty($conf_nbc_UserAdvManager[15])) 
    256   {  
    257     //$PasswordCheck = testpassword($_POST['password']); 
    258     $PasswordCheck = 10; 
    259     if ($PasswordCheck < $conf_nbc_UserAdvManager[15]) 
    260     { 
    261       array_push($errors, l10n('reg_err_login4')."'".$conf_nbc_UserAdvManager[15]."'"); 
    262       //$lang['reg_err_login1'] = l10n('reg_err_login4')."'".$conf_nbc_UserAdvManager[15]."'"; 
    263       $_POST['password'] = ""; 
    264       $_POST['password_conf'] = ""; 
    265       $PasswordCheck = 0; 
    266     } 
    267   } 
    268  
    269       /* Email without forbidden domains */ 
    270       /* This don't work on call of ValidateEmailProvider() function - Why ?? -> Due to the "return = false|true" in function ?*/ 
    271       //if (isset($conf_nbc_UserAdvManager[12]) and $conf_nbc_UserAdvManager[12] == 'true' and !empty($_POST['mail_address']) and !ValidateEmailProvider($_POST['mail_address'])) 
    272       //{ 
    273       //  $lang['reg_err_mail_address'] = l10n('reg_err_login7')."'".$conf_nbc_UserAdvManager[13]."'"; 
    274       //  $_POST['mail_address'] = ''; 
    275       //} 
    276       /* This work with a code copy of ValidateEmailProvider() function */ 
    277                         if (isset($conf_nbc_UserAdvManager[12]) and $conf_nbc_UserAdvManager[12] == 'true' and !empty($_POST['mail_address'])) 
    278                   { 
    279                         $ncsemail = strtolower($_POST['mail_address']); 
    280                     $conf_nbc_MailExclusion = preg_split("/[\s,]+/",$conf_nbc_UserAdvManager[13]); 
    281                                 for ($i = 0 ; $i < count($conf_nbc_MailExclusion) ; $i++) 
    282                           { 
    283                                 $pattern = '/'.$conf_nbc_MailExclusion[$i].'/'; 
    284                                 if (preg_match($pattern, $ncsemail)) 
    285                                   { 
    286                                         $lang['reg_err_login1'] = l10n('reg_err_login7')."'".$conf_nbc_UserAdvManager[13]."'"; 
    287                                                 $_POST['login'] = ''; 
    288                                   } 
    289                           } 
    290                   } 
    291     } 
    292   } 
    293  
    294 /* User profile update */ 
    295   if (script_basename() == 'profile') 
    296   { 
    297     if (isset($_POST['validate'])) 
    298     { 
    299       /* Sending email to user */ 
    300       if (( isset($conf_nbc_UserAdvManager[0]) and $conf_nbc_UserAdvManager[0] == 'true') or ( isset($conf_nbc_UserAdvManager[2]) and $conf_nbc_UserAdvManager[2] == 'true')) 
    301       { 
    302         global $conf, $user ; 
    303         $errors = array(); 
    304    
    305         $int_pattern = '/^\d+$/'; 
    306         if (empty($_POST['nb_image_line']) 
    307             or (!preg_match($int_pattern, $_POST['nb_image_line']))) 
    308         { 
    309           $errors[] = l10n('nb_image_line_error'); 
    310         } 
    311        
    312         if (empty($_POST['nb_line_page']) 
    313             or (!preg_match($int_pattern, $_POST['nb_line_page']))) 
    314         { 
    315           $errors[] = l10n('nb_line_page_error'); 
    316         } 
    317        
    318         if ($_POST['maxwidth'] != '' 
    319             and (!preg_match($int_pattern, $_POST['maxwidth']) 
    320                  or $_POST['maxwidth'] < 50)) 
    321         { 
    322           $errors[] = l10n('maxwidth_error'); 
    323         } 
    324         if ($_POST['maxheight'] 
    325              and (!preg_match($int_pattern, $_POST['maxheight']) 
    326                    or $_POST['maxheight'] < 50)) 
    327         { 
    328           $errors[] = l10n('maxheight_error'); 
    329         } 
    330  
    331         if (isset($_POST['mail_address'])) 
    332         { 
    333           $mail_error = validate_mail_address($user['id'], $_POST['mail_address']); 
    334           if (!empty($mail_error)) 
    335           { 
    336             $errors[] = $mail_error; 
    337           } 
    338            
    339                                         if (isset($conf_nbc_UserAdvManager[12]) and $conf_nbc_UserAdvManager[12] == 'true' and !empty($_POST['mail_address'])) 
    340                                 { 
    341                                         $ncsemail = strtolower($_POST['mail_address']); 
    342                                 $conf_nbc_MailExclusion = preg_split("/[\s,]+/",$conf_nbc_UserAdvManager[13]); 
    343                                                 for ($i = 0 ; $i < count($conf_nbc_MailExclusion) ; $i++) 
    344                                         { 
    345                                                 $pattern = '/'.$conf_nbc_MailExclusion[$i].'/'; 
    346                                                 if (preg_match($pattern, $ncsemail)) 
    347                                                 { 
    348                                                 $mail_error = l10n('reg_err_login7')."'".$conf_nbc_UserAdvManager[13]."'"; 
    349                                                 } 
    350                                         } 
    351                                 } 
    352                 if (!empty($mail_error)) 
    353           { 
    354             $errors[] = $mail_error; 
    355           } 
    356         } 
    357  
    358         $typemail = 3; 
    359          
    360         if (!empty($_POST['use_new_pwd'])) 
    361         { 
    362           $typemail = 2; 
    363  
    364           // password must be the same as its confirmation 
    365           if ($_POST['use_new_pwd'] != $_POST['passwordConf']) 
    366           { 
    367             $errors[] = l10n('New password confirmation does not correspond'); 
    368           } 
    369  
    370           if (isset($conf_nbc_UserAdvManager[14]) and $conf_nbc_UserAdvManager[14] == 'true' and !empty($conf_nbc_UserAdvManager[15])) 
    371           {  
    372             //$PasswordCheck = testpassword($_POST['password']); 
    373             $PasswordCheck = 10; 
    374             if ($PasswordCheck < $conf_nbc_UserAdvManager[15]) 
    375             { 
    376               $lang['reg_err_login1'] = l10n('reg_err_login4')."'".$conf_nbc_UserAdvManager[15]."'"; 
    377             } 
    378           } 
    379           else if (isset($conf_nbc_UserAdvManager[14]) and $conf_nbc_UserAdvManager[14] == 'true') 
    380           { 
    381             $lang['reg_err_login1'] = l10n('reg_err_login3'); 
    382           } 
    383  
    384           if ( !defined('IN_ADMIN') ) 
    385           {// changing password requires old password 
    386             $query = ' 
    387               SELECT '.$conf['user_fields']['password'].' AS password 
    388               FROM '.USERS_TABLE.' 
    389               WHERE '.$conf['user_fields']['id'].' = \''.$user['id'].'\' 
    390             ;'; 
    391             list($current_password) = mysql_fetch_row(pwg_query($query)); 
    392          
    393             if ($conf['pass_convert']($_POST['password']) != $current_password) 
    394             { 
    395               $errors[] = l10n('Current password is wrong'); 
    396             } 
    397           } 
    398         } 
    399          
    400         $confirm_mail_need = false; 
    401                
    402         if (!empty($_POST['mail_address'])) 
    403         { 
    404           $query = ' 
    405             SELECT '.$conf['user_fields']['email'].' AS email 
    406             FROM '.USERS_TABLE.' 
    407             WHERE '.$conf['user_fields']['id'].' = \''.$user['id'].'\' 
    408           ;'; 
    409           list($current_email) = mysql_fetch_row(pwg_query($query)); 
    410        
    411           if ( $_POST['mail_address'] != $current_email and ( isset($conf_nbc_UserAdvManager[2]) and $conf_nbc_UserAdvManager[2] == 'true') ) 
    412             $confirm_mail_need = true; 
    413         } 
    414  
    415         if (count($errors) == 0 and (!empty($_POST['use_new_pwd']) and ( isset($conf_nbc_UserAdvManager[0]) and $conf_nbc_UserAdvManager[0] == 'true') or $confirm_mail_need) ) 
    416         { 
    417           $query = ' 
    418             SELECT '.$conf['user_fields']['username'].' 
    419             FROM '.USERS_TABLE.' 
    420             WHERE '.$conf['user_fields']['id'].' = \''.$user['id'].'\' 
    421           ;'; 
    422           list($username) = mysql_fetch_row(pwg_query($query)); 
    423  
    424  
    425           SendMail2User($typemail, $user['id'], $username, $_POST['use_new_pwd'], $_POST['mail_address'], $confirm_mail_need); 
    426         } 
     350      if (isset($conf_nbc_UserAdvManager[12]) and $conf_nbc_UserAdvManager[12] == 'true' and !empty($_POST['email']) and !ValidateEmailProvider($_POST['email'])) 
     351      { 
     352        $template->append('errors', l10n('reg_err_login7')."'".$conf_nbc_UserAdvManager[13]."'"); 
     353        unset($_POST['submit_add']); 
    427354      } 
    428355    } 
  • extensions/NBC_UserAdvManager/trunk/maintain.inc.php

    r4061 r4124  
    1212  $q = ' 
    1313    INSERT INTO '.CONFIG_TABLE.' (param, value, comment) 
    14     VALUES ("nbc_UserAdvManager","true;false;false;-1;-1;-1;false;false;;-1;;;false;;false;100;","Parametres du plugin nbc UserAdvManager") 
     14    VALUES ("nbc_UserAdvManager","true;false;false;-1;-1;-1;false;false;;-1;;;false;;false;100;false","Parametres du plugin nbc UserAdvManager") 
    1515  ;'; 
    1616  pwg_query($q); 
Note: See TracChangeset for help on using the changeset viewer.