'com.megaphonetech.softcreditcustomfields', 'name' => 'softCreditCustomfield', 'update' => 'never', 'entity' => 'OptionValue', 'params' => [ 'label' => ts('Contribution Soft'), 'name' => 'civicrm_contribution_soft', 'value' => 'ContributionSoft', 'option_group_id' => 'cg_extend_objects', 'options' => ['match' => ['option_group_id', 'name']], 'is_active' => 1, 'version' => 3, ], ]; } /** * Implements hook_civicrm_caseTypes(). * * Generate a list of case-types. * * Note: This hook only runs in CiviCRM 4.4+. * * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_caseTypes */ function softcreditcustomfields_civicrm_caseTypes(&$caseTypes) { _softcreditcustomfields_civix_civicrm_caseTypes($caseTypes); } /** * Implements hook_civicrm_angularModules(). * * Generate a list of Angular modules. * * Note: This hook only runs in CiviCRM 4.5+. It may * use features only available in v4.6+. * * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_angularModules */ function softcreditcustomfields_civicrm_angularModules(&$angularModules) { _softcreditcustomfields_civix_civicrm_angularModules($angularModules); } /** * Implements hook_civicrm_alterSettingsFolders(). * * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_alterSettingsFolders */ function softcreditcustomfields_civicrm_alterSettingsFolders(&$metaDataFolders = NULL) { _softcreditcustomfields_civix_civicrm_alterSettingsFolders($metaDataFolders); } /** * Implements hook_civicrm_entityTypes(). * * Declare entity types provided by this module. * * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_entityTypes */ function softcreditcustomfields_civicrm_entityTypes(&$entityTypes) { _softcreditcustomfields_civix_civicrm_entityTypes($entityTypes); } /** * Implements hook_civicrm_buildForm(). * * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_buildForm */ function softcreditcustomfields_civicrm_buildForm($formName, &$form) { if ('CRM_Contribute_Form_ContributionView' == $formName) { $softCredits = $form->get_template_vars('softContributions'); if (!empty($softCredits)) { $softCreditIds = []; foreach ($softCredits as $key => $softCredit) { $softCreditIds[] = $softCredit['soft_credit_id']; // add custom data of type soft credit $groupTree = CRM_Core_BAO_CustomGroup::getTree('ContributionSoft', NULL, $softCredit['soft_credit_id']); // we setting the prefix to dnc_ below so that we don't overwrite smarty's grouptree var. $softCredits[$key]['custom'] = CRM_Core_BAO_CustomGroup::buildCustomDataView($form, $groupTree, FALSE, NULL, "dnc_"); } $form->assign('softContributions', $softCredits); $form->assign('softCreditIds', json_encode($softCreditIds)); CRM_Core_Region::instance('page-footer')->add(array( 'template' => "CRM/Contribute/Page/View/SoftCredit-Custom.tpl", )); } } }