Modul: Change Password/Passwort ändern Version 4.8.12

Gesperrt
Fips
Beiträge: 105
Registriert: Fr 20. Feb 2009, 09:55
Kontaktdaten:

Modul: Change Password/Passwort ändern Version 4.8.12

Beitrag 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
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

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

Beitrag 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
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Fips
Beiträge: 105
Registriert: Fr 20. Feb 2009, 09:55
Kontaktdaten:

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

Beitrag 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
Fips
Beiträge: 105
Registriert: Fr 20. Feb 2009, 09:55
Kontaktdaten:

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

Beitrag 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
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

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

Beitrag 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
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Fips
Beiträge: 105
Registriert: Fr 20. Feb 2009, 09:55
Kontaktdaten:

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

Beitrag 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
Gesperrt