Prevent email to be stored twice (1 in customer newsletter and 1 in module newsletter) by removing email in newsletter table when creating a new account
#PNM-1419
This commit is contained in:
@@ -61,7 +61,8 @@ class Blocknewsletter extends Module
|
|||||||
|
|
||||||
public function install()
|
public function install()
|
||||||
{
|
{
|
||||||
if (parent::install() == false || $this->registerHook('leftColumn') == false || $this->registerHook('header') == false)
|
if (parent::install() == false || $this->registerHook('leftColumn') == false || $this->registerHook('header') == false
|
||||||
|
|| $this->registerHook('actionCustomerAccountAdd') == false)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
Configuration::updateValue('NW_SALT', Tools::passwdGen(16));
|
Configuration::updateValue('NW_SALT', Tools::passwdGen(16));
|
||||||
@@ -521,4 +522,20 @@ class Blocknewsletter extends Module
|
|||||||
{
|
{
|
||||||
$this->context->controller->addCSS($this->_path.'blocknewsletter.css', 'all');
|
$this->context->controller->addCSS($this->_path.'blocknewsletter.css', 'all');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deletes duplicates email in newsletter table
|
||||||
|
* @param $params
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function hookActionCustomerAccountAdd($params)
|
||||||
|
{
|
||||||
|
//if e-mail of the created user address has already been added to the newsletter through the blocknewsletter module,
|
||||||
|
//we delete it from blocknewsletter table to prevent duplicates
|
||||||
|
$id_shop = $params['newCustomer']->id_shop;
|
||||||
|
$email = $params['newCustomer']->email;
|
||||||
|
if (Validate::isEmail($email))
|
||||||
|
return (bool)Db::getInstance()->execute('DELETE FROM '._DB_PREFIX_.'newsletter WHERE id_shop='.(int)$id_shop.' AND email=\''.pSQL($email)."'");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user