X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=api%2Fv3%2FGroup.php;h=67f39f0d182225d0073e103890907e8eed2c4320;hb=e34ab42645e7c906ffd6423cc4dbfed2e65fd951;hp=817a783c00b84f085d28ddc9dd8548657445aff1;hpb=11e09c59b8b15670d5b6eddf8d90aaf465472c54;p=civicrm-core.git diff --git a/api/v3/Group.php b/api/v3/Group.php index 817a783c00..67f39f0d18 100644 --- a/api/v3/Group.php +++ b/api/v3/Group.php @@ -1,11 +1,10 @@ id]); - return civicrm_api3_create_success($values, $params, 'group', 'create', $group); - } + return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'Group'); } /** @@ -96,30 +80,16 @@ function _civicrm_api3_group_create_spec(&$params) { * @access public */ function civicrm_api3_group_get($params) { - - $options = _civicrm_api3_get_options_from_params($params, TRUE, 'get'); - $sort = CRM_Utils_Array::value('sort', $options, NULL); - $offset = CRM_Utils_Array::value('offset', $options); - $rowCount = CRM_Utils_Array::value('limit', $options); - $returnProperties = CRM_Utils_Array::value('return', $options, NULL); - $inputParams = CRM_Utils_Array::value('input_params', $options, array()); - if(is_array($returnProperties) && !empty($returnProperties)){ - // group function takes $returnProperties in non standard format & doesn't add id - $returnProperties['id'] = 1; - $returnProperties = array_keys($returnProperties); - } - $groupObjects = CRM_Contact_BAO_Group::getGroups($inputParams, $returnProperties, $sort, $offset, $rowCount); - if (empty($groupObjects)) { - return civicrm_api3_create_success(FALSE); + $options = _civicrm_api3_get_options_from_params($params, TRUE, 'group', 'get'); + if(empty($options['return']) || !in_array('member_count', $options['return'])) { + return _civicrm_api3_basic_get(_civicrm_api3_get_BAO(__FUNCTION__), $params, TRUE, 'Group'); } - $groups = array(); - foreach ($groupObjects as $group) { - _civicrm_api3_object_to_array($group, $groups[$group->id]); - _civicrm_api3_custom_data_get($groups[$group->id], 'Group', $group->id); - } - - return civicrm_api3_create_success($groups, $params, 'group', 'create'); + $groups = _civicrm_api3_basic_get(_civicrm_api3_get_BAO(__FUNCTION__), $params, FALSE, 'Group'); + foreach ($groups as $id => $group) { + $groups[$id]['member_count'] = CRM_Contact_BAO_Group::memberCount($id); + } + return civicrm_api3_create_success($groups, $params, 'group', 'get'); } /**