ServiceTemplate
        
        extends AbstractTemplate
    
    
            
            in package
            
        
    
    
    
Service template.
Table of Contents
Constants
- EXECUTE_PRIORITY_DEFAULT = 10
- LEGAL_BASIS = [self::LEGAL_BASIS_CONSENT, self::LEGAL_BASIS_LEGAL_REQUIREMENT, self::LEGAL_BASIS_LEGITIMATE_INTEREST]
- LEGAL_BASIS_CONSENT = 'consent'
- LEGAL_BASIS_LEGAL_REQUIREMENT = 'legal-requirement'
- LEGAL_BASIS_LEGITIMATE_INTEREST = 'legitimate-interest'
- SPECIAL_TREATMENT_BINDING_CORPORATE_RULES = 'binding-corporate-rules'
- SPECIAL_TREATMENT_CONTRACTUAL_ASSURANCES_WITH_SUB_PROCESSORS = 'contractual-assurances-with-sub-processors'
- SPECIAL_TREATMENT_PROVIDER_IS_SELF_CERTIFIED_TRANS_ATLANTIC_DATA_PRIVACY_FRAMEWORK = 'provider-is-self-certified-trans-atlantic-data-privacy-framework'
- SPECIAL_TREATMENT_STANDARD_CONTRACTUAL_CLAUSES = 'standard-contractual-clauses'
- STATUS_DRAFT = 'draft'
- STATUS_PUBLISHED = 'published'
- TIER_FREE = 'free'
- TIER_PRO = 'pro'
Properties
- $codeOnPageLoad : string
- Code on page load.
- $codeOptIn : string
- Code on opt in.
- $codeOptOut : string
- Code on opt in.
- $consumerData : array<string|int, mixed>
- Calculated consumer data which can be filled by middlewares.
- $createContentBlockerNotice : string
- Create-content-blocker notice.
- $createdAt : int
- Meta data: creation date and time of template version (service cloud saves templates immutable so each new version gets an own updated `createdAt` -> no `modifiedAt` needed).
- $dataProcessingInCountries : array<string|int, string>
- In which countries does thie service template process data? 2-letter ISO codes.
- $dataProcessingInCountriesSpecialTreatments : array<string|int, string>
- When a service processes data to an unsafe country, the user can select from various special treatments to skip the consent via GDPR Article 49.
- $deleteTechnicalDefinitionsAfterOptOut : bool
- If `true` the plugin should try to delete all technical definitions on opt-out.
- $dynamicFields : array<string|int, mixed>
- Dynamic fields for the code / script fields.
- $enabledWhenOneOf : array<string|int, string>
- Meta data: rules overwriting the `isDisabled` property.
- $executeCodeOptInWhenNoTagManagerConsentIsGiven : bool
- Execute code on opt-in only when consent for tag manager is not given.
- $executeCodeOptOutWhenNoTagManagerConsentIsGiven : bool
- Execute code on opt-in only when consent for tag manager is not given.
- $executePriority : int
- Execute priority for all the opt-in / opt-out code.
- $extendsIdentifier : string
- Meta data: when this template got extended this is the parent identifier.
- $googleConsentModeConsentTypes : array<string|int, string>
- Google Consent Mode consent types.
- $group : string
- Predefined group.
- $groupNotice : string
- Group notice.
- $headline : string
- Meta data: headline.
- $id : int
- Meta data: external ID within service cloud.
- $identifier : string
- Meta data: Unique identifier within service cloud.
- $isCdn : bool
- If yes the service is a CDN. This allows us to e.g. show the service in the scanner with a different UI (e.g.
- $isEmbeddingOnlyExternalResources : bool
- If `true` the service does not set any cookies but transfers e.g. ip address through a network request.
- $isHidden : int
- Meta data: only store the template but never show e.g. in frontend.
- $isProviderCurrentWebsite : bool
- If yes there will be no external privacy policy, imprint and provider name. It needs to be filled with a middleware or manually.
- $language : string
- Meta data: Language in 2-char.
- $legalBasis : string
- Legal basis.
- $legalBasisNotice : string
- Legal basis notice.
- $logoUrl : mixed
- Meta data: logo of template.
- $machineTranslationStatus : string
- Meta data: Is the template fully machine translated?
- $name : string
- Meta data: name
- $provider : string
- Provider name.
- $providerContact : stdClass
- Provider contact (email, phone, link).
- $providerLegalNoticeUrl : string
- Provider legal notice URL (e.g. imprint).
- $providerNotice : string
- Provider notice.
- $providerPrivacyPolicyUrl : string
- Provider privacy policy URL.
- $purpose : string
- Purpose of the service.
- $recommendedWhenOneOf : array<string|int, string>
- Meta data: rules overwriting the `consumerData['isRecommended']` property.
- $sccConclusionInstructionsNotice : string
- SCC conclusion instructions notice. This should be used together with `isCdn`.
- $shouldUncheckContentBlockerCheckbox : bool
- By default, when a content blocker for a service exists it should be automatically created in UI.
- $shouldUncheckContentBlockerCheckboxWhenOneOf : array<string|int, string>
- Set `shouldUncheckContentBlockerCheckbox` with `WhenOneOf` statements.
- $status : string
- Meta data: status within the service cloud (`published`, `draft`).
- $subHeadline : string
- Meta data: sub headline.
- $successorOfIdentifierInfo : array<string|int, array<string|int, mixed>>
- A list of identifiers that replaces this template, as the old template has been deleted.
- $tagManagerOptInEventName : string
- Tag manager opt-in event name.
- $tagManagerOptOutEventName : string
- Tag manager opt-out event name.
- $technicalDefinitions : array<string|int, mixed>
- Technical definitions.
- $technicalHandlingNotice : string
- Technical-handling notice.
- $tier : string
- Meta data: Can be `free` or `pro`.
- $version : int
- Meta data: headline.
- $beforeMiddleware : AbstractTemplate
- Original, before running any middleware, template data. This is useful for external data sources which should really be contaced e.g. once a day and a invalidation should only "retrigger" recalculation of middlewares.
- $consumer : mixed
Methods
- __clone() : mixed
- __construct() : mixed
- C'tor.
- fromArray() : mixed
- Override all properties from an array.
- getBeforeMiddleware() : mixed
- Getter.
- getConsumer() : mixed
- Getter.
- memoizeBeforeMiddleware() : mixed
- Memoize current state of template so it can be retrieved with `getBeforeMiddleware` after running all middlewares.
- retrieved() : mixed
- Run all `beforeRetrievingTemplate` middlewares.
- toArray() : mixed
- Output this service template as array. This is statically available to make usage with `array_map` more easier.
- toArrays() : mixed
- Output multiple service templates as array representation.
- use() : static
- Modifies the template data through middleware and e.g. replaces content, variables, .
Constants
EXECUTE_PRIORITY_DEFAULT
    public
        mixed
    EXECUTE_PRIORITY_DEFAULT
    = 10
    
    
    
LEGAL_BASIS
    public
        mixed
    LEGAL_BASIS
    = [self::LEGAL_BASIS_CONSENT, self::LEGAL_BASIS_LEGAL_REQUIREMENT, self::LEGAL_BASIS_LEGITIMATE_INTEREST]
    
    
    
LEGAL_BASIS_CONSENT
    public
        mixed
    LEGAL_BASIS_CONSENT
    = 'consent'
    
    
    
LEGAL_BASIS_LEGAL_REQUIREMENT
    public
        mixed
    LEGAL_BASIS_LEGAL_REQUIREMENT
    = 'legal-requirement'
    
    
    
LEGAL_BASIS_LEGITIMATE_INTEREST
    public
        mixed
    LEGAL_BASIS_LEGITIMATE_INTEREST
    = 'legitimate-interest'
    
    
    
SPECIAL_TREATMENT_BINDING_CORPORATE_RULES
    public
        mixed
    SPECIAL_TREATMENT_BINDING_CORPORATE_RULES
    = 'binding-corporate-rules'
    
    
    
SPECIAL_TREATMENT_CONTRACTUAL_ASSURANCES_WITH_SUB_PROCESSORS
    public
        mixed
    SPECIAL_TREATMENT_CONTRACTUAL_ASSURANCES_WITH_SUB_PROCESSORS
    = 'contractual-assurances-with-sub-processors'
    
    
    
SPECIAL_TREATMENT_PROVIDER_IS_SELF_CERTIFIED_TRANS_ATLANTIC_DATA_PRIVACY_FRAMEWORK
    public
        mixed
    SPECIAL_TREATMENT_PROVIDER_IS_SELF_CERTIFIED_TRANS_ATLANTIC_DATA_PRIVACY_FRAMEWORK
    = 'provider-is-self-certified-trans-atlantic-data-privacy-framework'
    
    
    
SPECIAL_TREATMENT_STANDARD_CONTRACTUAL_CLAUSES
    public
        mixed
    SPECIAL_TREATMENT_STANDARD_CONTRACTUAL_CLAUSES
    = 'standard-contractual-clauses'
    
    
    
STATUS_DRAFT
    public
        mixed
    STATUS_DRAFT
    = 'draft'
    
    
    
STATUS_PUBLISHED
    public
        mixed
    STATUS_PUBLISHED
    = 'published'
    
    
    
TIER_FREE
    public
        mixed
    TIER_FREE
    = 'free'
    
    
    
TIER_PRO
    public
        mixed
    TIER_PRO
    = 'pro'
    
    
    
Properties
$codeOnPageLoad
Code on page load.
    public
        string
    $codeOnPageLoad
    
    
    
    
$codeOptIn
Code on opt in.
    public
        string
    $codeOptIn
    
    
    
    
$codeOptOut
Code on opt in.
    public
        string
    $codeOptOut
    
    
    
    
$consumerData
Calculated consumer data which can be filled by middlewares.
    public
        array<string|int, mixed>
    $consumerData
     = ['tags' => []]
        Predefined data:
tags                     = string[]
-- List of tags (like badges), key = Badge text, value = Tooltip text
isCreated                = boolean
-- Is the template created in the consumer environment?
id                       = int
-- ID of the record within the consumer environment using this template
rules                    = string[]
-- Flattened string array of all rule-expressions
isDisabled               = boolean
-- Is this template enabled within this consumer environment (e.g. WordPress plugin active?).
isRecommended            = boolean
-- Is this template recommended within this consumer environment (e.g. Cloudflare detected).
scan                     = { foundCount: number; foundOnSitesCount: number; lastScanned?: string; }
-- Scan results for a given template by identifier.
isIgnored                = boolean
-- Is this template ignored within this consumer environment (e.g. ignored in scanner results).
successorOf              = Array<{ identifier: string; id: int; }>
-- If a template is a successor to another template, this array holds infos about the ID of the record within the consumer environment using this template
$createContentBlockerNotice
Create-content-blocker notice.
    public
        string
    $createContentBlockerNotice
    
    
    
    
$createdAt
Meta data: creation date and time of template version (service cloud saves templates immutable so each new version gets an own updated `createdAt` -> no `modifiedAt` needed).
    public
        int
    $createdAt
    
    
    
    
$dataProcessingInCountries
In which countries does thie service template process data? 2-letter ISO codes.
    public
        array<string|int, string>
    $dataProcessingInCountries
     = []
    
    
    
$dataProcessingInCountriesSpecialTreatments
When a service processes data to an unsafe country, the user can select from various special treatments to skip the consent via GDPR Article 49.
    public
        array<string|int, string>
    $dataProcessingInCountriesSpecialTreatments
     = []
    
    
    
$deleteTechnicalDefinitionsAfterOptOut
If `true` the plugin should try to delete all technical definitions on opt-out.
    public
        bool
    $deleteTechnicalDefinitionsAfterOptOut
    
    
    
    
$dynamicFields
Dynamic fields for the code / script fields.
    public
        array<string|int, mixed>
    $dynamicFields
     = []
    
    
    
$enabledWhenOneOf
Meta data: rules overwriting the `isDisabled` property.
    public
        array<string|int, string>
    $enabledWhenOneOf
     = []
    
    
    
$executeCodeOptInWhenNoTagManagerConsentIsGiven
Execute code on opt-in only when consent for tag manager is not given.
    public
        bool
    $executeCodeOptInWhenNoTagManagerConsentIsGiven
    
    
    
    
$executeCodeOptOutWhenNoTagManagerConsentIsGiven
Execute code on opt-in only when consent for tag manager is not given.
    public
        bool
    $executeCodeOptOutWhenNoTagManagerConsentIsGiven
    
    
    
    
$executePriority
Execute priority for all the opt-in / opt-out code.
    public
        int
    $executePriority
     = self::EXECUTE_PRIORITY_DEFAULT
    
    
    
$extendsIdentifier
Meta data: when this template got extended this is the parent identifier.
    public
        string
    $extendsIdentifier
    
    
    
    
$googleConsentModeConsentTypes
Google Consent Mode consent types.
    public
        array<string|int, string>
    $googleConsentModeConsentTypes
     = []
    
    
    
$group
Predefined group.
    public
        string
    $group
    
    
    
    
$groupNotice
Group notice.
    public
        string
    $groupNotice
    
    
    
    
$headline
Meta data: headline.
    public
        string
    $headline
    
    
    
    
$id
Meta data: external ID within service cloud.
    public
        int
    $id
    
    
    
    
$identifier
Meta data: Unique identifier within service cloud.
    public
        string
    $identifier
    
    
    
    
$isCdn
If yes the service is a CDN. This allows us to e.g. show the service in the scanner with a different UI (e.g.
    public
        bool
    $isCdn
    
        show the logo of the CDN and how to handle it).
$isEmbeddingOnlyExternalResources
If `true` the service does not set any cookies but transfers e.g. ip address through a network request.
    public
        bool
    $isEmbeddingOnlyExternalResources
    
    
    
    
$isHidden
Meta data: only store the template but never show e.g. in frontend.
    public
        int
    $isHidden
    
    
    
    
$isProviderCurrentWebsite
If yes there will be no external privacy policy, imprint and provider name. It needs to be filled with a middleware or manually.
    public
        bool
    $isProviderCurrentWebsite
    
    
    
    
$language
Meta data: Language in 2-char.
    public
        string
    $language
    
    
    
    
$legalBasis
Legal basis.
    public
        string
    $legalBasis
    
    
    
    
$legalBasisNotice
Legal basis notice.
    public
        string
    $legalBasisNotice
    
    
    
    
$logoUrl
Meta data: logo of template.
    public
        mixed
    $logoUrl
    
    
    
    
$machineTranslationStatus
Meta data: Is the template fully machine translated?
    public
        string
    $machineTranslationStatus
    
        Can be 'no-translation' | 'full' | 'partly'
$name
Meta data: name
    public
        string
    $name
    
    
    
    
$provider
Provider name.
    public
        string
    $provider
    
    
    
    
$providerContact
Provider contact (email, phone, link).
    public
        stdClass
    $providerContact
    
    
    
    
$providerLegalNoticeUrl
Provider legal notice URL (e.g. imprint).
    public
        string
    $providerLegalNoticeUrl
    
    
    
    
$providerNotice
Provider notice.
    public
        string
    $providerNotice
    
    
    
    
$providerPrivacyPolicyUrl
Provider privacy policy URL.
    public
        string
    $providerPrivacyPolicyUrl
    
    
    
    
$purpose
Purpose of the service.
    public
        string
    $purpose
    
    
    
    
$recommendedWhenOneOf
Meta data: rules overwriting the `consumerData['isRecommended']` property.
    public
        array<string|int, string>
    $recommendedWhenOneOf
     = []
    
    
    
$sccConclusionInstructionsNotice
SCC conclusion instructions notice. This should be used together with `isCdn`.
    public
        string
    $sccConclusionInstructionsNotice
    
    
    
    
$shouldUncheckContentBlockerCheckbox
By default, when a content blocker for a service exists it should be automatically created in UI.
    public
        bool
    $shouldUncheckContentBlockerCheckbox
    
        Set this to true if the checkbox in the UI should not be checked and continue without Content Blocker.
$shouldUncheckContentBlockerCheckboxWhenOneOf
Set `shouldUncheckContentBlockerCheckbox` with `WhenOneOf` statements.
    public
        array<string|int, string>
    $shouldUncheckContentBlockerCheckboxWhenOneOf
     = []
    
    
    
$status
Meta data: status within the service cloud (`published`, `draft`).
    public
        string
    $status
    
    
    
    
$subHeadline
Meta data: sub headline.
    public
        string
    $subHeadline
    
    
    
    
$successorOfIdentifierInfo
A list of identifiers that replaces this template, as the old template has been deleted.
    public
        array<string|int, array<string|int, mixed>>
    $successorOfIdentifierInfo
     = []
    
    
    
$tagManagerOptInEventName
Tag manager opt-in event name.
    public
        string
    $tagManagerOptInEventName
    
    
    
    
$tagManagerOptOutEventName
Tag manager opt-out event name.
    public
        string
    $tagManagerOptOutEventName
    
    
    
    
$technicalDefinitions
Technical definitions.
    public
        array<string|int, mixed>
    $technicalDefinitions
     = []
    
    
    
$technicalHandlingNotice
Technical-handling notice.
    public
        string
    $technicalHandlingNotice
    
    
    
    
$tier
Meta data: Can be `free` or `pro`.
    public
        string
    $tier
    
    
    
    
$version
Meta data: headline.
    public
        int
    $version
    
    
    
    
$beforeMiddleware
Original, before running any middleware, template data. This is useful for external data sources which should really be contaced e.g. once a day and a invalidation should only "retrigger" recalculation of middlewares.
    private
        AbstractTemplate
    $beforeMiddleware
     = null
        This data can be for example be saved in a Redis object cache or database column.
$consumer
    private
        mixed
    $consumer
    
    
    
    
Methods
__clone()
    public
                    __clone() : mixed
    __construct()
C'tor.
    public
                    __construct(ServiceCloudConsumer $consumer) : mixed
    Parameters
- $consumer : ServiceCloudConsumer
fromArray()
Override all properties from an array.
    public
                    fromArray(array<string|int, mixed> $arr) : mixed
    Parameters
- $arr : array<string|int, mixed>
getBeforeMiddleware()
Getter.
    public
                    getBeforeMiddleware() : mixed
    Tags
getConsumer()
Getter.
    public
                    getConsumer() : mixed
    Tags
memoizeBeforeMiddleware()
Memoize current state of template so it can be retrieved with `getBeforeMiddleware` after running all middlewares.
    public
                    memoizeBeforeMiddleware() : mixed
    retrieved()
Run all `beforeRetrievingTemplate` middlewares.
    public
                    retrieved() : mixed
    toArray()
Output this service template as array. This is statically available to make usage with `array_map` more easier.
    public
            static        toArray(AbstractTemplate $template) : mixed
    Parameters
- $template : AbstractTemplate
toArrays()
Output multiple service templates as array representation.
    public
            static        toArrays(array<string|int, AbstractTemplate> $templates) : mixed
    Parameters
- $templates : array<string|int, AbstractTemplate>
use()
Modifies the template data through middleware and e.g. replaces content, variables, .
    public
                    use() : static
    ..