function run() { require_once 'CRM/Utils/Request.php'; $contact_id = CRM_Utils_Request::retrieve('cid', 'Integer', CRM_Core_DAO::$_nullObject); $subscribe_id = CRM_Utils_Request::retrieve('sid', 'Integer', CRM_Core_DAO::$_nullObject); $hash = CRM_Utils_Request::retrieve('h', 'String', CRM_Core_DAO::$_nullObject); $activity_id = CRM_Utils_Request::retrieve('a', 'String', CRM_Core_DAO::$_nullObject); $petition_id = CRM_Utils_Request::retrieve('p', 'String', CRM_Core_DAO::$_nullObject); if (!$contact_id || !$subscribe_id || !$hash) { CRM_Core_Error::fatal(ts("Missing input parameters")); } require_once 'CRM/Mailing/Event/BAO/Confirm.php'; $result = $this->confirm($contact_id, $subscribe_id, $hash, $activity_id, $petition_id); if ($result === false) { $this->assign('success', $result); } else { $this->assign('success', true); // $this->assign( 'group' , $result ); } require_once 'CRM/Contact/BAO/Contact/Location.php'; list($displayName, $email) = CRM_Contact_BAO_Contact_Location::getEmailDetails($contact_id); $this->assign('display_name', $displayName); $this->assign('email', $email); $this->assign('petition_id', $petition_id); $this->assign('survey_id', $petition_id); // send thank you email require_once 'CRM/Campaign/Form/Petition/Signature.php'; $params['contactId'] = $contact_id; $params['email-Primary'] = $email; $params['sid'] = $petition_id; $params['activityId'] = $activity_id; CRM_Campaign_BAO_Petition::sendEmail($params, CRM_Campaign_Form_Petition_Signature::EMAIL_THANK); parent::run(); }
/** * @return string * @throws Exception */ public function run() { CRM_Utils_System::addHTMLHead('<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">'); $contact_id = CRM_Utils_Request::retrieve('cid', 'Integer', CRM_Core_DAO::$_nullObject); $subscribe_id = CRM_Utils_Request::retrieve('sid', 'Integer', CRM_Core_DAO::$_nullObject); $hash = CRM_Utils_Request::retrieve('h', 'String', CRM_Core_DAO::$_nullObject); $activity_id = CRM_Utils_Request::retrieve('a', 'String', CRM_Core_DAO::$_nullObject); $petition_id = CRM_Utils_Request::retrieve('pid', 'String', CRM_Core_DAO::$_nullObject); if (!$petition_id) { $petition_id = CRM_Utils_Request::retrieve('p', 'String', CRM_Core_DAO::$_nullObject); } if (!$contact_id || !$subscribe_id || !$hash) { CRM_Core_Error::fatal(ts("Missing input parameters")); } $result = $this->confirm($contact_id, $subscribe_id, $hash, $activity_id, $petition_id); if ($result === FALSE) { $this->assign('success', $result); } else { $this->assign('success', TRUE); // $this->assign( 'group' , $result ); } list($displayName, $email) = CRM_Contact_BAO_Contact_Location::getEmailDetails($contact_id); $this->assign('display_name', $displayName); $this->assign('email', $email); $this->assign('petition_id', $petition_id); $this->assign('survey_id', $petition_id); $pparams['id'] = $petition_id; $this->petition = array(); CRM_Campaign_BAO_Survey::retrieve($pparams, $this->petition); $this->assign('is_share', CRM_Utils_Array::value('is_share', $this->petition)); $this->assign('thankyou_title', CRM_Utils_Array::value('thankyou_title', $this->petition)); $this->assign('thankyou_text', CRM_Utils_Array::value('thankyou_text', $this->petition)); CRM_Utils_System::setTitle(CRM_Utils_Array::value('thankyou_title', $this->petition)); // send thank you email $params['contactId'] = $contact_id; $params['email-Primary'] = $email; $params['sid'] = $petition_id; $params['activityId'] = $activity_id; CRM_Campaign_BAO_Petition::sendEmail($params, CRM_Campaign_Form_Petition_Signature::EMAIL_THANK); return parent::run(); }