Foi verificado uma inconstância ao tentar realizar a redefinição de senha utilizando a aplicação "app_retrieve_pswd".
A correção foi realizada para novos módulos, criados a partir da release 9.10.001.
Para módulos criados em releases anteriores, que utilizam esta opção, devemos realizar uma pequena alteração no código da aplicação app_retrieve_pswd, confira o tutorial abaixo.
Este tutorial abrange módulo de segurança criados antes da release 9.10.001 e que utilizem a opção Enviar e-mail com um link para gerar nova senha
1- Abra a aplicação app_retrieve_pswd
Por padrão, o prefixo das aplicações de segurança é app_ e pasta "security", dessa forma, com o scriptcase aberto, é possível localizar a aplicação:
O prefixo e pasta podem ter sido alterados durante a geração do módulo.
2- Acesse o método send_act
Acesse o bloco Programação, na pasta Métodos PHP selecione o método send_act.
3- Adicione o código
Nos módulos antigos, o código desse evento está desta forma:
- $act_code = act_code();
- $sql = "UPDATE
- sec_1users
- SET
- activation_code = '". $act_code ."'
- WHERE
- login = '". [usr_login] ."'";
- sc_exec_sql($sql);
- send_mail_message({lang_send_act_code}
- . "<br/> <a href='http://". $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME']. "?act_code=" . $act_code ."'> http://".$_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME']. "?act_code=" . $act_code ." </a>");
Abaixo de $act_code = act_code(); adicione o seguinte código: $act_code = substr($act_code, 0, 32);
O código deve ficar desta forma:
- $act_code = act_code();
- $act_code = substr($act_code, 0, 32);
- $sql = "UPDATE
- sec_1users
- SET
- activation_code = '". $act_code ."'
- WHERE
- login = '". [usr_login] ."'";
- sc_exec_sql($sql);
- send_mail_message({lang_send_act_code}
- . "<br/> <a href='http://". $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME']. "?act_code=" . $act_code ."'> http://".$_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME']. "?act_code=" . $act_code ." </a>");