/**
  * 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());
    }
}