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