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