- 31 Mai 2019, 11:39
#82235
Olá,
Por mais que na versão 1.3.3 do OCBr não envie e-mail caso o e-mail não esteja registrado no sistema, mesmo assim faz com que deixe em aberto, sem receber um feedback se de fato o e-mail está cadastrado ou não. Pois só recebe uma notificação de "Caso seu e-mail esteja cadastrado..."
Enfim, uma contribuiçãozinha boba, mas que refina o Esqueci a Senha:
Vá no controller do Forgotten (catalog > controller > account > forgotten.php) e procure pela linha onde está o "REQUEST_METHOD"
e acrescente embaixo dele um if($this->searchEmail() == true).
Ficando assim:
E por final, acrescente a função searchEmail no final do arquivo (ou seja, deve ficar embaixo do validate()).
E assim vá para o Language do Forgotten (catalog > language > pt-br > account > forgotten.php). Edite a linha de "text_success", do jeito que você quiser. E acrescente a linha "error_invalidM" com uma mensagem de erro pelo fato de não estar cadastrado no sistema. Ficando mais ou menos assim:
Lembrando que fiz essa modificaçãozinha baseado:
OC 3.0.3.1
OCBr 1.3.3
Ou seja: não realizei testes em versão en-gb ou em versões inferiores ao 3.x. Mas creio que seja a mesma lógica.
Sou péssimo com o back-end, então aceito contribuições e aperfeiçoamento do código.
Paz,
Gusting
Por mais que na versão 1.3.3 do OCBr não envie e-mail caso o e-mail não esteja registrado no sistema, mesmo assim faz com que deixe em aberto, sem receber um feedback se de fato o e-mail está cadastrado ou não. Pois só recebe uma notificação de "Caso seu e-mail esteja cadastrado..."
Enfim, uma contribuiçãozinha boba, mas que refina o Esqueci a Senha:
Vá no controller do Forgotten (catalog > controller > account > forgotten.php) e procure pela linha onde está o "REQUEST_METHOD"
e acrescente embaixo dele um if($this->searchEmail() == true).
Ficando assim:
Código: Selecionar todos
if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
if($this->searchEmail() == true){
$customer_info = $this->model_account_customer->getCustomerByEmail($this->request->post['email']);
if ($customer_info) {
$this->model_account_customer->editCode($this->request->post['email'], token(40));
}
$this->session->data['success'] = $this->language->get('text_success');
$this->response->redirect($this->url->link('account/login', '', true));
}
}
E por final, acrescente a função searchEmail no final do arquivo (ou seja, deve ficar embaixo do validate()).
Código: Selecionar todos
protected function searchEmail(){
$customer_info = $this->model_account_customer->getCustomerByEmail($this->request->post['email']);
if(count($customer_info) > 0){
return true;
}
else{
$this->error['warning'] = $this->language->get('error_invalidM');
}
}
E assim vá para o Language do Forgotten (catalog > language > pt-br > account > forgotten.php). Edite a linha de "text_success", do jeito que você quiser. E acrescente a linha "error_invalidM" com uma mensagem de erro pelo fato de não estar cadastrado no sistema. Ficando mais ou menos assim:
Código: Selecionar todos
<?php
// Heading
$_['heading_title'] = 'Solicitar nova senha';
// Text
$_['text_account'] = 'Minha conta';
$_['text_forgotten'] = 'Solicitar nova senha';
$_['text_your_email'] = 'Seu e-mail já cadastrado em nossa loja';
$_['text_email'] = 'Informe abaixo o e-mail cadastrado em sua conta. Depois pressione o botão <b>Continuar</b> para enviarmos um e-mail com o link para redefinir sua senha.';
$_['text_success'] = 'Você receberá um e-mail contendo o link para redefinir sua senha, caso não receba, por favor verifique na caixa de <b>Spam</b>.';
// Entry
$_['entry_email'] = 'Seu e-mail';
$_['entry_password'] = 'Nova senha';
$_['entry_confirm'] = 'Repetir a senha';
// Error
$_['error_email'] = '<b>Atenção</b>: O e-mail informado não é válido.';
$_['error_approved'] = '<b>Atenção</b>: A sua conta necessita de aprovação antes que você possa acessá-la.';
$_['error_password'] = 'A senha deve ter entre 4 e 20 caracteres.';
$_['error_confirm'] = 'A senha repetida está errada.';
$_['error_invalidM'] = '<b>Atenção</b>: Seu e-mail parece que não possuí registro no nosso sistema. Por favor, registre-se ou entre em contato.';
Lembrando que fiz essa modificaçãozinha baseado:
OC 3.0.3.1
OCBr 1.3.3
Ou seja: não realizei testes em versão en-gb ou em versões inferiores ao 3.x. Mas creio que seja a mesma lógica.
Sou péssimo com o back-end, então aceito contribuições e aperfeiçoamento do código.
Paz,
Gusting