/** * Function to get list of contribution fields for profile * For now we only allow custom contribution fields to be in * profile * * @return return the list of contribution fields * @static * @access public */ static function getContributionFields() { $contributionFields =& CRM_Contribute_DAO_Contribution::export(); require_once 'CRM/Core/OptionValue.php'; $contributionFields = array_merge($contributionFields, CRM_Core_OptionValue::getFields($mode = 'contribute')); require_once 'CRM/Contribute/DAO/ContributionType.php'; $contributionFields = array_merge($contributionFields, CRM_Contribute_DAO_ContributionType::export()); foreach ($contributionFields as $key => $var) { if ($key == 'contribution_contact_id') { continue; } $fields[$key] = $var; } $fields = array_merge($fields, CRM_Core_BAO_CustomField::getFieldsForImport('Contribution')); return $fields; }
/** * returns the list of fields that can be exported * * @access public * return array */ function &export($prefix = false) { if (!$GLOBALS['_CRM_CONTRIBUTE_DAO_CONTRIBUTION']['_export']) { $GLOBALS['_CRM_CONTRIBUTE_DAO_CONTRIBUTION']['_export'] = array(); $fields =& CRM_Contribute_DAO_Contribution::fields(); foreach ($fields as $name => $field) { if (CRM_Utils_Array::value('export', $field)) { if ($prefix) { $GLOBALS['_CRM_CONTRIBUTE_DAO_CONTRIBUTION']['_export']['contribution'] =& $fields[$name]; } else { $GLOBALS['_CRM_CONTRIBUTE_DAO_CONTRIBUTION']['_export'][$name] =& $fields[$name]; } } } $GLOBALS['_CRM_CONTRIBUTE_DAO_CONTRIBUTION']['_export'] = array_merge($GLOBALS['_CRM_CONTRIBUTE_DAO_CONTRIBUTION']['_export'], CRM_Contribute_DAO_ContributionType::export(true)); $GLOBALS['_CRM_CONTRIBUTE_DAO_CONTRIBUTION']['_export'] = array_merge($GLOBALS['_CRM_CONTRIBUTE_DAO_CONTRIBUTION']['_export'], CRM_Contribute_DAO_PaymentInstrument::export(true)); } return $GLOBALS['_CRM_CONTRIBUTE_DAO_CONTRIBUTION']['_export']; }
function &exportableFields() { require_once 'CRM/Contribute/DAO/Product.php'; require_once 'CRM/Contribute/DAO/ContributionProduct.php'; $impFields = CRM_Contribute_BAO_Contribution::importableFields(); $expFieldProduct = CRM_Contribute_DAO_Product::export(); $expFieldsContrib = CRM_Contribute_DAO_ContributionProduct::export(); $typeField = CRM_Contribute_DAO_ContributionType::export(); $fields = array_merge($impFields, $typeField); $fields = array_merge($fields, $expFieldProduct); $fields = array_merge($fields, $expFieldsContrib); return $fields; }
/** * Function to get list of contribution fields for profile * For now we only allow custom contribution fields to be in * profile * * @param boolean $addExtraFields true if special fields needs to be added * * @return return the list of contribution fields * @static * @access public */ static function getContributionFields($addExtraFields = TRUE) { $contributionFields = CRM_Contribute_DAO_Contribution::export(); $contributionFields = array_merge($contributionFields, CRM_Core_OptionValue::getFields($mode = 'contribute')); if ($addExtraFields) { $contributionFields = array_merge($contributionFields, self::getSpecialContributionFields()); } $contributionFields = array_merge($contributionFields, CRM_Contribute_DAO_ContributionType::export()); foreach ($contributionFields as $key => $var) { if ($key == 'contribution_contact_id') { continue; } elseif ($key == 'contribution_campaign_id') { $var['title'] = ts('Campaign'); } $fields[$key] = $var; } $fields = array_merge($fields, CRM_Core_BAO_CustomField::getFieldsForImport('Contribution')); return $fields; }