/**
* Retrieve one or more OptionValues
*
- * @param array $ params input parameters
+ * @param $params
+ *
+ * @internal param $array $ params input parameters
*
* {@example OptionValueGet.php 0}
* @example OptionValueGet.php
*
* {@example OptionValueCreate.php}
*
+ * @param $params
+ *
+ * @throws API_Exception
* @return array of newly created option_value property values.
* {@getfields OptionValue_create}
* @access public
*/
function civicrm_api3_option_value_create($params) {
-
$result = _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
- civicrm_api('option_value', 'getfields', array('version' => 3, 'cache_clear' => 1, 'option_group_id' => $params['option_group_id']));
+ if (!empty($params['id']) && !array_key_exists('option_group_id', $params)) {
+ $groupId = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_OptionValue',
+ $params['id'], 'option_group_id', 'id'
+ );
+ }
+ else {
+ $groupId = $params['option_group_id'];
+ }
+
+ civicrm_api('option_value', 'getfields', array('version' => 3, 'cache_clear' => 1, 'option_group_id' => $groupId));
return $result;
}