* @copyright 2007-2023 ETS-Soft * @license Valid for 1 website (or project) for each purchase of license * International Registered Trademark & Property of ETS-Soft */ if (!defined('_PS_VERSION_')) exit; class Ets_reviewsUnsubscribeModuleFrontController extends ModuleFrontController { public $_errors = array(); public function __construct() { parent::__construct(); $this->template = ($this->module->is17 ? 'module:' . $this->module->name . '/views/templates/front/' : '') . 'unsubscribe' . ($this->module->is17 ? '' : '-16') . '.tpl'; } public function initContent() { parent::initContent(); $assigns = array(); $email = urldecode(Tools::getValue('email')); if (!($verify = urldecode(Tools::getValue('verify')))) { $this->_errors[] = $this->module->l('Verification is required.', 'unsubscribe'); } elseif (EtsRVTools::encrypt($email) !== $verify) { $this->_errors[] = $this->module->l('Invalid verification.', 'unsubscribe'); } elseif (!$email) { $this->_errors[] = $this->module->l('Email is required.', 'unsubscribe'); } elseif (!Validate::isEmail($email)) { $this->_errors[] = $this->module->l('Email is invalid.', 'unsubscribe'); } elseif (!$this->unsubscribe($email)) { $this->_errors[] = $this->module->l('An error occurred while attempting to unsubscribe.', 'unsubscribe'); } if (!$this->_errors) $assigns['msg'] = $this->module->l('Unsubscribed successfully.', 'unsubscribe'); else $assigns['errors'] = $this->_errors; $assigns['unsubscribe'] = $this->module->getLocalPath() . 'views/templates/front/_unsubscribe.tpl'; $this->context->smarty->assign($assigns); $this->setTemplate($this->template); } private function unsubscribe($email) { if (!EtsRVUnsubscribe::setCustomerUnsubscribe($email)) { return false; } return true; } }