xref: /plugin/combo/ComboStrap/QualityDynamicMonitoringOverwrite.php (revision 04fd306c7c155fa133ebb3669986875d65988276)
1c3437056SNickeau<?php
2c3437056SNickeau
3c3437056SNickeau
4c3437056SNickeaunamespace ComboStrap;
5c3437056SNickeau
6c3437056SNickeau
7*04fd306cSNickeauuse ComboStrap\Api\QualityMessageHandler;
8*04fd306cSNickeauuse ComboStrap\Meta\Api\Metadata;
9*04fd306cSNickeauuse ComboStrap\Meta\Api\MetadataBoolean;
10c3437056SNickeau
11c3437056SNickeauclass QualityDynamicMonitoringOverwrite extends MetadataBoolean
12c3437056SNickeau{
13c3437056SNickeau
14c3437056SNickeau    /**
15c3437056SNickeau     * Key in the frontmatter that disable the message
16c3437056SNickeau     */
17c3437056SNickeau    public const PROPERTY_NAME = "dynamic_quality_monitoring";
18c3437056SNickeau    public const EXECUTE_DYNAMIC_QUALITY_MONITORING_DEFAULT = true;
19c3437056SNickeau
20*04fd306cSNickeau    public static function createFromPage(MarkupPath $page): QualityDynamicMonitoringOverwrite
21c3437056SNickeau    {
22c3437056SNickeau        return (new QualityDynamicMonitoringOverwrite())
23c3437056SNickeau            ->setResource($page);
24c3437056SNickeau    }
25c3437056SNickeau
26*04fd306cSNickeau    static public function getTab(): ?string
27c3437056SNickeau    {
28c3437056SNickeau        return MetaManagerForm::TAB_QUALITY_VALUE;
29c3437056SNickeau    }
30c3437056SNickeau
31*04fd306cSNickeau    static public function getDescription(): string
32c3437056SNickeau    {
33c3437056SNickeau        return "If checked, the quality message will not be shown for the page.";
34c3437056SNickeau    }
35c3437056SNickeau
36*04fd306cSNickeau    static public function getLabel(): string
37c3437056SNickeau    {
38c3437056SNickeau        return "Disable the quality control of this page";
39c3437056SNickeau    }
40c3437056SNickeau
41*04fd306cSNickeau    static public function getCanonical(): string
42c3437056SNickeau    {
43*04fd306cSNickeau        return QualityMessageHandler::CANONICAL;
44c3437056SNickeau    }
45c3437056SNickeau
46c3437056SNickeau
47c3437056SNickeau    static public function getName(): string
48c3437056SNickeau    {
49c3437056SNickeau        return self::PROPERTY_NAME;
50c3437056SNickeau    }
51c3437056SNickeau
52*04fd306cSNickeau    static public function getPersistenceType(): string
53c3437056SNickeau    {
54c3437056SNickeau        return Metadata::PERSISTENT_METADATA;
55c3437056SNickeau    }
56c3437056SNickeau
57*04fd306cSNickeau    static public function isMutable(): bool
58c3437056SNickeau    {
59c3437056SNickeau        return true;
60c3437056SNickeau    }
61c3437056SNickeau
62*04fd306cSNickeau    /**
63*04fd306cSNickeau     * @return bool
64*04fd306cSNickeau     */
65*04fd306cSNickeau    public function getValueOrDefault(): bool
66*04fd306cSNickeau    {
67*04fd306cSNickeau        try {
68*04fd306cSNickeau            return $this->getValue();
69*04fd306cSNickeau        } catch (ExceptionNotFound $e) {
70*04fd306cSNickeau            return $this->getDefaultValue();
71*04fd306cSNickeau        }
72*04fd306cSNickeau    }
73*04fd306cSNickeau
74*04fd306cSNickeau    /**
75*04fd306cSNickeau     * @return bool
76*04fd306cSNickeau     */
77c3437056SNickeau    public function getDefaultValue(): bool
78c3437056SNickeau    {
79c3437056SNickeau        return self::EXECUTE_DYNAMIC_QUALITY_MONITORING_DEFAULT;
80c3437056SNickeau    }
81*04fd306cSNickeau
82*04fd306cSNickeau    static public function isOnForm(): bool
83*04fd306cSNickeau    {
84*04fd306cSNickeau        return true;
85*04fd306cSNickeau    }
86*04fd306cSNickeau
87c3437056SNickeau}
88