Seite 1 von 1

Modul: Change Password/Passwort ändern Version 4.8.12

Verfasst: Di 29. Sep 2009, 15:11
von Fips
Hallo,
ich hatte dieses Modul in der 4.6.23 laufen und nach dem Update auf die 4.8.12 wird die Änderung des Passwortes nicht angenommen.
Es gibt auch keine Fehlermeldung, so dass ich leider keinen Ansatz finde.
Kann mir da jemand weiterhelfen?

Fips

Re: Modul: Change Password/Passwort ändern Version 4.8.12

Verfasst: Mi 30. Sep 2009, 00:26
von Oldperl
:!: Thema abgetrennt von :arrow: http://forum.contenido.org/viewtopic.ph ... 49&start=0 und verschoben nach Modul-Request 4.8.x

@Fips
2 Punkte hät ich da 8)
  1. Bitte keine uralt Themen "puschen", das von dir gewälte Thema wurde letztmalig im Juli 2007 !!! beantwortet.
  2. Themen bitte in dem zur Version passenden Unterforum posten.
Man kann jederzeit durch einen Link auf solch ein älteres Thema in der anderen Version verweisen.
Vielen Dank.

Gruß aus Franken

Ortwin

Re: Modul: Change Password/Passwort ändern Version 4.8.12

Verfasst: Mi 30. Sep 2009, 10:19
von Fips
Hallo Oldperl,
vielen Dank für die Information. Um die Suche zu vereinfachen, werde ich den Code des eingesetzten Moduls hier posten.
INPUT

Code: Alles auswählen

/*********************************************** 
* CONTENIDO MODUL - INPUT 
* 
* Modulname   :     Change Password 1.1
* Author      :     HerrB 
* Copyright   :      
* Created     :     17.11.2005
* Modified    :     22-02-2007 (schlaucher) 
************************************************/ 

if ("CMS_VALUE[1]" == '') { 
   $pwdmin = 6; 
} else { 
   $pwdmin = "CMS_VALUE[1]"; 
} 

if ("CMS_VALUE[2]" == '') { 
   $pwdmax = 20; 
} else { 
   $pwdmax = "CMS_VALUE[2]"; 
} 

if ("CMS_VALUE[3]" == '') { 
   $pwdsmall = ''; 
} else { 
   $pwdsmall = ' checked'; 
} 

if ("CMS_VALUE[4]" == '') { 
   $pwdbig = ''; 
} else { 
   $pwdbig = ' checked'; 
} 

if ("CMS_VALUE[5]" == '') { 
   $pwdnum = ''; 
} else { 
   $pwdnum = ' checked'; 
} 

if ("CMS_VALUE[6]" == '') { 
   $pwdspecial = ''; 
} else { 
   $pwdspecial = ' checked'; 
} 

echo '<table cellspacing="0" cellpadding="10" border="0"><tr valign="top">'; 

echo '   <tr> 
            <td>'.mi18n("Password min. size:").'</td> 
            <td><input type="text" name="CMS_VAR[1]" value="'.$pwdmin.'" size="5" /></td></tr>'; 

echo '   <tr> 
            <td>'.mi18n("Password max. size").'</td> 
            <td><input type="text" name="CMS_VAR[2]" value="'.$pwdmax.'" size="5" /></td></tr>'; 

echo '   <tr> 
            <td>'.mi18n("Password must contain small characters").'</td> 
            <td><input type="checkbox" name="CMS_VAR[3]" value="yes" '.$pwdsmall.' /></td></tr>'; 

echo '   <tr> 
            <td>'.mi18n("Password must contain big characters").'</td> 
            <td><input type="checkbox" name="CMS_VAR[4]" value="yes" '.$pwdbig.' /></td></tr>'; 

echo '   <tr> 
            <td>'.mi18n("Password must contain numbers").'</td> 
            <td><input type="checkbox" name="CMS_VAR[5]" value="yes" '.$pwdnum.' /></td></tr>'; 

echo '   <tr> 
            <td>'.mi18n("Password must contain special characters").'</td> 
            <td><input type="checkbox" name="CMS_VAR[6]" value="yes" '.$pwdspecial.' /></td></tr>'; 

echo '</table>'; 
OUTPUT

Code: Alles auswählen

<?php 
/*********************************************** 
* CONTENIDO MODUL - Output
* 
* Modulname   :     Change Password 1.1
* Author      :     HerrB 
* Copyright   :      
* Created     :     17.11.2005
* Modified    :     22-02-2007 (schlaucher) 
************************************************/ 

cInclude("classes", "class.frontend.users.php"); 

$frontendusers = new FrontendUserCollection; 
$frontendusers->select("idclient = '$client' AND username = '".urlencode($auth->auth[uname])."'"); 
if ($frontenduser = $frontendusers->next()) { 
   $idfrontend    = $frontenduser->get("idfrontenduser"); 

$pwdmin = "CMS_VALUE[1]";
$pwdmax = "CMS_VALUE[2]";
$pwdsmall = "CMS_VALUE[3]";
$pwdbig = "CMS_VALUE[4]";
$pwdnum = "CMS_VALUE[5]";
$pwdspecial = "CMS_VALUE[6]";

   $strMsg = ""; 

   if ($_REQUEST["action"] == "save") { 
   
      if ($_REQUEST["oldpw"] != "" || $_REQUEST["newpw1"] != "" || $_REQUEST["newpw2"] != "") { 
         if ($_REQUEST["oldpw"] == "") { 
            $strMsg = mi18n("If changing the password please provide the current password."); 
         } else if ($_REQUEST["newpw1"] == "" || $_REQUEST["newpw2"] == "") { 
            $strMsg = mi18n("If changing the password please specify new password and retype the new password to avoid typos."); 
         } else if (md5($_REQUEST["oldpw"]) != $frontenduser->get("password")) { 
            $strMsg = mi18n("Old password is wrong."); 
         } else if ($_REQUEST["newpw1"] != $_REQUEST["newpw2"]) { 
            $strMsg = mi18n("If changing the password the new password and the retyped new password must be equal."); 
         } else if (strlen($_REQUEST["newpw1"]) > $pwdmax ) { 
             $strMsg = mi18n("If changing the password please specify a new password with 24 characters max.."); 
         } else if (strlen($_REQUEST["newpw1"]) < $pwdmin ) { 
             $strMsg = mi18n("If changing the password please specify a new password with at least 6 characters."); 
         } else if ($_REQUEST["newpw1"] == $_REQUEST["oldpw"]) { 
             $strMsg = mi18n("If changing the password the old password and the new password must be different."); 
         } else if ($_REQUEST["newpw1"] == urlencode($auth->auth[uname])) { 
             $strMsg = mi18n("If changing the password the username and the new password must be different."); 
         } else if ($pwdsmall == 'yes' && !ereg ("[a-z]", $_REQUEST["newpw1"])) { 
             $strMsg = mi18n("Password must contain small characters."); 
         } else if ($pwdbig == 'yes' && !ereg ("[A-Z]", $_REQUEST["newpw1"])) { 
             $strMsg = mi18n("Password must contain big characters."); 
         } else if ($pwdnum == 'yes' && !ereg ("[0-9]", $_REQUEST["newpw1"])) { 
             $strMsg = mi18n("Password must contain numbers."); 
         } else if ($pwdspecial == 'yes' && ereg ("^[a-zA-Z0-9]+$",$_REQUEST["newpw1"])) { 
             $strMsg = mi18n("Password must contain special characters."); 
         } 
      } 
  
      if ($strMsg == "" && $_REQUEST["oldpw"] != "") { 
        $frontenduser->set("password", $_REQUEST["newpw1"]); 
        $frontenduser->store(); 
        $strMsg = mi18n("Changes has been saved."); 
      } else { 
        $strMsg = '<font color="#FF0000">'.$strMsg.'</font>'; 
      } 
   } 

   echo '<div id="form">';
   echo '<form name="frmProfile" method="post" action="'.$auth->url().'">',chr(10); 
   echo '  <table class="special" cellspacing="0"> ',chr(10); 
   echo '    <tr>',chr(10); 
   echo '      <td class="detail_headline" colspan="2"><h2>'.mi18n("Change Password:").'</h2></td>',chr(10); 
   echo '    </tr>',chr(10); 
   if ($strMsg != "") { 
      echo '    <tr>',chr(10); 
      echo '      <td class="detail_text" colspan="2">'.$strMsg.'</td>',chr(10); 
      echo '    </tr>',chr(10); 
   } 
   echo '    <tr>',chr(10); 
   echo '    <tr>',chr(10); 
   echo '      <td class="detail_text" style="width: 150px;">'.mi18n("Old password:").'</td>',chr(10); 
   echo '      <td class="detail_text"><input class="input" name="oldpw" type="password" size="24" maxlength="24"></td>',chr(10); 
   echo '    </tr>',chr(10); 
   echo '    <tr>',chr(10); 
   echo '      <td class="detail_text" style="width: 150px;">'.mi18n("New password:").'</td>',chr(10); 
   echo '      <td class="detail_text"><input class="input" name="newpw1" type="password" size="24" maxlength="24"></td>',chr(10); 
   echo '    </tr>',chr(10); 
   echo '    <tr>',chr(10); 
   echo '      <td class="detail_text" style="width: 150px;">'.mi18n("Retype password:").'</td>',chr(10); 
   echo '      <td class="detail_text"><input class="input" name="newpw2" type="password" size="24" maxlength="24"></td>',chr(10); 
   echo '    </tr>',chr(10); 
   echo '    <tr>',chr(10); 
   echo '      <td class="detail_text" colspan="2">&nbsp;</td>',chr(10); 
   echo '    </tr>',chr(10); 
   echo '    <tr>',chr(10); 
   echo '      <td class="detail_text" style="width: 100px;">&nbsp;</td>',chr(10); 
   echo '      <td class="detail_text"><input type="hidden" name="action" value="save"><input class="button" name="subscribe" type="submit" id="subscribe" value="'.mi18n("OK").'"></td>',chr(10); 
   echo '    </tr>',chr(10); 
   echo '  </table>',chr(10); 
   echo '</form></div>',chr(10); 
} 
?> 
Fips

Re: Modul: Change Password/Passwort ändern Version 4.8.12

Verfasst: Fr 2. Okt 2009, 11:10
von Fips
Hallo,
ich habe das Problem etwas eingegrenzt. Bei mehren Test's ist mir aufgefallen, dass das Passwort nicht geändert wird, wenn ich das AMR eingeschaltet habe, ansonsten funktioniert es.

Kann mir jemand sagen, wo ich dies ändern kann?

Fips

Re: Modul: Change Password/Passwort ändern Version 4.8.12

Verfasst: Fr 2. Okt 2009, 11:23
von Oldperl
Hallo Fips,

ändere mal bitte diese Zeile im Output

Code: Alles auswählen

echo '<form name="frmProfile" method="post" action="'.$auth->url().'">',chr(10); 
in

Code: Alles auswählen

echo '<form name="frmProfile" method="post" action="front_content.php?idart='.$idart.'">',chr(10); 
Eventuell muss man noch die Session in einem versteckten Input-Feld mit übertragen.
Oder du versuchst es so

Code: Alles auswählen

echo '<form name="frmProfile" method="post" action="'.$sess->url("front_content.php?idart=".$idart).'">',chr(10); 
Gruß aus Franken

Ortwin

Re: Modul: Change Password/Passwort ändern Version 4.8.12

Verfasst: Mo 5. Okt 2009, 09:22
von Fips
Hallo Oldperl,
vielen dank für die Hilfe.
Habe die Zeile in

Code: Alles auswählen

echo '<form name="frmProfile" method="post" action="front_content.php?idart='.$idart.'">',chr(10);
und die Änderung des Passworts wurde angenommen. :-)

Fips