Documentation

Application

Table of Contents

Interfaces

ICore
ImagePreviewBlockable
Provide an interface and mechanism to determine if a blockable should load a thumbnail via `ImagePreview`.
IOverrideCore
IOverrideStats
IOverrideBlocker
IOverrideConsent
IOverrideCountryBypass
IOverrideGeneral
IOverrideGoogleConsentMode
IOverrideMultisite
IOverrideTCF

Classes

AbstractCache
Implement a cache mechanism / plugin.
CacheInvalidator
Use this class to detect used caching plugins / mechanism and trigger an invalidate.
AssetCleanupCacheImpl
Asset CleanUp.
AutoptimizeCacheImpl
Autoptimize.
BorlabsCacheImpl
Borlabs Cache.
BreezeImpl
Breeze.
BunnyCDNCacheImpl
BunnyCDN.
CacheEnablerImpl
WP Fastest Cache.
CloudflareImpl
Cloudflare plugin.
CloudflareRocketLoader
Cloudflare Rocket Loader.
CometCacheImpl
Comet Cache.
CustomCacheImpl
Custom cache implementation through a filter. See filter `DevOwl/CacheInvalidate/Custom` for more information.
DebloatImpl
Debloat.
EnhanceComNginxFastCgiImpl
Enhance.com NGINX FastCGI cache.
HummingbirdImpl
Hummingbird.
IonosPerformanceCacheImpl
IONOS Performance plugin.
LiteSpeedCacheImpl
LiteSpeed Cache
MergeMinifyRefreshImpl
Merge + Minify + Refresh
NginxHelperImpl
Nginx Helper.
NitroPackImpl
NitroPack.
OneComImpl
One.com Performance Cache.
OptimizePressImpl
OptimizePress
PerfmattersCacheImpl
Perfmatters.
PoweredCacheImpl
Autoptimize.
RaidboxesImpl
Raidboxes Hosting cache (uses NGINX cache under the hood).
SGOptimizeImpl
SG Optimize.
SwiftPerformanceAiCacheImpl
Swift Performance AI (v3).
SwiftPerformanceCacheImpl
Swift Performance.
ThemifyImpl
Themify cache.
W3TotalCacheImpl
W3 Total Cache.
WpFastestCacheImpl
WP Fastest Cache.
WpMeteorImpl
WP Rocket.
WpOptimizeImpl
WP Optimize.
WpRocketImpl
WP Rocket.
WpSuperCacheImpl
WP Super Cache.
ExcludeAssets
Use this class to exclude JavaScript and Stylesheets from caching plugins.
Consent
A consent holds all information of a single given consent. In other words, it allows to parse the current consent which is written in the current cookie and additionally, allows to modify it.
SetCookie
Every commit to a `Consent` produces a set of cookies which need to be set on the client's website.
Transaction
A transaction simply describes a new consent.
CookieConsentManagement
Main consent management class.
AbstractRevisionPersistance
Additional to `Revision`, this abstract class provides persistence settings for the revision, e.g. generating the cookie name, persisting revisions to database and so on.
Frontend
Functions for the frontend (e.g. generating "Code on page load" HTML output).
Revision
A revision is a document of all settings at the time of consent.
SavingConsentViaRestApiEndpointChecker
This class allows you to simulate a call to the REST API which saves consent and check if saving worked as expected. It analyzes the result of the request response when the request failed and returns suggestions, if available.
Blocker
A content blocker definition for a service.
ProviderContact
Provider contact details for a service.
Service
A service.
ServiceGroup
A service group aggregates a list of services with a name and a short description.
TechnicalDefinitions
Technical definitions for a service.
VisualThumbnail
A visual thumbnail for a hero content blocker.
AbstractConsent
Abstract implementation of the settings for misc consent settings (e.g. duration of consent management cookie which saves the decision of the user).
AbstractCountryBypass
Abstract implementation of the settings for country bypass settings.
AbstractGeneral
Abstract implementation of the settings for general consent management (e.g. is cookie banner active?).
AbstractGoogleConsentMode
Abstract implementation of the settings for the Google Consent Mode compatibility.
AbstractMultisite
Abstract implementation of the settings for a multisite network (Consent Forwarding).
AbstractTcf
Abstract implementation of the settings for the TCF compatibility.
BannerLink
Banner links configured in settings.
BaseSettings
Helper methods for each settings category.
Language
A language definition for which the consent management is available.
Settings
A collection of all available settings.
AbstractGvlPersistance
Additional to `AbstractTcf`, this abstract class provides persistence for the TCF GVL vendor list, e.g. by reading vendors, declarations and so on from the database.
StackCalculator
Quote from docs: Stacks may be used to substitute Initial Layer information about two or more Purposes and/or Special Features (also see Appendix B). Purposes must not be included in more than one Stack, and must not be presented as part of a Stack and outside of Stacks at the same time. Conversely, any Stacks used must not include the same Purpose more than once, nor include Purposes presented separately from Stacks.
VendorConfiguration
A TCF vendor configuration.
Utils
Utility helpers.
AbstractCustomizePanel
An abstract implementation of a panel in WP customize.
ContrastRatioValidator
Validate contrast ratio. To validate at "Publish" time add it as `setting.validate_callback` to your customize setting.
CssMarginInput
Provide a CSS margin input with 4 dimension input fields (top, right, bottom, left).
CustomHTML
Provide a custom HTML in customize.
Headline
Provide an additional headline in customize.
RangeInput
Provide a `input[type="range"]` with additional features like value bubble.
TinyMCE
Provide a TinyMCE in customizer.
Utils
Utility functionality for customize controls and output.
AnonymousAssetBuilder
Use this to create your database tables and to create the instances of `DeliverAnonymousAsset`.
DeliverAnonymousAsset
Deliver anonymous assets through `wp-content/uploads`.
Utils
Util functionalities.
Autoloader
Plugin autoloader for lite version.
Constants
Common constants.
AbstractBlockable
Describe a blockable item by selector syntax and regular expressions (e.g. to be used in `href` and `src`).
AbstractPlugin
Describes a plugin for `HeadlessContentBlocker`. You can override each of this methods.
AttributesHelper
Helper functionality for HTML attributes in association with `Constants`.
BlockedResult
A blocked result defines a "blocked" content while processing the content blocker itself.
Constants
Common constants for the headless content blocker.
MatchPluginCallbacks
Provide an object for a given match with match-callbacks which can be used within plugins.
RerunOnMatchException
When thrown, the complete processing of the passed match is aborted and the passed match is rendered to the HTML. At the end, the HTML processor is run on the HTML again.
StyleInlineAttributeMatch
Match for `StyleInlineAttributeFinder`.
StyleInlineAttributeFinder
Find HTML tags with a potential `style` attribute.
HeadlessContentBlocker
Initialize a new headless content blocker.
Markup
Statically hold all found markups (e.g. inline styles) in a single object instance to be memory-low instead of saving the markup string in each blocked result.
AbstractMatcher
A matcher describes a class which gets a match from the `FastHtmlTag` and will modify the tag as needed.
CssBlocker
Takes a match and checks for blocked URLs. If there got something blocked, you can extract two CSS documents.
CssHelper
Helper functionality for CSS documents.
ScriptInlineMatcher
Match by `ScriptInlineMatcher`.
SelectorSyntaxMatcher
Block a HTML element by CSS-like selectors, e.g. `div[class="my-class"]`.
StyleInlineAttributeMatcher
Match by `StyleInlineAttributeFinder`.
StyleInlineMatcher
Block inline `<style>`'s. This is a special use case and we need to go one step further: The complete inline style is parsed to an abstract tree (AST) and all rules with an URL are blocked individually.
TagAttributeMatcher
Match by `TagAttributeFinder`.
AdditionalAttributesBlocker
Converts e.g. `onload` attributes to `consent-original-src` attributes when item got blocked.
AttributeJsonBlocker
Block content deeply in JSON attributes instead of the whole element e.g. `<div class="et_pb_code_inner" data-et-multi-view ="{&quot;schema&quot;:{&quot;content&quot;:{&quot;desktop&quot;:&quot;&lt;div align=&#039;center&#039;&gt;\n&lt;iframe src=\&quot;https:\/\/www.google.com\/maps\/embed...`.
Autoplay
Convert links to autoplay links for known video and sound platforms.
CalculateUniqueKeys
Append a calculated unique key of the tag to the tag.
CustomElementBlocker
Allows to block custom elements.
DoNotBlockScriptTextTemplates
This plugin allows you to not block content within `script[type="text/template"]` markups.
Image
Block `srcset` attribute for media tags and create the correct visual parent for media tags.
FsImagePreviewCache
Provide a file system cache. It is abstract as you should implement your own class for this with missing methods.
HtmlHeadThumbnailParser
The head parser extracts links and meta from HTML responses.
ImagePreview
Detects, if there could be created an image preview for a given URL, downloads it and appends it as a custom attribute to the blocked HTML tag so the visual content blocker could create something cool.
ImagePreviewCache
Provide an interface and mechanism to cache extracted image previews in a folder/database and generate a local URL.
Thumbnail
A thumbnail is describing a found embed URL.
NegateBlockable
Describe a blockable only containing `!` rules (but without `!` so it can match correctly) for `NegatePlugin`.
NegatePlugin
Allow to negate a rule with a prefixed `!` before each rule.
LinkBlocker
Block `href` attribute for special links. Usually, the blocker does not block links cause they do not load external sources. But there are some special cases, e.g.
LinkRelBlocker
Block `<link`'s with `preconnect`, `dns-prefetch` and `preload`. It means, it removes the node completely from the HTML document if possible.
ReattachDom
Allows to reattach a specific DOM node. That means, DOM node gets removed and added again.
RemoveAlwaysCSSClasses
Allows to remove specific CSS classes from `class` definition without touching others. This is useful for e.g. lazy-loading libraries.
BlockableScanner
Provide a scanner for our content blocker. That means, you can pass `ScannableBlockable` instances to your `HeadlessContentBlocker` instance and you can continually fetch the scanned blockables from this plugin instance.
FalsePositivesProcessor
Put in a list of `ScanEntry`'s and sort out false-positives and deduplicate. Keep in mind, that this processor can also touch your `ScanEntry` properties as well!
Rule
Describe scan options for a specific expression.
RuleGroup
Describe scan options for a specific rule group.
ScanEntry
A scan result which can be persisted to the database.
ScannableBlockable
Describe a blockable item.
ScriptInlineExtractExternalUrl
Detect semantically a script which could be loaded by an inline script.
ScriptInlineJsonBlocker
Check if an inline script is a localized script via e.g. `wp_set_script_translations` and check if the JSON has blocked content.
Confirm
This plugin registers the selector syntax `confirm()`.
DelegateClick
This plugin registers the selector syntax `delegateClick()`.
ForceVisual
This plugin registers the selector syntax `forceVisual()`.
JQueryHijackEach
This plugin registers the selector syntax `jQueryHijackEach()`.
KeepAttributes
This plugin registers the selector syntax `keepAttributes()`.
MatchesUrl
This plugin registers the selector syntax `matchesUrl()`.
Style
This plugin registers the selector syntax `style()`.
TransformAttribute
This plugin registers the selector syntax `transformAttribute()`.
VisualParent
This plugin registers the selector syntax `visualParent()`
TcfForwardGdprStringInUrl
Read from a list of vendors and their device disclosure domains and transform URLs to TCF compatible URLs by adding e.g. the `gdpr=` and `gdpr_consent=` query parameters.
TcfVendorDomainsBlockable
Describe an item for `TcfForwardGdprStringInUrl`.
Utils
Utility helpers.
AbstractLanguagePlugin
Commonly used functions for language plugins.
AbstractOutputBufferPlugin
There are plugins like TranslatePress, which does use a completely different way of implementing multilingual content to WordPress sites.
AbstractSyncPlugin
There are plugins like WPML or PolyLang which allows you to create a multilingual WordPress installation. devowl.io plugins needs to be compatible with those plugins so this abstract implementation handles actions like get original ID and get default language.
CopyContent
Allows to copy content by sync options or by custom callback.
Iso3166OneAlpha2
List of ISO 3166-1 alpha2 codes.
IsoCodeMapper
Currently this ISO code mapper supports the following:
LanguageDependingOption
Make a given option langugae-depending. That means, reading a option by a unique name reads the value of the option from the language context. This also works for write.
Localization
Package localization for `multilingual` package.
NavMenuList
Get a list of registered and created nav menus and determine their language, too.
None
No known plugin installed, fallback to this implementation.
PolyLang
PolyLang language handler.
Sync
Language specific action and filters to sync them language-wide. The earliest time you can instance this class is `plugins_loaded`.
TemporaryTextDomain
Allows to set a given text domain to be translated from a .mo file.
TranslatePress
TranslatePress Output Buffering compatibility.
Utils
Util functionalities.
Weglot
Weglot Output Buffering compatibility.
WPML
WPML language handler.
AbstractInitiator
This is the main class. You need to create an own class extending from this one to initiate the client. The configuration is done by an abstract schema. That means, all configurations need to be implemented through methods.
Announcement
Represent an announcement model.
AnnouncementPool
Represent a set of announcements synced to the backend (for a given plugin update).
Assets
Assets handling.
Announcement
Handle Real Product Manager API calls.
ClientUtils
Handle Real Product Manager API calls (Utilities).
Feedback
Handle Real Product Manager API calls.
LicenseActivation
Handle Real Product Manager API calls.
TelemetryData
Handle Real Product Manager API calls.
Core
Core for real-product-manager-wp-client. It is only initialized once and holds all available initiators.
License
Handle license information for a given plugin and associated blog id.
LicenseActivation
Handle license activation.
PluginUpdateChecker
Enable external updates with the help of PUC. This should be only done in non-free plugins!
TelemetryData
Handle telemetry data.
Localization
Package localization for `real-product-manager-wp-client` package.
PluginUpdate
Plugin update and license handling. If the plugin is hosted on wordpress.org, this class never does anything. But notice, that wordpress.org plugins also needs to "Complete the setup" and get a "free license" from the RPM license server.
Announcement
Create announcement REST service.
Feedback
Create feedback REST service.
PluginUpdate
Create plugin update REST service.
Utils
Utils functionality.
AnnouncementView
Show announcement notices.
PluginUpdateView
Plugin update view handling. E. g. add links to the plugins row in plugins list.
Assets
Assets handling.
Core
Core for real-queue.
Localization
Package localization for `real-product-manager-wp-client` package.
Executor
Execute a server job.
Job
A job model.
NoopExecutor
Simple executor which does nothing.
Persist
Persist new elements to the queue.
Query
Query jobs and transform them to a proper `Job` instance.
Queue
Create queue REST service.
AbstractInitiator
This is the main class. You need to create an own class extending from this one to initiate the ads system. The configuration is done by an abstract schema. That means, all configurations need to be implemented through methods.
Assets
Assets handling.
Core
Core for real-utils. It is only initialized once and holds all available initiators.
AbstractCrossSelling
An abstract cross-selling implementation which can be used for each pro product of devowl.io.
CrossRealCategoryLibrary
Cross-selling for Real Category Management.
CrossRealCookieBanner
Cross-selling for Real Cookie Banner.
CrossRealMediaLibrary
Cross-selling for Real Media Library.
CrossRealPhysicalMedia
Cross-selling for Real Physical Media.
CrossSellingHandler
Cross-selling handler.
Localization
Package localization for `real-utils` package.
RatingHandler
Allow to handle rating popups depending on usage time.
Service
Create an example REST Service.
TransientHandler
Handle site-wide transients for a specific plugin. It is static-only access and set.
Options
Add real-utils specific options to frontend.
WelcomePage
Handle welcome page for a specific plugin.
BlockerConsumer
Predefined service cloud consumer for `BlockerTemplate` with all required middlewares registered.
ConsumerPool
Put multiple `ServiceCloudConsumer` instances into a pool which guarantees to persist relations e.g. `BlockerTemplate` -> `ServiceTemplate`. That means, if one consumer gets invalidated, all other within this pool gets invalidated, too.
ServiceCloudConsumer
Service cloud consumer implementation which can be used for service or blocker templates.
ServiceConsumer
Predefined service cloud consumer for `ServiceTemplate` with all required middlewares registered.
VariableResolver
Allows to resolve variables and define if they are required or optional with a default.
AbortDataSourceDownloadException
Retrieving data from a data source currently only allows to return an array of `AbstractTemplate`.
AbstractDataSource
Abstract implementation of a data source which allows to retrieve `AbstractTemplate` instances from remote. This should actually not implement any caching mechanism as this is done through `AbstractStore`!
LocalDataSource
Retrieve templates directly from a configured JSON or `AbstractTemplate` instances.
AbstractConsumerMiddleware
Abstract implementation of a middleware for consumer life cycles.
AbstractMiddleware
Abstract implementation of a middleware for templates.
AbstractPoolMiddleware
Abstract implementation of a middleware for templates with a pool.
AbstractTemplateMiddleware
Abstract implementation of a middleware for templates.
ContentTypeButtonTextMiddleware
Middleware that provides button text for specific content types.
DisableProFeaturesInFreeMiddleware
Middleware to remove some `attributes` in free content blocker presets which are only available in PRO.
FlatRulesMiddleware
Middleware that transforms all `rules` expressions into an unique, flat consumer data so it an be used e.g. in `@devowl-wp/react-cookie-banner-admin` form.
ResolveServiceTemplatesMiddleware
Middleware that transforms `serviceTemplateIdentifiers` expressions into an array of `ServiceTemplate`. This allows us to create a service directly within the blocker template.
ExistsMiddleware
Middleware to add a tag with label when the preset already exists.
OneOfMiddleware
Middleware to active some fields with `WhenOneOf` statements.
ScanResultsMiddleware
Allows to read scan results for a given service and blocker template.
GroupMiddleware
Translate the group to a human readable string.
ManagerMiddleware
Mark manager-compatible services with a tag.
ServiceAvailableBlockerTemplatesMiddleware
Middleware to find all content blockers depending on a service and make them available as custom data in a service template.
TechnicalDefinitionsMiddleware
Set technical definitions host depending on consumer environment.
SuccessorMiddleware
Middleware to identify successors of templates and save relevant data to the consumer data.
TcfMiddleware
Middleware to add a tag with label when TCF is required and not active. It also creates an array in `consumerData['tcfVendorConfigurations']` with already created TCF vendor configurations (and their respective ID on the consumer environment).
PersistTranslationsMiddleware
Pool middleware for both service and blocker templates to persist translations into a dedicated cache / database.
Translation
Represent a Translation entry for `PersistTranslationsMiddleware`.
TranslationsMiddleware
Template middleware that automatically creates a list of available translations to consumer data.
VarMiddleware
Middleware to replace `{{var:my_var}}` from variable consumer in all string properties of the template.
VersionsMiddleware
Middleware to replace `consumerData['versions'] (number[])` with the template object when using.
AbstractStorage
Abstract implementation of a storage which saves and retrieves instances of `AbstractTemplate[]`.
InMemoryStorage
In-memory storage for templates. It never automatically invalidates.
AbstractTemplate
Abstract implementation of a single template with common attributes.
BlockerTemplate
Blocker template.
ServiceTemplate
Service template.
Utils
Utility helpers.
Constants
Common constants which cannot be hold in `trait`s as this is forbidden since PHP 8.1.
ExpireOption
WordPress itself has a so-called "Transient API" which allows you to save custom results of e. g. database queries in the database `wp_options` table. While developing the plugin Real Media Library we experienced a lot of issues with Transients as there are a lot of performance and optimization plugins which clears the transients.
FixInvalidJsonInDb
Migration tools can corrupt JSON in database by search & replace domains. For example, the data `["example.com"]` can be transformed to `['example.com']` with invalid single quotes.
KeyValueMapOption
Adds an option via `add_option` which represents a simple map / array of key value pairs.
PackageLocalization
Base i18n management for backend and frontend for a package.
RateLimitNotice
Show a notice about rate limit when contacting a devowl.io external service.
Service
Create a base REST Service needed for boilerplate development.
ServiceNoStore
Add `no-store` cache control directive to WP REST API requests.
Utils
Utility helpers.
Activator
The activator class handles the plugin relevant activation hooks: Uninstall, activation, deactivation and installation. The "installation" means installing needed database tables.
AdInitiator
Initiate real-utils functionality.
Assets
Asset management for frontend scripts and styles.
Core
Base class for the applications Core class.
Cache
Automatically clear frontend cache when essential things got changed:
Clear
Clear server-side cookies like `http` cookies.
ComingSoonPlugins
Provide native integrations to known plugins which provide "Coming soon" or "Maintenance" functionality.
DatabaseUpgrades
Apply database migrations when we update the plugin.
Hooks
Language specific action and filters for Real Cookie Banner.
AbstractDashboardTileMigration
Allow to define a list of migrations in our dashboard.
DashboardTileMigrationMajor2
Migration for Major version 2.
DashboardTileMigrationMajor3
Migration for Major version 3.
DashboardTileMigrationMajor4
Migration for Major version 4.
DashboardTileTcfV2IllegalUsage
Migration for Major version 2.
RevisionBackwardsCompatibility
Apply backwards compatible variables to an already saved revision. This can be useful e.g. new texts were added to the revision which previously were read from `wp_localize_script`.
RevisionContextDependingOption
Make a given option context-depending. That means, reading a option by a unique name reads the value of the option from the revision context. This also works for write.
TemplatesPluginIntegrations
Provide native integrations to known plugins which are associated to a template.
ThirdPartyNotices
Provide notices for third-party plugins.
Core
Singleton core class which handles the main system for plugin. It includes registering of the autoload, all hooks (actions & filters) (see BaseCore class).
DemoEnvironment
Handle try.devowl.io specific settings, e. g. hide template attributes.
Export
Handle export data.
ExportConsent
Handle export consent data.
Import
Allows to import a JSON string with specific options. If you want to learn more about the scheme, please have a look at the output of the export.
IpHandler
Handle IPs hashed correctly depending on settings.
Localization
i18n management for backend and frontend.
MyConsent
Handle consents of "me".
FomoCoupon
Fetch a FOMO coupon from our Real Commerce backend for free users with valid license.
Service
Handle general lite REST services.
Hooks
Language specific action and filters for PRO version.
MaxMindDatabase
A common service to download the MaxMind database to the WordPress `uploads` directory.
Forwarding
Handle consent forwarding REST services.
TCF
Handle TCF compatibility REST services.
Affiliate
Affiliate settings. This is only available in PRO version!
TcfVendorConfiguration
Register TCF vendor configuration custom post type.
Downloader
Download the TCF list from a remote address.
Persist
Persist an array of `vendor-list.json` to the database.
Query
Query the database for purposes, functions and vendors.
TcfVendorListNormalizer
Factory to prepare installation of database tables, provide a downloader and normalize automatically to database.
WordPressImagePreviewCache
Create a filesystem cache for your image preview / thumbnails.
TcfTexts
If TCF is active, add additional text options.
GcmBanner
If Google Consent Mode is active, we need to add some texts for the frontend.
Misc
Misc view settings for Pro version.
TcfBanner
If TCF is active, we need to modify some behaviors like forbid the use of "Hide" in decisions in customizer. For "new controls" check out the `TcfBannerCustomize` class.
Config
Create an config REST API, extending from the official `wp/v2/settings` route to also provide a route for all Real Cookie Banner specific settings.
Consent
Consent API
Import
Import / Export API
Scanner
Scanner API
Stats
Stats API
Templates
Create REST API for all available service / blocker templates.
RpmInitiator
Initiate real-product-manager-wp-client functionality.
AutomaticScanStarter
Automatically start the scan process when the user has first interaction with the plugin.
OnChangeDetection
Automatically detect changes to pages and posts, or CPT's and scan them again.
Persist
Persist multiple `ScanEntry`'s from the `Scanner` results to the database.
Query
Query scan results.
Scanner
This isn't really a "cookie" scanner, it is a scanner which detects external URLs, scripts, iframes for the current page request. Additionally, it can automatically detect usable content blocker templates which we can recommend to the user.
BannerLink
Register banner link (currently only footer links) custom post type.
Blocker
Register content blocker custom post type.
Consent
Settings > Consent.
Cookie
Register cookie custom post type.
CookieGroup
Register cookie group taxonomy.
CountryBypass
Bypass the cookie banner for a specific set of countries.
General
General settings.
GoogleConsentMode
Google Consent Mode settings.
Multisite
Consent Forwarding settings.
Reset
Allows to reset all data of RCB including cookies, options, and cookie groups.
Revision
Create a mechanism to catch all settings and create an unique revision.
TCF
TCF settings.
Stats
Consent stats handling. Only write operations are implemented in both free and PRO version to allow "unlocking" after upgrading to PRO.
BannerTemplates
Predefined templates for cookie banner.
BlockerStorage
This storage persists and reads content blocker templates from `wp_rcb_template` database table.
CloudDataSource
Load templates from cloud API, but not every time when consumer should be invalidated. In case of e.g. recalculations of middlewares, load the `before_middleware` value from database instead of API fetch.
ConsumerMiddleware
Consumer middleware for both service and blocker templates.
PersistTranslationsMiddlewareImpl
Pool middleware for both service and blocker templates and persist translations to `wp_rcb_template_translation`.
RecommendedHooksMiddleware
Set `recommended` through a hook / filter for both service and blocker templates.
ServiceLocalDataSource
Local data source for the template consumer which adds the "Real Cookie Banner" template to our data sources as this is never read through e.g. the service cloud.
ServiceStorage
This storage persists and reads service templates from `wp_rcb_template` database table.
ServiceTemplateTechnicalHandlingIntegration
This class is only needed for the `RCB/Templates/TechnicalHandlingIntegration` filter.
StorageHelper
Helper functionality for common storage operations for a given consumer.
TemplateConsumers
Common service cloud consumer manager to consume local and external templates (e.g. service cloud).
TranslationsMiddlewareImpl
See `TranslationsMiddleware`.
UserConsent
Handle consents of users.
Utils
Utility helpers.
Banner
Main banner.
BannerCustomize
Customize cookie box in customize. Conditional UI is implemented in `others/conditionalBanner.tsx`.
BlockerPostType
Describe a blockable item by `WP_Post` custom post type.
ElementorProActionsPlugin
Block `#elementor-action' links containing base64-encoded data.
Plugin
Real Cookie Banner plugin for `HeadlessContentBlocker`.
PluginAutoplay
Enhanced `Autoplay` plugin to enable plugin and theme compatibilities.
Blocker
Block common HTML tags!
AbstractChecklistItem
Abstract checklist item implementation.
ActivateBanner
Banner should be activated once.
AddBlocker
Add first content blocker to website.
AddCookie
Add first cookie to website.
CustomizeBanner
The customize banner panel was opened once.
GetPro
On lite version there should be a link to get pro version.
Install
Is the plugin installed?
License
Is the plugin license activated?
OperatorContact
Are website operator details set?
PrivacyPolicy
Is a privacy policy page set?
PrivacyPolicyMentionUsage
Mention Real Cookie Banner usage in privacy policy.
SaveSettings
Save settings for the first time.
Scanner
Is the scanner started once?
Shortcode
A legal shortcode was genearted once or the legal links were added to a manu.
ViewStats
The statistics should be opened once.
Checklist
Checklist handler.
ConfigPage
Creates a WordPress backend menu page to configure the cookie banner.
BasicLayout
Basic Layout.
BodyDesign
Body design.
CustomCss
Custom CSS.
Decision
Content decision options.
Design
Cookie banner design.
FooterDesign
Footer design.
HeaderDesign
Header design.
Group
"Group" in Individual Privacy settings inclusive checkbox.
Layout
Cookie banner layout for "Individual Privacy" settings.
SaveButton
"Save" button in Individual Privacy settings.
Texts
Cookie banner texts for "Individual Privacy" settings.
Mobile
Mobile optimized customization.
StickyLinks
Sticky legal links customization.
Texts
Cookie banner texts.
NavMenuLinkItem
Item for `NavMenuLinks`.
NavMenuLinks
Custom navigation menu links for the legal links.
Notices
Notices management.
Scanner
Scanner view.
HistoryUuidsShortcode
Shortcode to print the consent UUIDs of the current user.
LinkShortcode
Shortcode for:

Traits

Assets
Assets management, use it in your assets class.
Core
Core.
Assets
CoreLite
CorePro
FreemiumProvider
Extends the UtilsProvider with freemium provider.
UtilsProvider
Let our package act as own "plugin".
PluginUpdateLicensePool
Use this trait together in `PluginUpdate`.
UtilsProvider
Let our package act as own "plugin".
UtilsProvider
Let our package act as own "plugin".
UtilsProvider
Let our package act as own "plugin".
Activator
The activator class handles the plugin relevant activation hooks: Uninstall, activation, deactivation and installation. The "installation" means installing needed database tables.
Assets
Base asset management class for frontend scripts and styles.
Base
Base trait for all available classes in your plugin. The trait itself should not be directly used, use the UtilsProvider trait instead in your plugin! But you can still use the methods defined there.
Core
Base class for the applications Core class.
Localization
Base i18n management for backend and frontend.
PluginReceiver
This trait is used via Base trait and allows to consume the prefix filled but the UtilsProvider in your plugin. That allows you to dynamically get plugin data within your composer package.
UtilsProvider
To make the composer package in packages/utils work we need to make the constant variables be passed to the High-Order class.
ImportBannerLinks
Trait to handle the importer for banner links in the `Import` class.
ImportBlocker
Trait to handle the importer for content blocker in the `Import` class.
ImportCookies
Trait to handle the importer for cookies in the `Import` class.
ImportCustomizeBanner
Trait to handle the importer for customize banner in the `Import` class.
ImportGroups
Trait to handle the importer for groups in the `Import` class.
ImportMessages
Trait to handle messages output.
ImportSettings
Trait to handle the importer for settings in the `Import` class.
ImportTcfVendorConfigurations
Trait to handle the importer for TCF Vendor configurations in the `Import` class.
Core
Blocker
Consent
CountryBypass
General
GoogleConsentMode
Multisite
TCF
Stats
ImagePreviewBlockableTrait
Implementation for `ImagePreviewBlockable`.
Core
Blocker
Consent
CountryBypass
General
GoogleConsentMode
Multisite
TCF
Stats
ImagePreviewBlockableTrait
Implementation for `ImagePreviewBlockable`.

Constants

DEVOWL_MULTILINGUAL_OPT_PREFIX  = 'devowl-multilingual'
DEVOWL_MULTILINGUAL_ROOT_SLUG  = 'devowl-wp'
DEVOWL_MULTILINGUAL_SLUG  = 'multilingual'
DEVOWL_MULTILINGUAL_SLUG_CAMELCASE  = lcfirst(str_replace('-', '', ucwords(DEVOWL_MULTILINGUAL_SLUG, '-')))
DEVOWL_MULTILINGUAL_TD  = DEVOWL_MULTILINGUAL_ROOT_SLUG . '-' . DEVOWL_MULTILINGUAL_SLUG
DEVOWL_MULTILINGUAL_VERSION  = filemtime(__FILE__)
RCB_PRO_VERSION  = $translatedUrl
RCB_TD  = $this->getPluginData('TextDomain')
RCB_VERSION  = $this->getPluginData('Version')
REAL_QUEUE_DB_PREFIX  = 'real_queue'
REAL_QUEUE_OPT_PREFIX  = 'real-queue'
REAL_QUEUE_ROOT_SLUG  = 'devowl-wp'
REAL_QUEUE_SLUG  = 'real-queue'
REAL_QUEUE_SLUG_CAMELCASE  = lcfirst(str_replace('-', '', ucwords(REAL_QUEUE_SLUG, '-')))
REAL_QUEUE_TD  = REAL_QUEUE_ROOT_SLUG . '-' . REAL_QUEUE_SLUG
REAL_QUEUE_VERSION  = filemtime(__FILE__)
REAL_UTILS_ROOT_SLUG  = 'devowl-wp'
REAL_UTILS_SLUG  = 'real-utils'
REAL_UTILS_SLUG_CAMELCASE  = lcfirst(str_replace('-', '', ucwords(REAL_UTILS_SLUG, '-')))
REAL_UTILS_TD  = REAL_UTILS_ROOT_SLUG . '-' . REAL_UTILS_SLUG
REAL_UTILS_VERSION  = filemtime(__FILE__)
RPM_WP_CLIENT_OPT_PREFIX  = 'rpm-wpc'
RPM_WP_CLIENT_ROOT_SLUG  = 'devowl-wp'
RPM_WP_CLIENT_SLUG  = 'real-product-manager-wp-client'
RPM_WP_CLIENT_SLUG_CAMELCASE  = lcfirst(str_replace('-', '', ucwords(RPM_WP_CLIENT_SLUG, '-')))
RPM_WP_CLIENT_TD  = RPM_WP_CLIENT_ROOT_SLUG . '-' . RPM_WP_CLIENT_SLUG
RPM_WP_CLIENT_VERSION  = filemtime(__FILE__)

Functions

wp_rcb_consent_given()  : mixed
Check if a given technical information (e.g. HTTP Cookie, LocalStorage, ...) has a consent:
wp_rcb_invalidate_templates_cache()  : mixed
Invalidate all template caches so they gets recalculated (this does not necessarily download from cloud API!).
wp_rcb_invalidate_presets_cache()  : mixed
Invalidate all template caches so they gets recalculated.
wp_rcb_service_groups()  : mixed
Get a list of all existing service groups.
wp_rcb_services_by_group()  : mixed
Get a list of all existing services within a group.
rcb_skip_already_admin_notice()  : mixed
Show an admin notice to administrators when the plugin is already active.
rcb_skip_already_deactivate_lite()  : mixed
Automatically deactivate lite version when we try to activate the PRO version.
rcb_skip_php_admin_notice()  : mixed
Show an admin notice to administrators when the minimum PHP version could not be reached. The error message is only in english available.
rcb_skip_rest_admin_notice()  : mixed
Show an admin notice to administrators when the minimum WP version could not be reached. The error message is only in english available.
rcb_skip_wp_admin_notice()  : mixed
Show an admin notice to administrators when the minimum WP version could not be reached. The error message is only in english available.

Constants

DEVOWL_MULTILINGUAL_OPT_PREFIX

public mixed DEVOWL_MULTILINGUAL_OPT_PREFIX = 'devowl-multilingual'

DEVOWL_MULTILINGUAL_ROOT_SLUG

public mixed DEVOWL_MULTILINGUAL_ROOT_SLUG = 'devowl-wp'

DEVOWL_MULTILINGUAL_SLUG

public mixed DEVOWL_MULTILINGUAL_SLUG = 'multilingual'

DEVOWL_MULTILINGUAL_SLUG_CAMELCASE

public mixed DEVOWL_MULTILINGUAL_SLUG_CAMELCASE = lcfirst(str_replace('-', '', ucwords(DEVOWL_MULTILINGUAL_SLUG, '-')))

DEVOWL_MULTILINGUAL_TD

public mixed DEVOWL_MULTILINGUAL_TD = DEVOWL_MULTILINGUAL_ROOT_SLUG . '-' . DEVOWL_MULTILINGUAL_SLUG

DEVOWL_MULTILINGUAL_VERSION

public mixed DEVOWL_MULTILINGUAL_VERSION = filemtime(__FILE__)

RCB_PRO_VERSION

public mixed RCB_PRO_VERSION = $translatedUrl

RCB_TD

public mixed RCB_TD = $this->getPluginData('TextDomain')

RCB_VERSION

public mixed RCB_VERSION = $this->getPluginData('Version')

REAL_QUEUE_DB_PREFIX

public mixed REAL_QUEUE_DB_PREFIX = 'real_queue'

REAL_QUEUE_OPT_PREFIX

public mixed REAL_QUEUE_OPT_PREFIX = 'real-queue'

REAL_QUEUE_ROOT_SLUG

public mixed REAL_QUEUE_ROOT_SLUG = 'devowl-wp'

REAL_QUEUE_SLUG_CAMELCASE

public mixed REAL_QUEUE_SLUG_CAMELCASE = lcfirst(str_replace('-', '', ucwords(REAL_QUEUE_SLUG, '-')))

REAL_QUEUE_TD

public mixed REAL_QUEUE_TD = REAL_QUEUE_ROOT_SLUG . '-' . REAL_QUEUE_SLUG

REAL_QUEUE_VERSION

public mixed REAL_QUEUE_VERSION = filemtime(__FILE__)

REAL_UTILS_ROOT_SLUG

public mixed REAL_UTILS_ROOT_SLUG = 'devowl-wp'

REAL_UTILS_SLUG_CAMELCASE

public mixed REAL_UTILS_SLUG_CAMELCASE = lcfirst(str_replace('-', '', ucwords(REAL_UTILS_SLUG, '-')))

REAL_UTILS_TD

public mixed REAL_UTILS_TD = REAL_UTILS_ROOT_SLUG . '-' . REAL_UTILS_SLUG

REAL_UTILS_VERSION

public mixed REAL_UTILS_VERSION = filemtime(__FILE__)

RPM_WP_CLIENT_OPT_PREFIX

public mixed RPM_WP_CLIENT_OPT_PREFIX = 'rpm-wpc'

RPM_WP_CLIENT_ROOT_SLUG

public mixed RPM_WP_CLIENT_ROOT_SLUG = 'devowl-wp'

RPM_WP_CLIENT_SLUG

public mixed RPM_WP_CLIENT_SLUG = 'real-product-manager-wp-client'

RPM_WP_CLIENT_SLUG_CAMELCASE

public mixed RPM_WP_CLIENT_SLUG_CAMELCASE = lcfirst(str_replace('-', '', ucwords(RPM_WP_CLIENT_SLUG, '-')))

RPM_WP_CLIENT_TD

public mixed RPM_WP_CLIENT_TD = RPM_WP_CLIENT_ROOT_SLUG . '-' . RPM_WP_CLIENT_SLUG

RPM_WP_CLIENT_VERSION

public mixed RPM_WP_CLIENT_VERSION = filemtime(__FILE__)

Functions

Check if a given technical information (e.g. HTTP Cookie, LocalStorage, ...) has a consent:

wp_rcb_consent_given(string|int $typeOrId[, string $name = null ][, string $host = null ]) : mixed
  • When a technical information exists in defined cookies, the Promise is only resolved after given consent
  • When no technical information exists, the Promise is immediate resolved
$consent = function_exists('wp_rcb_consent_given') ? wp_rcb_consent_given("http", "_twitter_sess", ".twitter.com") : true;

You can also check for consent by cookie ID (ID in wp_posts, post id):

$consent = function_exists('wp_rcb_consent_given') ? wp_rcb_consent_given(15) : true;

Attention: Do not use this function if you can get the conditional consent into your frontend coding and use instead the window.consentApi!

Parameters
$typeOrId : string|int
$name : string = null
$host : string = null
Tags
since
2.11.1

wp_rcb_invalidate_templates_cache()

Invalidate all template caches so they gets recalculated (this does not necessarily download from cloud API!).

wp_rcb_invalidate_templates_cache([bool $skipServiceCloudConsumerInvalidation = false ]) : mixed
Parameters
$skipServiceCloudConsumerInvalidation : bool = false
Tags
since
3.6.4

wp_rcb_invalidate_presets_cache()

Invalidate all template caches so they gets recalculated.

wp_rcb_invalidate_presets_cache() : mixed
Tags
since
2.14.1
deprecated

Use wp_rcb_invalidate_templates_cache instead

wp_rcb_service_groups()

Get a list of all existing service groups.

wp_rcb_service_groups() : mixed
Tags
since
2.3.0

wp_rcb_services_by_group()

Get a list of all existing services within a group.

wp_rcb_services_by_group(int $group_id[, string|array<string|int, string> $post_status = null ]) : mixed

Example: Get all available service groups and services

term_id) as $service) { printf( 'Group: %s, Service: %s Service-ID: %d
', $group->name, $service->post_title, $service->ID ); } } }
Parameters
$group_id : int

The term_id of the group

$post_status : string|array<string|int, string> = null

Pass null to read all existing

Tags
since
2.3.0

rcb_skip_already_admin_notice()

Show an admin notice to administrators when the plugin is already active.

rcb_skip_already_admin_notice() : mixed

rcb_skip_already_deactivate_lite()

Automatically deactivate lite version when we try to activate the PRO version.

rcb_skip_already_deactivate_lite() : mixed

rcb_skip_php_admin_notice()

Show an admin notice to administrators when the minimum PHP version could not be reached. The error message is only in english available.

rcb_skip_php_admin_notice() : mixed

rcb_skip_rest_admin_notice()

Show an admin notice to administrators when the minimum WP version could not be reached. The error message is only in english available.

rcb_skip_rest_admin_notice() : mixed

rcb_skip_wp_admin_notice()

Show an admin notice to administrators when the minimum WP version could not be reached. The error message is only in english available.

rcb_skip_wp_admin_notice() : mixed

        
On this page

Search results