xref: /template/strap/ComboStrap/DokuwikiId.php (revision c3437056399326d621a01da73b649707fbb0ae69)
1*c3437056SNickeau<?php
2*c3437056SNickeau
3*c3437056SNickeau
4*c3437056SNickeaunamespace ComboStrap;
5*c3437056SNickeau
6*c3437056SNickeau
7*c3437056SNickeauuse DateTime;
8*c3437056SNickeau
9*c3437056SNickeau/**
10*c3437056SNickeau
11*c3437056SNickeau * @package ComboStrap
12*c3437056SNickeau * Represents the wiki id of a resource
13*c3437056SNickeau */
14*c3437056SNickeauclass DokuwikiId extends MetadataText
15*c3437056SNickeau{
16*c3437056SNickeau
17*c3437056SNickeau
18*c3437056SNickeau    public const DOKUWIKI_ID_ATTRIBUTE = "id";
19*c3437056SNickeau
20*c3437056SNickeau    public static function createForPage(ResourceCombo $page): DokuwikiId
21*c3437056SNickeau    {
22*c3437056SNickeau        return (new DokuwikiId())
23*c3437056SNickeau            ->setResource($page);
24*c3437056SNickeau    }
25*c3437056SNickeau
26*c3437056SNickeau    public function getDefaultValue(): ?DateTime
27*c3437056SNickeau    {
28*c3437056SNickeau        return null;
29*c3437056SNickeau    }
30*c3437056SNickeau
31*c3437056SNickeau    public function getValue(): ?string
32*c3437056SNickeau    {
33*c3437056SNickeau        return $this->getResource()->getPath()->getDokuwikiId();
34*c3437056SNickeau    }
35*c3437056SNickeau
36*c3437056SNickeau
37*c3437056SNickeau    public static function getName(): string
38*c3437056SNickeau    {
39*c3437056SNickeau        return self::DOKUWIKI_ID_ATTRIBUTE;
40*c3437056SNickeau    }
41*c3437056SNickeau
42*c3437056SNickeau
43*c3437056SNickeau    public function getPersistenceType(): string
44*c3437056SNickeau    {
45*c3437056SNickeau        return Metadata::DERIVED_METADATA;
46*c3437056SNickeau    }
47*c3437056SNickeau
48*c3437056SNickeau
49*c3437056SNickeau    public function getTab(): ?string
50*c3437056SNickeau    {
51*c3437056SNickeau        return null;
52*c3437056SNickeau    }
53*c3437056SNickeau
54*c3437056SNickeau    public function getDescription(): string
55*c3437056SNickeau    {
56*c3437056SNickeau        return "The id of a resource represents the path of a resource from its root directory";
57*c3437056SNickeau    }
58*c3437056SNickeau
59*c3437056SNickeau    public function getLabel(): string
60*c3437056SNickeau    {
61*c3437056SNickeau        return "Wiki Id";
62*c3437056SNickeau    }
63*c3437056SNickeau
64*c3437056SNickeau    public function getMutable(): bool
65*c3437056SNickeau    {
66*c3437056SNickeau        return false;
67*c3437056SNickeau    }
68*c3437056SNickeau}
69