예제 #1
0
 /**
  * Get the contribution to be used as the template for later contributions.
  *
  * Later we might merge in data stored against the contribution recur record rather than just return the contribution.
  *
  * @param int $id
  * @param array $overrides
  *   Parameters that should be overriden. Add unit tests if using parameters other than total_amount & financial_type_id.
  *
  * @return array
  * @throws \CiviCRM_API3_Exception
  */
 public static function getTemplateContribution($id, $overrides = array())
 {
     $templateContribution = civicrm_api3('Contribution', 'get', array('contribution_recur_id' => $id, 'options' => array('limit' => 1, 'sort' => array('id DESC')), 'sequential' => 1, 'contribution_test' => ''));
     if ($templateContribution['count']) {
         $result = array_merge($templateContribution['values'][0], $overrides);
         $result['line_item'] = CRM_Contribute_BAO_ContributionRecur::calculateRecurLineItems($id, $result['total_amount'], $result['financial_type_id']);
         return $result;
     }
     return array();
 }