taxonomies) ) $taxonomies = $scoper->taxonomies->get_all_keys(); if ( ! $taxonomies ) { update_option( 'scoper_need_cache_flush', true ); // if taxonomies could not be determined, invalidate entire cache return; } } $taxonomies = (array) $taxonomies; if ( $user_ids ) { foreach ($scoper_role_types as $role_type) foreach ( $user_ids as $user_id ) foreach ($taxonomies as $taxonomy) wpp_cache_delete($user_id, "{$role_type}_term-roles_{$taxonomy}_for_{$role_basis}"); } else { foreach ($scoper_role_types as $role_type) foreach ($taxonomies as $taxonomy) wpp_cache_flush_group("{$role_type}_term-roles_{$taxonomy}_for_{$role_basis}"); } } else { if ( $user_ids ) { foreach ($scoper_role_types as $role_type) foreach ( $user_ids as $user_id ) wpp_cache_delete($user_id, "{$role_type}_{$scope}-roles_for_{$role_basis}"); } else foreach ($scoper_role_types as $role_type) wpp_cache_flush_group("{$role_type}_{$scope}-roles_for_{$role_basis}"); } } } function scoper_flush_restriction_cache( $scope, $src_or_tx_name = '' ) { global $scoper_role_types; if ( OBJECT_SCOPE_RS == $scope ) { if ( ! $src_or_tx_name ) { global $scoper; if ( ! empty($scoper->data_sources) ) $src_or_tx_name = $scoper->data_sources->get_all_keys(); } } elseif ( TERM_SCOPE_RS == $scope ) { if ( ! $src_or_tx_name ) { global $scoper; if ( ! empty($scoper->taxonomies) ) $src_or_tx_name = $scoper->taxonomies->get_all_keys(); } } if ( ! $src_or_tx_name ) { update_option( 'scoper_need_cache_flush', true ); // if taxonomies / data sources could not be determined, invalidate entire cache return; } $names = (array) $src_or_tx_name; foreach ($scoper_role_types as $role_type) foreach ($names as $src_or_tx_name) wpp_cache_flush_group("{$role_type}_{$scope}_restrictions_{$src_or_tx_name}"); foreach ($scoper_role_types as $role_type) wpp_cache_flush_group( "{$role_type}_{$scope}_def_restrictions" ); } ?>