WPHooks::applyFilters( 'mailpoet_permission_access_plugin', array( 'administrator', 'editor' ) ), self::PERMISSION_MANAGE_SETTINGS => WPHooks::applyFilters( 'mailpoet_permission_manage_settings', array( 'administrator' ) ), self::PERMISSION_MANAGE_EMAILS => WPHooks::applyFilters( 'mailpoet_permission_manage_emails', array( 'administrator', 'editor' ) ), self::PERMISSION_MANAGE_SUBSCRIBERS => WPHooks::applyFilters( 'mailpoet_permission_manage_subscribers', array( 'administrator' ) ), self::PERMISSION_MANAGE_FORMS => WPHooks::applyFilters( 'mailpoet_permission_manage_forms', array( 'administrator' ) ), self::PERMISSION_MANAGE_SEGMENTS => WPHooks::applyFilters( 'mailpoet_permission_manage_segments', array( 'administrator' ) ) ); } static function validatePermission($permission) { if(empty(self::$permissions)) self::init(); if(empty(self::$permissions[$permission])) return false; $current_user = wp_get_current_user(); $current_user_roles = $current_user->roles; $permitted_roles = array_intersect( $current_user_roles, self::$permissions[$permission] ); return (!empty($permitted_roles)); } }