PersistTranslationsMiddleware
extends AbstractPoolMiddleware
in package
Pool middleware for both service and blocker templates to persist translations into a dedicated cache / database.
Table of Contents
Constants
- EXPAND_SKIP_KEYS = ['language', 'identifier', 'successorOfIdentifierInfo', 'enabledWhenOneOf', 'recommendedWhenOneOf', 'extendsIdentifier', 'status', 'createdAt', 'tier', 'logoUrl', 'consumerData', 'serviceTemplateIdentifiers', 'ruleGroups', 'rules', 'ruleNotice', 'visualType', 'visualContentType', 'shouldUncheckContentBlockerCheckboxWhenOneOf', 'codeOptIn', 'codeOptOut', 'codeOnPageLoad', 'tagManagerOptInEventName', 'tagManagerOptOutEventName', 'dynamicFields', 'dataProcessingInCountries', 'dataProcessingInCountriesSpecialTreatments', 'sccConclusionInstructionsNotice', 'legalBasis', 'legalBasisNotice', 'group', 'technicalHandlingNotice', 'createContentBlockerNotice', 'groupNotice', 'providerNotice']
- Never create translations for this string-values.
- PERSIST_CHUNK_SIZE = 20
Properties
- $consumer : mixed
- $suspended : mixed
Methods
- __construct() : mixed
- C'tor.
- afterPersistTemplatesWithinPool() : void
- After persisting all template instances within a pool.
- beforePersistTemplateWithinPool() : void
- Before persisting the template instance when all consumers within a pool got downloaded.
- extractTranslations() : array<string|int, Translation>
- Extract translation instances from a set of templates.
- fetchEnglishTemplates() : mixed
- Fetch english templates as they should not be persisted to database.
- getConsumer() : mixed
- Getter.
- getVariableResolver() : mixed
- Getter.
- isSuspended() : mixed
- Check if the middleware is suspended.
- persistTranslations() : mixed
- Persist translations to your database or object cache or whatever.
- suspend() : mixed
- Allows to suspend or resume the middleware to take effect. This is efficient if a middleware could be called recursively.
- applyAcknowledgementMode() : mixed
- Disallow the creation of a service in the scanner. Additionally, you can add a message to the consumer data which is shown to the user. The user can only acknowledge to the message and not create the service.
Constants
EXPAND_SKIP_KEYS
Never create translations for this string-values.
public
mixed
EXPAND_SKIP_KEYS
= ['language', 'identifier', 'successorOfIdentifierInfo', 'enabledWhenOneOf', 'recommendedWhenOneOf', 'extendsIdentifier', 'status', 'createdAt', 'tier', 'logoUrl', 'consumerData', 'serviceTemplateIdentifiers', 'ruleGroups', 'rules', 'ruleNotice', 'visualType', 'visualContentType', 'shouldUncheckContentBlockerCheckboxWhenOneOf', 'codeOptIn', 'codeOptOut', 'codeOnPageLoad', 'tagManagerOptInEventName', 'tagManagerOptOutEventName', 'dynamicFields', 'dataProcessingInCountries', 'dataProcessingInCountriesSpecialTreatments', 'sccConclusionInstructionsNotice', 'legalBasis', 'legalBasisNotice', 'group', 'technicalHandlingNotice', 'createContentBlockerNotice', 'groupNotice', 'providerNotice']
PERSIST_CHUNK_SIZE
public
mixed
PERSIST_CHUNK_SIZE
= 20
Properties
$consumer
private
mixed
$consumer
$suspended
private
mixed
$suspended
= false
Methods
__construct()
C'tor.
public
__construct(ServiceCloudConsumer $consumer) : mixed
Parameters
- $consumer : ServiceCloudConsumer
afterPersistTemplatesWithinPool()
After persisting all template instances within a pool.
public
afterPersistTemplatesWithinPool(mixed $consumers, mixed &$typeClassToAllTemplates) : void
Parameters
- $consumers : mixed
- $typeClassToAllTemplates : mixed
-
Key = type class, value = array of templates
beforePersistTemplateWithinPool()
Before persisting the template instance when all consumers within a pool got downloaded.
public
beforePersistTemplateWithinPool(mixed $template, mixed &$typeClassToAllTemplates) : void
Example: Calculate contentBlockerTemplates
for ServiceTemplate
.
Parameters
- $template : mixed
- $typeClassToAllTemplates : mixed
-
Key = type class, value = array of templates
extractTranslations()
Extract translation instances from a set of templates.
public
extractTranslations(array<string|int, AbstractTemplate> $templates, ServiceCloudConsumer $consumer) : array<string|int, Translation>
Parameters
- $templates : array<string|int, AbstractTemplate>
- $consumer : ServiceCloudConsumer
Return values
array<string|int, Translation>fetchEnglishTemplates()
Fetch english templates as they should not be persisted to database.
public
abstract fetchEnglishTemplates(array<string|int, string> $identifiers, ServiceCloudConsumer $consumer) : mixed
Parameters
- $identifiers : array<string|int, string>
-
List of identifiers for which we want to the english templates
- $consumer : ServiceCloudConsumer
getConsumer()
Getter.
public
getConsumer() : mixed
Tags
getVariableResolver()
Getter.
public
getVariableResolver() : mixed
Tags
isSuspended()
Check if the middleware is suspended.
public
isSuspended() : mixed
persistTranslations()
Persist translations to your database or object cache or whatever.
public
abstract persistTranslations(array<string|int, Translation> $translations, ServiceCloudConsumer $consumer) : mixed
Parameters
- $translations : array<string|int, Translation>
- $consumer : ServiceCloudConsumer
suspend()
Allows to suspend or resume the middleware to take effect. This is efficient if a middleware could be called recursively.
public
suspend(bool $state) : mixed
Parameters
- $state : bool
applyAcknowledgementMode()
Disallow the creation of a service in the scanner. Additionally, you can add a message to the consumer data which is shown to the user. The user can only acknowledge to the message and not create the service.
protected
applyAcknowledgementMode(AbstractTemplate $template[, array<string|int, string> $paragraphs = [] ][, array<string|int, string> $accordion = null ][, string $buttonLabel = null ][, string $buttonAction = null ]) : mixed
Parameters
- $template : AbstractTemplate
- $paragraphs : array<string|int, string> = []
- $accordion : array<string|int, string> = null
-
A list of accordions with key as headline and value as message.
- $buttonLabel : string = null
-
The label of the button.
- $buttonAction : string = null
-
The action of the button, can be "ignore", "create" or "close".