xref: /plugin/combo/ComboStrap/ImageLink.php (revision c3437056399326d621a01da73b649707fbb0ae69)
11fa8c418SNickeau<?php
21fa8c418SNickeau
31fa8c418SNickeau
41fa8c418SNickeaunamespace ComboStrap;
51fa8c418SNickeau
61fa8c418SNickeau
71fa8c418SNickeau/**
81fa8c418SNickeau * Class ImageLink
91fa8c418SNickeau * @package ComboStrap
101fa8c418SNickeau *
111fa8c418SNickeau * A media of image type
121fa8c418SNickeau */
131fa8c418SNickeauabstract class ImageLink extends MediaLink
141fa8c418SNickeau{
151fa8c418SNickeau
161fa8c418SNickeau
17*c3437056SNickeau    /**
18*c3437056SNickeau     * @return Image
19*c3437056SNickeau     */
20*c3437056SNickeau    function getDefaultImage(): ?Image
211fa8c418SNickeau    {
221fa8c418SNickeau        if (!($this->getMedia() instanceof Image)) {
231fa8c418SNickeau            LogUtility::msg("The media ($this) is not an image", LogUtility::LVL_MSG_ERROR);
241fa8c418SNickeau        }
25*c3437056SNickeau        /**
26*c3437056SNickeau         *
27*c3437056SNickeau         */
28*c3437056SNickeau        $media = $this->getMedia();
29*c3437056SNickeau        if($media instanceof Image){
30*c3437056SNickeau            return $media;
31*c3437056SNickeau        } else {
32*c3437056SNickeau            return null;
33*c3437056SNickeau        }
341fa8c418SNickeau    }
351fa8c418SNickeau
361fa8c418SNickeau    /**
371fa8c418SNickeau     * @return string the wiki syntax
381fa8c418SNickeau     */
391fa8c418SNickeau    public function getMarkupSyntax(): string
401fa8c418SNickeau    {
411fa8c418SNickeau        $descriptionPart = "";
421fa8c418SNickeau        if (!empty($this->getDefaultImage()->getAltNotEmpty())) {
431fa8c418SNickeau            $descriptionPart = "|" . $this->getDefaultImage()->getAltNotEmpty();
441fa8c418SNickeau        }
45*c3437056SNickeau        return '{{' . $this->getMedia()->getPath()->getAbsolutePath() . $descriptionPart . '}}';
461fa8c418SNickeau    }
471fa8c418SNickeau
481fa8c418SNickeau}
49