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