TemplateConsumers
in package
Uses
UtilsProvider
Common service cloud consumer manager to consume local and external templates (e.g. service cloud).
It makes use of @devowl-wp/service-cloud-consumer
.
Table of Contents
Constants
- ONE_OF_PLUGIN_THEME_ACTIVE = 'is-wordpress-plugin-or-theme-active:'
- PERSIST_CHUNK_SIZE_TEMPLATES = 30
- Chunk templates to boost performance.
Properties
- $me : TemplateConsumers
- Singleton instance.
- $pools : array<string|int, ConsumerPool>
- All available consumers with key as context and value the `ConsumerPool`.
Methods
- blockerCreated() : mixed
- Implementation of created content blocker.
- createFromTemplate() : false|WP_Error|WP_Post
- Create a WordPress post from a given template.
- currentForceRedownload() : mixed
- Force re-download from all datasources. This also includes download from the cloud API instead of "only" recalculating middlewares.
- forceRecalculation() : mixed
- Force recalculation for middlewares (this does not necessarily download from cloud API!) for all blockers and services.
- getContext() : mixed
- Get the context key for consumer pool. Its the language for which we request templates.
- getCurrentBlockerConsumer() : mixed
- Shortcut to directly get the current context `ServiceConsumer`.
- getCurrentPool() : mixed
- Get the service cloud consumer pool for the current context (e.g. WPML language).
- getCurrentServiceConsumer() : mixed
- Shortcut to directly get the current context `ServiceConsumer`.
- getInstance() : mixed
- Get singleton instance.
- getPluginConstantPrefix() : string
- Get the prefix of this plugin so composer packages can dynamically build other constant values on it.
- getPool() : mixed
- Get the service cloud consumer pool for a given current context (e.g. WPML language).
- getTranslations() : mixed
- Get translations for a given target language (context). The source content is always english.
- licenseStatusChanged() : mixed
- Delete all templates from storage except "Real Cookie Banner" template when license got deactivated.
- oneOf() : mixed
- Implementation of `oneOf`.
- probablyPersistTranslationsForRequestedLocales() : mixed
- Check for multiples locales template consumers if they need to be invalidated, invalidate them and persist the translations into database through the `PoolMiddleware`.
- revisionCurrent() : mixed
- Add the release info of the latest cloud API template download.
- servicesCreated() : mixed
- Implementation of created services.
- tcfVendorsCreated() : mixed
- Implementation of `tcfVendors.created`.
- translateInputFromTemplates() : mixed
- Translate strings from our template-translations table.
- fillVariableResolver() : mixed
- Fill the variable resolver with our values.
- __construct() : mixed
- C'tor.
Constants
ONE_OF_PLUGIN_THEME_ACTIVE
public
mixed
ONE_OF_PLUGIN_THEME_ACTIVE
= 'is-wordpress-plugin-or-theme-active:'
PERSIST_CHUNK_SIZE_TEMPLATES
Chunk templates to boost performance.
public
mixed
PERSIST_CHUNK_SIZE_TEMPLATES
= 30
But keep a bit lower, as service templates could be huge and feed the memory when doing join
for preparing the SQL statement.
- 50 is too much, first customers are running into issues with a Memory Limit of 128M
Properties
$me
Singleton instance.
private
static TemplateConsumers
$me
= null
$pools
All available consumers with key as context and value the `ConsumerPool`.
private
array<string|int, ConsumerPool>
$pools
= []
Methods
blockerCreated()
Implementation of created content blocker.
public
blockerCreated(VariableResolver $resolver[, bool $global = false ]) : mixed
Parameters
- $resolver : VariableResolver
- $global : bool = false
createFromTemplate()
Create a WordPress post from a given template.
public
createFromTemplate(ServiceTemplate|BlockerTemplate $template[, array<string|int, int> $assignToTerm = null ][, int $updatePostId = null ]) : false|WP_Error|WP_Post
Parameters
- $template : ServiceTemplate|BlockerTemplate
- $assignToTerm : array<string|int, int> = null
-
The key of the array needs to be the taxonomy name
- $updatePostId : int = null
Return values
false|WP_Error|WP_PostcurrentForceRedownload()
Force re-download from all datasources. This also includes download from the cloud API instead of "only" recalculating middlewares.
public
currentForceRedownload() : mixed
forceRecalculation()
Force recalculation for middlewares (this does not necessarily download from cloud API!) for all blockers and services.
public
forceRecalculation() : mixed
getContext()
Get the context key for consumer pool. Its the language for which we request templates.
public
static getContext() : mixed
getCurrentBlockerConsumer()
Shortcut to directly get the current context `ServiceConsumer`.
public
static getCurrentBlockerConsumer() : mixed
getCurrentPool()
Get the service cloud consumer pool for the current context (e.g. WPML language).
public
getCurrentPool() : mixed
getCurrentServiceConsumer()
Shortcut to directly get the current context `ServiceConsumer`.
public
static getCurrentServiceConsumer() : mixed
getInstance()
Get singleton instance.
public
static getInstance() : mixed
Tags
getPluginConstantPrefix()
Get the prefix of this plugin so composer packages can dynamically build other constant values on it.
public
getPluginConstantPrefix() : string
Tags
Return values
stringgetPool()
Get the service cloud consumer pool for a given current context (e.g. WPML language).
public
getPool(string $context) : mixed
Parameters
- $context : string
getTranslations()
Get translations for a given target language (context). The source content is always english.
public
getTranslations(string $targetLanguage) : mixed
For performance reasons it makes use of the WordPress object cache.
It is sorted by newly-added translations first.
Parameters
- $targetLanguage : string
licenseStatusChanged()
Delete all templates from storage except "Real Cookie Banner" template when license got deactivated.
public
licenseStatusChanged(bool $status) : mixed
Otherwise, download from cloud API again.
Parameters
- $status : bool
oneOf()
Implementation of `oneOf`.
public
oneOf(string $statement, AbstractTemplate $template) : mixed
Parameters
- $statement : string
- $template : AbstractTemplate
probablyPersistTranslationsForRequestedLocales()
Check for multiples locales template consumers if they need to be invalidated, invalidate them and persist the translations into database through the `PoolMiddleware`.
public
probablyPersistTranslationsForRequestedLocales(array<string|int, string> $locales) : mixed
Parameters
- $locales : array<string|int, string>
revisionCurrent()
Add the release info of the latest cloud API template download.
public
revisionCurrent(array<string|int, mixed> $arr) : mixed
Parameters
- $arr : array<string|int, mixed>
servicesCreated()
Implementation of created services.
public
servicesCreated(VariableResolver $resolver[, bool $global = false ]) : mixed
Parameters
- $resolver : VariableResolver
- $global : bool = false
tcfVendorsCreated()
Implementation of `tcfVendors.created`.
public
tcfVendorsCreated(VariableResolver $resolver) : mixed
Parameters
- $resolver : VariableResolver
translateInputFromTemplates()
Translate strings from our template-translations table.
public
translateInputFromTemplates(array<string|int, mixed> $translation, string $input, string $sourceLocale, string $targetLocale, string $domain) : mixed
Parameters
- $translation : array<string|int, mixed>
- $input : string
- $sourceLocale : string
- $targetLocale : string
- $domain : string
fillVariableResolver()
Fill the variable resolver with our values.
protected
fillVariableResolver(string $context, VariableResolver $resolver, ServiceConsumer $serviceConsumer, BlockerConsumer $blockerConsumer) : mixed
Parameters
- $context : string
- $resolver : VariableResolver
- $serviceConsumer : ServiceConsumer
- $blockerConsumer : BlockerConsumer
__construct()
C'tor.
private
__construct() : mixed