check for permission if specified in params
authorjitendrapurohit <jitendra.purohit@webaccessglobal.com>
Mon, 3 Aug 2015 06:46:50 +0000 (12:16 +0530)
committerjitendrapurohit <jitendra.purohit@webaccessglobal.com>
Mon, 3 Aug 2015 06:46:50 +0000 (12:16 +0530)
CRM/Mailing/Info.php
api/v3/Group.php

index 1905d16ed0dc47b8fc8cee0b4d5fa547d8c5740d..b38946c9dfe66ae5d9867e1b1c09adafd58eda6a 100644 (file)
@@ -117,6 +117,7 @@ class CRM_Mailing_Info extends CRM_Core_Component_Info {
 
     $groupNames = civicrm_api3('Group', 'get', $params + array(
       'is_active' => 1,
+      'check_permissions' => TRUE,
       'return' => array('title', 'visibility', 'group_type', 'is_hidden'),
     ));
     $headerfooterList = civicrm_api3('MailingComponent', 'get', $params + array(
index a44076ddeb10edc909dc3a5c81bdca7ea7d13726..9326dd2cf41abbd50233ff614abae162f4475a40 100644 (file)
@@ -71,17 +71,19 @@ function _civicrm_api3_group_create_spec(&$params) {
  */
 function civicrm_api3_group_get($params) {
   $options = _civicrm_api3_get_options_from_params($params, TRUE, 'Group', 'get');
+  if ((empty($options['return']) || !in_array('member_count', $options['return'])) && empty($params['check_permissions'])) {
+    return _civicrm_api3_basic_get(_civicrm_api3_get_BAO(__FUNCTION__), $params, TRUE, 'Group');
+  }
+
   $groups = _civicrm_api3_basic_get(_civicrm_api3_get_BAO(__FUNCTION__), $params, FALSE, 'Group');
   foreach ($groups as $id => $group) {
-    $permission = CRM_Contact_BAO_Group::checkPermission($group['id']);
-    if (!$permission) {
+    if (!empty($params['check_permissions']) && !CRM_Contact_BAO_Group::checkPermission($group['id'])) {
       unset($groups[$id]);
     }
     elseif (!empty($options['return']) && in_array('member_count', $options['return'])) {
       $groups[$id]['member_count'] = CRM_Contact_BAO_Group::memberCount($id);
     }
   }
-  $groups = array_values($groups);
   return civicrm_api3_create_success($groups, $params, 'Group', 'get');
 }