xref: /plugin/combo/ComboStrap/ImageLink.php (revision 1fa8c418ed5809db58049141be41b7738471dd32)
1*1fa8c418SNickeau<?php
2*1fa8c418SNickeau
3*1fa8c418SNickeau
4*1fa8c418SNickeaunamespace ComboStrap;
5*1fa8c418SNickeau
6*1fa8c418SNickeau
7*1fa8c418SNickeau/**
8*1fa8c418SNickeau * Class ImageLink
9*1fa8c418SNickeau * @package ComboStrap
10*1fa8c418SNickeau *
11*1fa8c418SNickeau * A media of image type
12*1fa8c418SNickeau */
13*1fa8c418SNickeauabstract class ImageLink extends MediaLink
14*1fa8c418SNickeau{
15*1fa8c418SNickeau
16*1fa8c418SNickeau
17*1fa8c418SNickeau    function getDefaultImage(): Image
18*1fa8c418SNickeau    {
19*1fa8c418SNickeau        if (!($this->getMedia() instanceof Image)) {
20*1fa8c418SNickeau            LogUtility::msg("The media ($this) is not an image", LogUtility::LVL_MSG_ERROR);
21*1fa8c418SNickeau        }
22*1fa8c418SNickeau        /** @noinspection PhpIncompatibleReturnTypeInspection */
23*1fa8c418SNickeau        return $this->getMedia();
24*1fa8c418SNickeau    }
25*1fa8c418SNickeau
26*1fa8c418SNickeau    /**
27*1fa8c418SNickeau     * @return string the wiki syntax
28*1fa8c418SNickeau     */
29*1fa8c418SNickeau    public function getMarkupSyntax(): string
30*1fa8c418SNickeau    {
31*1fa8c418SNickeau        $descriptionPart = "";
32*1fa8c418SNickeau        if (!empty($this->getDefaultImage()->getAltNotEmpty())) {
33*1fa8c418SNickeau            $descriptionPart = "|" . $this->getDefaultImage()->getAltNotEmpty();
34*1fa8c418SNickeau        }
35*1fa8c418SNickeau        return '{{' . $this->getMedia()->getAbsolutePath() . $descriptionPart . '}}';
36*1fa8c418SNickeau    }
37*1fa8c418SNickeau
38*1fa8c418SNickeau}
39