[ Index ]

PHP Cross Reference of DokuWiki

title

Body

[close]

/inc/Ui/Media/ -> DisplayTile.php (source)

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