xref: /dokuwiki/inc/Ui/Media/DisplayTile.php (revision 79b008230541e34a988cd3273ba7267a1eef6d28)
1bf9684bcSAndreas Gohr<?php
2bf9684bcSAndreas Gohr
3bf9684bcSAndreas Gohrnamespace dokuwiki\Ui\Media;
4bf9684bcSAndreas Gohr
5bf9684bcSAndreas Gohruse dokuwiki\Media\MediaFile;
6bf9684bcSAndreas Gohr
7bf9684bcSAndreas Gohr/**
8bf9684bcSAndreas Gohr * Display a MediaFile in the FullScreen MediaManager
9bf9684bcSAndreas Gohr */
10bf9684bcSAndreas Gohrclass DisplayTile extends Display
11bf9684bcSAndreas Gohr{
12bf9684bcSAndreas Gohr    /** @var string URL to open this file in the media manager */
13bf9684bcSAndreas Gohr    protected $mmUrl;
14bf9684bcSAndreas Gohr
15bf9684bcSAndreas Gohr    /** @inheritDoc */
16bf9684bcSAndreas Gohr    public function __construct(MediaFile $mediaFile)
17bf9684bcSAndreas Gohr    {
18bf9684bcSAndreas Gohr        parent::__construct($mediaFile);
19bf9684bcSAndreas Gohr
20bf9684bcSAndreas Gohr        // FIXME we may want to integrate this function here or in another class
21bf9684bcSAndreas Gohr        $this->mmUrl = media_managerURL([
22bf9684bcSAndreas Gohr            'image' => $this->mediaFile->getId(),
23bf9684bcSAndreas Gohr            'ns' => getNS($this->mediaFile->getId()),
24bf9684bcSAndreas Gohr            'tab_details' => 'view',
25bf9684bcSAndreas Gohr        ]);
26bf9684bcSAndreas Gohr    }
27bf9684bcSAndreas Gohr
28bf9684bcSAndreas Gohr    /**
29bf9684bcSAndreas Gohr     * Display the tile
30bf9684bcSAndreas Gohr     */
31bf9684bcSAndreas Gohr    public function show()
32bf9684bcSAndreas Gohr    {
33bf9684bcSAndreas Gohr        echo '<dl title="' . $this->mediaFile->getDisplayName() . '">';
34bf9684bcSAndreas Gohr        echo '<dt>';
35bf9684bcSAndreas Gohr        echo '<a id="l_:' . $this->mediaFile->getId() . '" class="image thumb" href="' . $this->mmUrl . '">';
36bf9684bcSAndreas Gohr        echo $this->getPreviewHtml(90, 90);
37bf9684bcSAndreas Gohr        echo '</a>';
38bf9684bcSAndreas Gohr        echo '</dt>';
39bf9684bcSAndreas Gohr
40bf9684bcSAndreas Gohr        echo '<dd class="name">';
41bf9684bcSAndreas Gohr        echo '<a href="' . $this->mmUrl . '" id="h_:' . $this->mediaFile->getId() . '">' .
42*79b00823SAndreas Gohr            $this->formatDisplayName() .
43bf9684bcSAndreas Gohr            '</a>';
44bf9684bcSAndreas Gohr        echo '</dd>';
45bf9684bcSAndreas Gohr
46bf9684bcSAndreas Gohr        echo '<dd class="size">' . $this->formatDimensions() . '</dd>';
47bf9684bcSAndreas Gohr        echo '<dd class="date">' . $this->formatDate() . '</dd>';
48bf9684bcSAndreas Gohr        echo '<dd class="filesize">' . $this->formatFileSize() . '</dd>';
49bf9684bcSAndreas Gohr
50bf9684bcSAndreas Gohr        echo '</dl>';
51bf9684bcSAndreas Gohr    }
52bf9684bcSAndreas Gohr}
53