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(); } /** * Confirm email verification * * @param int $contact_id The id of the contact * @param int $subscribe_id The id of the subscription event * @param string $hash The hash * * @param $activity_id * @param $petition_id * * @return boolean True on success * @access public * @static */ public static function confirm($contact_id, $subscribe_id, $hash, $activity_id, $petition_id) { $se = CRM_Mailing_Event_BAO_Subscribe::verify($contact_id, $subscribe_id, $hash); if (!$se) { return FALSE; } $transaction = new CRM_Core_Transaction(); $ce = new CRM_Mailing_Event_BAO_Confirm(); $ce->event_subscribe_id = $se->id; $ce->time_stamp = date('YmdHis'); $ce->save(); CRM_Contact_BAO_GroupContact::addContactsToGroup( array($contact_id), $se->group_id, 'Email', 'Added', $ce->id ); $bao = new CRM_Campaign_BAO_Petition(); $bao->confirmSignature($activity_id, $contact_id, $petition_id); } }