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.
- PersistedTransaction
- A persisted transaction simply describes a consent which was given by a user.
- 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.
- Validators
- Validators for the consent. We never trust data coming from a client.
- 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.
- CookiePolicy
- A cookie policy is a server-side rendered, pure-HTML text with a table of cookie definitions and teachings.
- 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).
- AbstractCookiePolicy
- Abstract implementation of the settings for the cookie policy.
- 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.
- CustomizeSection
- Extend the core customize section class.
- 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. At this way, we can generate unique IDs (md5) for each markup.
- 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 ="{"schema":{"content":{"desktop":"<div align='center'>\n<iframe src=\"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.
- DummyBlockable
- Describe a dummy blockable, do whatever you want to do with it.
- 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()`.
- EvalJs
- This plugin registers the selector syntax `eval()`.
- 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()`
- ServiceCloudConsumerExternalUrlNotifierMiddleware
- This is not directly a plugin but a middleware to handle the service cloud consumer `@devowl-wp/service-cloud-consumer`.
- StandardPlugin
- Provide a standard configuration for the headless content blocker.
- 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`.
- ElementorProActionsPlugin
- Block `#elementor-action' links containing base64-encoded data.
- 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.
- CdnMiddleware
- If a service is a CDN, add a notice to the service which is shown in UI and disallows the creation of the service.
- 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.
- DashboardTileMigrationMajor5
- Migration for Major version 5.
- DashboardTileTcfV2IllegalUsage
- Migration for Major version 2.
- DbConsentV2
- Migrate consent data to new database table `wp_rcb_consent_v2`.
- 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. It holds all the data of the downloaded GVL in a memory-efficient way with the help of `JsonMachine`.
- 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.
- CookiePolicy
- Cookie policy settings.
- 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.
- ServiceCloudConsumerExternalUrlNotifierMiddlewareImpl
- See `ServiceCloudConsumerExternalUrlNotifierMiddleware`.
- 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.
- 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.
- CookiePolicy
- Cookie policy texts.
- 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.
- CookiePolicyShortcode
- Shortcode to print a cookie policy.
- 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
public
mixed
REAL_QUEUE_SLUG
= 'real-queue'
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
public
mixed
REAL_UTILS_SLUG
= 'real-utils'
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
wp_rcb_consent_given()
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
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
wp_rcb_invalidate_presets_cache()
Invalidate all template caches so they gets recalculated.
wp_rcb_invalidate_presets_cache() : mixed
Tags
wp_rcb_service_groups()
Get a list of all existing service groups.
wp_rcb_service_groups() : mixed
Tags
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
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