Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
10 / 10
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
MultimediaConstraint
100.00% covered (success)
100.00%
10 / 10
100.00% covered (success)
100.00%
1 / 1
2
100.00% covered (success)
100.00%
1 / 1
 check
100.00% covered (success)
100.00%
10 / 10
100.00% covered (success)
100.00%
1 / 1
2
1<?php
2
3declare(strict_types=1);
4
5namespace Phpdftk\Pdf\Conformance\Constraint;
6
7use Phpdftk\Pdf\Conformance\Inspection\DocumentInspector;
8use Phpdftk\Pdf\Conformance\Profile\ConformanceProfile;
9use Phpdftk\Pdf\Conformance\Result\ConformanceViolation;
10use Phpdftk\Pdf\Conformance\Result\ViolationSeverity;
11
12/**
13 * Prohibits multimedia content (movies, sounds, renditions, rich media).
14 *
15 * Used by PDF/mail and other profiles that require static documents.
16 */
17final class MultimediaConstraint implements ConformanceConstraint
18{
19    public function check(DocumentInspector $inspector, ConformanceProfile $profile): array
20    {
21        if ($inspector->hasMultimediaContent()) {
22            return [
23                new ConformanceViolation(
24                    clause: '6.8',
25                    message: 'Multimedia content is prohibited in ' . $profile->getFamily(),
26                    severity: ViolationSeverity::Error,
27                    objectPath: 'Document',
28                ),
29            ];
30        }
31
32        return [];
33    }
34}