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