Merge pull request #22658 from braders/phpdoc-fixes-3
[civicrm-core.git] / CRM / Event / Form / SelfSvcTransfer.php
index 22381d1efcd093afdd18cd62eb0b12806e706a0b..15659cfbabb0fdad6b54da6418eeda38fcdd1dde 100644 (file)
@@ -159,7 +159,7 @@ class CRM_Event_Form_SelfSvcTransfer extends CRM_Core_Form {
     $this->_event_title = CRM_Event_BAO_Event::getFieldValue('CRM_Event_DAO_Event', $this->_event_id, $daoName);
     $daoName = 'start_date';
     $this->_event_start_date = CRM_Event_BAO_Event::getFieldValue('CRM_Event_DAO_Event', $this->_event_id, $daoName);
-    list($displayName, $email) = CRM_Contact_BAO_Contact_Location::getEmailDetails($this->_from_contact_id);
+    [$displayName, $email] = CRM_Contact_BAO_Contact_Location::getEmailDetails($this->_from_contact_id);
     $this->_contact_name = $displayName;
     $this->_contact_email = $email;
 
@@ -342,21 +342,18 @@ class CRM_Event_Form_SelfSvcTransfer extends CRM_Core_Form {
   /**
    * Based on input, create participant row for transferee and send email
    *
-   * return @ void
+   * @param CRM_Event_BAO_Participant $participant
    *
+   * @throws \API_Exception
    * @throws \CRM_Core_Exception
+   * @throws \CiviCRM_API3_Exception
    */
-  public function participantTransfer($participant) {
-    $contactDetails = [];
-    $contactIds[] = $participant->contact_id;
-    list($currentContactDetails) = CRM_Utils_Token::getTokenDetails($contactIds, NULL,
-      FALSE, FALSE, NULL, [], 'CRM_Event_BAO_Participant');
-    foreach ($currentContactDetails as $contactId => $contactValues) {
-      $contactDetails[$contactId] = $contactValues;
-    }
+  public function participantTransfer($participant): void {
+    $contactDetails = civicrm_api3('Contact', 'getsingle', ['id' => $participant->contact_id, 'return' => ['display_name', 'email']]);
+
     $participantRoles = CRM_Event_PseudoConstant::participantRole();
     $participantDetails = [];
-    $query = "SELECT * FROM civicrm_participant WHERE id = " . $participant->id;
+    $query = 'SELECT * FROM civicrm_participant WHERE id = ' . $participant->id;
     $dao = CRM_Core_DAO::executeQuery($query);
     while ($dao->fetch()) {
       $participantDetails[$dao->id] = [
@@ -371,26 +368,13 @@ class CRM_Event_Form_SelfSvcTransfer extends CRM_Core_Form {
         'registered_by_id' => $dao->registered_by_id,
       ];
     }
-    $domainValues = [];
-    if (empty($domainValues)) {
-      $domain = CRM_Core_BAO_Domain::getDomain();
-      $tokens = [
-        'domain' =>
-        [
-          'name',
-          'phone',
-          'address',
-          'email',
-        ],
-        'contact' => CRM_Core_SelectValues::contactTokens(),
-      ];
-      foreach ($tokens['domain'] as $token) {
-        $domainValues[$token] = CRM_Utils_Token::getDomainTokenReplacement($token, $domain);
-      }
-    }
+
     $eventDetails = [];
     $eventParams = ['id' => $participant->event_id];
     CRM_Event_BAO_Event::retrieve($eventParams, $eventDetails);
+
+    CRM_Event_BAO_Event::setOutputTimeZone($eventDetails);
+
     //get default participant role.
     $eventDetails['participant_role'] = $participantRoles[$eventDetails['default_role_id']] ?? NULL;
     //get the location info
@@ -399,14 +383,15 @@ class CRM_Event_Form_SelfSvcTransfer extends CRM_Core_Form {
       'entity_table' => 'civicrm_event',
     ];
     $eventDetails['location'] = CRM_Core_BAO_Location::getValues($locParams, TRUE);
-    $toEmail = $contactDetails[$participant->contact_id]['email'] ?? NULL;
+    $toEmail = $contactDetails['email'] ?? NULL;
     if ($toEmail) {
       //take a receipt from as event else domain.
-      $receiptFrom = $domainValues['name'] . ' <' . $domainValues['email'] . '>';
+      $receiptFrom = CRM_Core_BAO_Domain::getNameAndEmail(FALSE, TRUE);
+      $receiptFrom = reset($receiptFrom);
       if (!empty($eventDetails['confirm_from_name']) && !empty($eventDetails['confirm_from_email'])) {
         $receiptFrom = $eventDetails['confirm_from_name'] . ' <' . $eventDetails['confirm_from_email'] . '>';
       }
-      $participantName = $contactDetails[$participant->contact_id]['display_name'];
+      $participantName = $contactDetails['display_name'];
       $tplParams = [
         'event' => $eventDetails,
         'participant' => $participantDetails[$participant->id],
@@ -435,22 +420,6 @@ class CRM_Event_Form_SelfSvcTransfer extends CRM_Core_Form {
    * return @ void
    */
   public function sendCancellation() {
-    $domainValues = [];
-    $domain = CRM_Core_BAO_Domain::getDomain();
-    $tokens = [
-      'domain' =>
-      [
-        'name',
-        'phone',
-        'address',
-        'email',
-      ],
-      'contact' => CRM_Core_SelectValues::contactTokens(),
-    ];
-    foreach ($tokens['domain'] as $token) {
-      $domainValues[$token] = CRM_Utils_Token::getDomainTokenReplacement($token, $domain);
-    }
-
     $participantRoles = CRM_Event_PseudoConstant::participantRole();
     $participantDetails = [];
     $query = "SELECT * FROM civicrm_participant WHERE id = {$this->_from_participant_id}";
@@ -476,23 +445,12 @@ class CRM_Event_Form_SelfSvcTransfer extends CRM_Core_Form {
     //get the location info
     $locParams = ['entity_id' => $this->_event_id, 'entity_table' => 'civicrm_event'];
     $eventDetails[$this->_event_id]['location'] = CRM_Core_BAO_Location::getValues($locParams, TRUE);
-    //get contact details
-    $contactIds[$this->_from_contact_id] = $this->_from_contact_id;
-    list($currentContactDetails) = CRM_Utils_Token::getTokenDetails($contactIds, NULL,
-      FALSE, FALSE, NULL, [],
-      'CRM_Event_BAO_Participant'
-    );
-    foreach ($currentContactDetails as $contactId => $contactValues) {
-      $contactDetails[$this->_from_contact_id] = $contactValues;
-    }
     //send a 'cancelled' email to user, and cc the event's cc_confirm email
-    $mail = CRM_Event_BAO_Participant::sendTransitionParticipantMail($this->_from_participant_id,
+    CRM_Event_BAO_Participant::sendTransitionParticipantMail($this->_from_participant_id,
       $participantDetails[$this->_from_participant_id],
       $eventDetails[$this->_event_id],
-      $contactDetails[$this->_from_contact_id],
-      $domainValues,
-      "Transferred",
-      ""
+      NULL,
+      'Transferred'
     );
     $statusMsg = ts('Event registration information for %1 has been updated.', [1 => $this->_contact_name]);
     $statusMsg .= ' ' . ts('A cancellation email has been sent to %1.', [1 => $this->_contact_email]);