1*c3437056SNickeau<?php 2*c3437056SNickeau 3*c3437056SNickeau 4*c3437056SNickeaunamespace ComboStrap; 5*c3437056SNickeau 6*c3437056SNickeau/** 7*c3437056SNickeau * Class PageImageUsage 8*c3437056SNickeau * @package ComboStrap 9*c3437056SNickeau * The usage for the image of a page 10*c3437056SNickeau */ 11*c3437056SNickeauclass PageImageUsage extends MetadataMultiple 12*c3437056SNickeau{ 13*c3437056SNickeau 14*c3437056SNickeau public const PERSISTENT_NAME = "usage"; // storage name 15*c3437056SNickeau const PROPERTY_NAME = "image-usage"; // unique property name 16*c3437056SNickeau 17*c3437056SNickeau /** 18*c3437056SNickeau * Constant values 19*c3437056SNickeau */ 20*c3437056SNickeau public const ALL = "all"; 21*c3437056SNickeau public const FACEBOOK = "facebook"; 22*c3437056SNickeau public const SOCIAL = "social"; 23*c3437056SNickeau public const ICON = "icon"; 24*c3437056SNickeau public const TWITTER = "twitter"; 25*c3437056SNickeau public const GOOGLE = "google"; 26*c3437056SNickeau public const DEFAULT = PageImageUsage::ALL; 27*c3437056SNickeau 28*c3437056SNickeau 29*c3437056SNickeau public static function getUsageValues(): array 30*c3437056SNickeau { 31*c3437056SNickeau return [ 32*c3437056SNickeau self::ALL, 33*c3437056SNickeau self::FACEBOOK, 34*c3437056SNickeau self::GOOGLE, 35*c3437056SNickeau self::ICON, 36*c3437056SNickeau PageImage::PAGE_IMAGE, 37*c3437056SNickeau self::SOCIAL, 38*c3437056SNickeau self::TWITTER, 39*c3437056SNickeau ]; 40*c3437056SNickeau 41*c3437056SNickeau } 42*c3437056SNickeau 43*c3437056SNickeau public static function createFromParent(PageImages $param): PageImageUsage 44*c3437056SNickeau { 45*c3437056SNickeau return new PageImageUsage($param); 46*c3437056SNickeau } 47*c3437056SNickeau 48*c3437056SNickeau 49*c3437056SNickeau public function getDescription(): string 50*c3437056SNickeau { 51*c3437056SNickeau return "The possible usages of the image"; 52*c3437056SNickeau } 53*c3437056SNickeau 54*c3437056SNickeau public function getLabel(): string 55*c3437056SNickeau { 56*c3437056SNickeau return "Usages"; 57*c3437056SNickeau } 58*c3437056SNickeau 59*c3437056SNickeau static public function getName(): string 60*c3437056SNickeau { 61*c3437056SNickeau return self::PROPERTY_NAME; 62*c3437056SNickeau } 63*c3437056SNickeau 64*c3437056SNickeau static public function getPersistentName(): string 65*c3437056SNickeau { 66*c3437056SNickeau return self::PERSISTENT_NAME; 67*c3437056SNickeau } 68*c3437056SNickeau 69*c3437056SNickeau 70*c3437056SNickeau public function getMutable(): bool 71*c3437056SNickeau { 72*c3437056SNickeau return true; 73*c3437056SNickeau } 74*c3437056SNickeau 75*c3437056SNickeau 76*c3437056SNickeau function getDefaultValue(): array 77*c3437056SNickeau { 78*c3437056SNickeau return [self::ALL]; 79*c3437056SNickeau } 80*c3437056SNickeau 81*c3437056SNickeau public function getPersistenceType(): string 82*c3437056SNickeau { 83*c3437056SNickeau return Metadata::PERSISTENT_METADATA; 84*c3437056SNickeau } 85*c3437056SNickeau 86*c3437056SNickeau public function getFormControlWidth(): int 87*c3437056SNickeau { 88*c3437056SNickeau return 4; 89*c3437056SNickeau } 90*c3437056SNickeau 91*c3437056SNickeau public function getPossibleValues(): ?array 92*c3437056SNickeau { 93*c3437056SNickeau return static::getUsageValues(); 94*c3437056SNickeau } 95*c3437056SNickeau 96*c3437056SNickeau 97*c3437056SNickeau} 98