public function postProcess() { $values = $this->exportValues(); // check if EmailTyped matches Email address $result = CRM_Utils_String::compareStr($this->_email, $values['email_confirm'], TRUE); $job_id = $this->_job_id; $queue_id = $this->_queue_id; $hash = $this->_hash; $confirmURL = CRM_Utils_System::url("civicrm/mailing/{$this->_type}", "reset=1&jid={$job_id}&qid={$queue_id}&h={$hash}&confirm=1"); $this->assign('confirmURL', $confirmURL); $session = CRM_Core_Session::singleton(); $session->pushUserContext($confirmURL); if ($result == TRUE) { // Email address verified if (CRM_Mailing_Event_BAO_Unsubscribe::unsub_from_domain($job_id, $queue_id, $hash)) { CRM_Mailing_Event_BAO_Unsubscribe::send_unsub_response($queue_id, NULL, TRUE, $job_id); } $statusMsg = ts('Email: %1 has been successfully opted out', array(1 => $values['email_confirm'])); CRM_Core_Session::setStatus($statusMsg, '', 'success'); } elseif ($result == FALSE) { // Email address not verified $statusMsg = ts('The email address: %1 you have entered does not match the email associated with this opt out request.', array(1 => $values['email_confirm'])); CRM_Core_Session::setStatus($statusMsg, '', 'fail'); } }