1c3437056SNickeau<?php 2c3437056SNickeau 3c3437056SNickeau 4c3437056SNickeaunamespace ComboStrap; 5c3437056SNickeau 6*04fd306cSNickeauuse ComboStrap\Meta\Api\Metadata; 7*04fd306cSNickeauuse ComboStrap\Meta\Api\MetadataBoolean; 8*04fd306cSNickeau 9c3437056SNickeau/** 10c3437056SNickeau * Class LowQualityPageIndicator 11c3437056SNickeau * @package ComboStrap 12c3437056SNickeau * Tells if the page can be of low quality or not 13c3437056SNickeau * By default, it can 14c3437056SNickeau */ 15c3437056SNickeauclass LowQualityPageOverwrite extends MetadataBoolean 16c3437056SNickeau{ 17c3437056SNickeau 18c3437056SNickeau /** 19c3437056SNickeau * An indicator in the meta 20c3437056SNickeau * that set a boolean to true or false 21c3437056SNickeau * to tell if a page may be of low quality 22c3437056SNickeau */ 23c3437056SNickeau public const PROPERTY_NAME = 'low_quality_page'; 24c3437056SNickeau public const CAN_BE_LOW_QUALITY_PAGE_DEFAULT = true; 25c3437056SNickeau 26*04fd306cSNickeau public static function createForPage(MarkupPath $page) 27c3437056SNickeau { 28c3437056SNickeau return (new LowQualityPageOverwrite()) 29c3437056SNickeau ->setResource($page); 30c3437056SNickeau } 31c3437056SNickeau 32*04fd306cSNickeau static public function getTab(): string 33c3437056SNickeau { 34c3437056SNickeau return MetaManagerForm::TAB_QUALITY_VALUE; 35c3437056SNickeau } 36c3437056SNickeau 37*04fd306cSNickeau static public function getDescription(): string 38c3437056SNickeau { 39c3437056SNickeau return "If checked, this page will never be a low quality page"; 40c3437056SNickeau } 41c3437056SNickeau 42*04fd306cSNickeau static public function getLabel(): string 43c3437056SNickeau { 44c3437056SNickeau return "Prevent this page to become a low quality page"; 45c3437056SNickeau } 46c3437056SNickeau 47c3437056SNickeau public static 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 /** 76*04fd306cSNickeau * @return bool 77*04fd306cSNickeau */ 78c3437056SNickeau public function getDefaultValue(): bool 79c3437056SNickeau { 80c3437056SNickeau /** 81c3437056SNickeau * A page can be of low quality by default 82c3437056SNickeau */ 83c3437056SNickeau return self::CAN_BE_LOW_QUALITY_PAGE_DEFAULT; 84c3437056SNickeau } 85c3437056SNickeau 86*04fd306cSNickeau static public function getCanonical(): string 87c3437056SNickeau { 88c3437056SNickeau return "low_quality_page"; 89c3437056SNickeau } 90c3437056SNickeau 91c3437056SNickeau 92*04fd306cSNickeau static public function isOnForm(): bool 93*04fd306cSNickeau { 94*04fd306cSNickeau return true; 95*04fd306cSNickeau } 96*04fd306cSNickeau 97c3437056SNickeau} 98