/** * Given a permission string or array, check for access requirements. * if this is a permissions-challenged Joomla instance, don't enforce * CiviMailchimp-defined permissions. * * @param mixed $permissions The permission(s) to check as an array or string. * See parent class for examples. * @return boolean */ public static function check($permissions) { $permissions = (array) $permissions; if (!CRM_Core_Config::singleton()->userPermissionClass->isModulePermissionSupported()) { array_walk_recursive($permissions, function (&$v, $k) { if (array_key_exists($v, CRM_Mailchimp_Permission::getMailchimpPermissions())) { $v = CRM_Core_Permission::ALWAYS_ALLOW_PERMISSION; } }); } return parent::check($permissions); }
/** * Implementation of hook_civicrm_permission * * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_permission */ function mailchimp_civicrm_permission(&$permissions) { //Until the Joomla/Civi integration is fixed, don't declare new perms // for Joomla installs if (CRM_Core_Config::singleton()->userPermissionClass->isModulePermissionSupported()) { $permissions = array_merge($permissions, CRM_Mailchimp_Permission::getMailchimpPermissions()); } }