Changeset 4124 for extensions/NBC_UserAdvManager/trunk
- Timestamp:
- Oct 26, 2009, 11:34:13 PM (14 years ago)
- Location:
- extensions/NBC_UserAdvManager/trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/NBC_UserAdvManager/trunk/admin/UserAdvManager_admin.php
r4061 r4124 56 56 case 'global': 57 57 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'])) 59 59 { 60 60 $_POST['UserAdvManager_MailInfo_Text'] = str_replace("\'", "'", str_replace("\\\\", "\\", $_POST['UserAdvManager_MailInfo_Text'])); 61 61 $_POST['UserAdvManager_ConfirmMail_Text'] = str_replace("\'", "'", str_replace("\\\\", "\\", $_POST['UserAdvManager_ConfirmMail_Text'])); 62 62 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']; 64 64 65 65 $conf['nbc_UserAdvManager'] = $newconf_nbc_UserAdvManager; … … 202 202 'UserAdvManager_PASSWORDENF_FALSE' => $conf_nbc_UserAdvManager[14]=='false' ? 'checked="checked"' : '' , 203 203 '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"' : '' , 204 206 'UserAdvManager_PASSWORD_TEST_SCORE' => $UserAdvManager_Password_Test_Score, 205 207 ) … … 207 209 208 210 209 if ( isset($_POST['audit']) or isset($_POST['submit']))211 if (isset($_POST['audit'])) 210 212 { 211 213 $msg_error1 = ''; … … 298 300 // | errors display | 299 301 // +-----------------------------------------------------------------------+ 300 if ( 302 if (isset ($errors) and count($errors) != 0) 301 303 { 302 304 $template->assign('errors',array()); -
extensions/NBC_UserAdvManager/trunk/admin/global.tpl
r4061 r4124 5 5 <form method="post" action="{$UserAdvManager_F_ACTION}" class="general"> 6 6 <fieldset> 7 <legend>{'UserAdvManager_Title '|@translate}</legend>7 <legend>{'UserAdvManager_Title1'|@translate}</legend> 8 8 <ul> 9 9 <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> 12 12 <br> 13 13 </li> 14 14 <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> 19 18 </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> 23 23 24 24 <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;" /> 25 {'UserAdvManager_PasswordTest'|@translate}<input type="text" name="UserAdvManager_Password_Test" value="{$UserAdvManager_PASSWORD_TEST}" size="50" style="text-align: left;"> 26 26 <input class="submit" type="submit" value="{'PasswordTest'|@translate}" name="PasswordTest" > 27 27 {'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}31 28 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> 34 30 </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> 39 39 </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} > <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 40 62 <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> 43 64 </li> 65 44 66 <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> 48 69 </li> 70 49 71 <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> 52 73 </li> 74 53 75 <br> 54 76 <div style="text-align: center; font-size: 1.1em; color: red;"><b>{'UserAdvManager_Confirm_Group_Notice'|@translate}</b></div> 55 77 <br> 78 56 79 <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> 59 81 </li> 82 60 83 <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> 63 85 </li> 86 64 87 <br> 65 88 <div style="text-align: center; font-size: 1.1em; color: red;"><b>{'UserAdvManager_Confirm_Status_Notice'|@translate}</b></div> 66 89 <br> 90 67 91 <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> 70 93 </li> 94 71 95 <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> 87 97 </li> 88 98 </ul> 89 <p><input class="submit" type="submit" value="{'audit'|@translate}" name="audit" /> <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} > <input class="submit" type="submit" value="{'audit'|@translate}" name="audit"></p> 90 101 </fieldset> 91 102 </form> -
extensions/NBC_UserAdvManager/trunk/include/functions_UserAdvManager.inc.php
r4061 r4124 575 575 576 576 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 */ 578 function 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 } 598 597 599 598 … … 743 742 * Thanx to MathieuGut from http://m-gut.developpez.com 744 743 */ 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; 744 function 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; 774 776 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; 781 784 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; 788 792 789 790 791 792 }793 794 // Calcul du coefficient points/longueur - calculating the coefficient points / length795 $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 length801 $score = $step1 * $step2;802 803 // Multiplication du résultat par la longueur de la chaîne - Multiplying the result by the length of the chain804 $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; 807 811 } 808 812 ?> -
extensions/NBC_UserAdvManager/trunk/language/en_UK/plugin.lang.php
r4061 r4124 57 57 $lang['UserAdvManager_ConfirmMail_Remail_true'] = 'Enable email reminder'; 58 58 $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>'; 61 61 62 62 -
extensions/NBC_UserAdvManager/trunk/language/fr_FR/plugin.lang.php
r4061 r4124 9 9 $lang['Title_Tab1'] = 'UserAdvManager - Configuration Générale'; 10 10 $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'; 12 13 $lang['UserAdvManager_Mail_Info'] = 'Mail d\'information à l\'utilisateur'; 13 14 $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)'; 15 16 $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>'; 16 17 $lang['UserAdvManager_No_Casse'] = 'Utilisateur insensible à la casse'; 17 18 $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)'; 19 20 $lang['UserAdvManager_Username_Char'] = 'Caractères limités pour le nom d\'utilisateur'; 20 21 $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)'; 22 23 $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>'; 24 25 $lang['UserAdvManager_PasswordTest'] = 'Mot de passe à tester : '; 25 26 $lang['UserAdvManager_ScoreTest'] = 'Score obtenu : '; 26 27 $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)'; 29 33 $lang['UserAdvManager_Confirm_Mail'] = 'Confirmation de l\'adresse email'; 30 34 $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)'; 32 36 $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>'; 33 37 $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.'; … … 39 43 $lang['UserAdvManager_No_Comment_Anonymous'] = 'Pseudo obligatoire sur commentaire'; 40 44 $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)'; 42 46 $lang['UserAdvManager_MailExclusion'] = 'Exclusion des domaines de messagerie'; 43 47 $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)'; 45 49 $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'; 48 52 49 53 … … 54 58 $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>'; 55 59 $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)'; 57 61 $lang['UserAdvManager_ConfirmMail_TimeOut'] = 'Délai d\activation :'; 58 62 $lang['UserAdvManager_ConfirmMail_Delay_Info'] = 'Saisissez ici le nombre de jours avant expiration de la validation d\'inscription : '; … … 62 66 //$lang['UserAdvManager_ConfirmMail_AutoDel_false'] = 'Désactiver la suppression automatique.'; 63 67 $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)'; 66 70 $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>'; 67 71 $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>'; … … 108 112 $lang['Err_audit_username_char'] = '<b>Ce compte contient un ou des caractères interdits :</b> '; 109 113 $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>'; 111 115 $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> 121 Le score minimal des mots de passe imposé par l\'administrateur est de : '; 114 122 if ( isset($conf_UserAdvManager[1]) and $conf_UserAdvManager[1] == 'true' ) 115 123 $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 70 70 -- 2.11.5 : Bug 1195 fixed : Registration displays the good title 71 71 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. 74 75 */ 75 76 … … 83 84 84 85 ++ 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 ? 88 87 89 88 ++ Security : Blocking brut-force attacks ! … … 99 98 100 99 101 if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); 100 if (!defined('PHPWG_ROOT_PATH')) 101 { 102 die('Hacking attempt!'); 103 } 102 104 103 105 define('NBC_UserAdvManager_DIR' , basename(dirname(__FILE__))); … … 135 137 136 138 $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 } 141 145 } 142 146 … … 148 152 function UserAdvManager_Deluser($user_id) 149 153 { 150 151 154 DeleteConfirmMail($user_id); 152 153 } 154 155 } 156 157 158 /* Check users registration */ 159 add_event_handler('register_user_check', 'UserAdvManager_RegistrationCheck', EVENT_HANDLER_PRIORITY_NEUTRAL, 2); 160 161 function 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 217 if (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 } 155 296 156 297 … … 160 301 { 161 302 load_language('plugin.lang', NBC_UserAdvManager_PATH); 162 global $conf, $template, $page, $lang; 163 164 $PasswordCheck = 0; 303 global $conf, $template, $page, $lang, $errors; 165 304 166 305 $conf_nbc_UserAdvManager = isset($conf['nbc_UserAdvManager']) ? explode(";" , $conf['nbc_UserAdvManager']) : array(); 167 306 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 { 170 310 $lang['reg_err_login5'] = l10n('reg_err_login5'); 171 311 } 312 313 172 314 173 /* User identi cation */315 /* User identification */ 174 316 if (script_basename() == 'identification') 175 317 { … … 186 328 187 329 188 189 330 /* Admin user management */ 190 331 if (script_basename() == 'admin' and isset($_GET['page']) and $_GET['page'] == 'user_list') … … 199 340 } 200 341 201 202 342 /* Username without forbidden keys */ 203 343 if (isset($conf_nbc_UserAdvManager[7]) and $conf_nbc_UserAdvManager[7] == 'true' and !empty($_POST['login']) and !ValidateUsername($_POST['login'])) 204 344 { 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']); 207 347 } 208 348 209 349 /* 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']); 427 354 } 428 355 } -
extensions/NBC_UserAdvManager/trunk/maintain.inc.php
r4061 r4124 12 12 $q = ' 13 13 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") 15 15 ;'; 16 16 pwg_query($q);
Note: See TracChangeset
for help on using the changeset viewer.