/** * Method to get contribution status lists from option group * * @return array * @throws Exception when no getOptionGroup function * @access private * */ private function getContributionStatusList() { $contributionStatusList = array(); if (method_exists('CRM_Costinvoicelink_Utils', 'getOptionGroup')) { $earmarkingOptionGroup = CRM_Costinvoicelink_Utils::getOptionGroup('contribution_status'); $params = array('option_group_id' => $earmarkingOptionGroup['id']); try { $optionValues = civicrm_api3('OptionValue', 'Get', $params); foreach ($optionValues['values'] as $optionValue) { $contributionStatusList[$optionValue['value']] = $optionValue['label']; } $contributionStatusList[0] = '- select -'; asort($contributionStatusList); return $contributionStatusList; } catch (CiviCRM_API3_Exception $ex) { $contributionStatusList[0] = '- select -'; return $contributionStatusList; } } else { throw new Exception('Could not find extension Costinvoicelink, check your CiviCRM support team (not found method getOptionGroup)'); } }
/** * Function to get option groups * * @param $optionGroupName * @return array|bool * @throws Exception */ protected function setOptionGroup($optionGroupName) { if (method_exists('CRM_Costinvoicelink_Utils', 'getOptionGroup')) { return CRM_Costinvoicelink_Utils::getOptionGroup($optionGroupName); } else { try { return civicrm_api3('OptionGroup', 'Getsingle', array('name' => $optionGroupName)); } catch (CiviCRM_API3_Exception $ex) { throw new Exception("Could not find a single option group with name " . $optionGroupName . ", meaning there might be none or more.\n Error from API OptionGroup Getsingle: " . $ex->getMessage()); } } }