/** * Add default value of certain params, if not provided. * * @param $params */ private static function addDefaults(&$params) { if (!isset($params['financial_types_enabled'])) { $params['financial_types_enabled'] = CRM_Civigiftaid_Form_Admin::getFinancialTypesEnabled(); } if (!isset($params['globally_enabled'])) { $params['globally_enabled'] = CRM_Civigiftaid_Form_Admin::isGloballyEnabled(); } }
/** * @param $contributionIdStr * @param array $result * * @return mixed */ private static function addLineItemDetails($contributionIdStr, array &$result) { $query = "\n SELECT c.id, i.entity_table, i.label, i.line_total, i.qty, c.currency, t.name\n FROM civicrm_contribution c\n LEFT JOIN civicrm_line_item i\n ON c.id = i.contribution_id\n LEFT JOIN civicrm_financial_type t\n ON i.financial_type_id = t.id\n WHERE c.id IN ({$contributionIdStr})"; if (!CRM_Civigiftaid_Form_Admin::isGloballyEnabled()) { $enabledTypes = CRM_Civigiftaid_Form_Admin::getFinancialTypesEnabled(); $enabledTypesStr = implode(', ', $enabledTypes); // if no financial types are selected, don't return anything from query $query .= $enabledTypesStr ? " AND i.financial_type_id IN ({$enabledTypesStr})" : " AND 0"; } $dao = CRM_Core_DAO::executeQuery($query); while ($dao->fetch()) { if (isset($result[$dao->id])) { $item = static::getLineItemName($dao->entity_table); $lineItem = array('item' => $item, 'description' => $dao->label, 'financial_type' => $dao->name, 'amount' => CRM_Utils_Money::format($dao->line_total, $dao->currency), 'qty' => (int) $dao->qty); $result[$dao->id]['line_items'][] = $lineItem; } } }