<?php
  $openUrl = $this->openUrl($this->driver, 'results');
  $openUrlActive = $openUrl->isActive();
  $urls = $this->record($this->driver)->getLinkDetails($openUrlActive);

  $coverDetails = $this->record($this->driver)->getCoverDetails('result-list', 'medium', $this->recordLinker($this->results)->getUrl($this->driver));
  $cover = $coverDetails['html'];
  $thumbnail = false;
  $thumbnailAlignment = $this->record($this->driver)->getThumbnailAlignment('result');
  if ($cover):
    ob_start(); ?>


    <div class="media-<?=$thumbnailAlignment ?> <?=$this->escapeHtmlAttr($coverDetails['size'])?>">
      <?=$cover ?>
    </div>
    <?php $thumbnail = ob_get_contents(); ?>
  <?php ob_end_clean(); ?>
<?php endif; ?>
<input type="hidden" value="<?=$this->escapeHtmlAttr($this->driver->getUniqueID())?>" class="hiddenId" />
<input type="hidden" value="<?=$this->escapeHtmlAttr($this->driver->getSourceIdentifier())?>" class="hiddenSource" />
<div class="media">
  <?php if ($thumbnail && $thumbnailAlignment == 'left'): ?>
    <?=$thumbnail ?>
  <?php endif ?>
  <div class="media-body">
    <div class="result-body">

        <div class="title-container">
            <a href="<?=$this->recordLinker($this->results)->getUrl($this->driver)?>" class="title getFull" data-view="<?=$this->params->getOptions()->getListViewOption() ?>">
                <?=$this->record($this->driver)->getTitleHtml()?>
            </a>
        </div>

        <div class="author">
            <?php $summAuthors = $this->driver->getPrimaryAuthorsWithHighlighting(); if (!empty($summAuthors)): ?>
                <?=$this->transEsc('by')?>
                <?php $authorCount = count($summAuthors); foreach ($summAuthors as $i => $summAuthor): ?>
                    <a href="<?=$this->record($this->driver)->getLink('author', $this->highlight($summAuthor, null, true, false))?>"><?=$this->highlight($summAuthor)?></a><?=$i + 1 < $authorCount ? ';' : ''?>
                <?php endforeach; ?>
            <?php endif; ?>
        </div>

        <table class="result-table">
            <tr>
                <th>Format</th>
                <th><?=$this->transEsc("Location")?></th>
                <th><?=$this->transEsc('Call Number')?></th>
                <th><?=$this->transEsc("Availability")?></th>
            </tr>
            <tr>
                <td><?=$this->record($this->driver)->getFormatList() ?></td>
                <td>
                    <div class="callnumAndLocation ajax-availability hidden">
                        <?php if ($this->driver->supportsAjaxStatus()): ?>
                            <span class="location ajax-availability hidden">
                                <?=$this->transEsc('Loading')?>...
                            </span>
                            <div class="locationDetails"></div>
                        <?php endif; ?>
                    </div>
                </td>
                <td>
                    <?php $summCallNo = $this->driver->getCallNumber(); if (!empty($summCallNo)): ?>
                        </strong> <?=$this->escapeHtml($summCallNo)?>
                    <?php endif; ?>
                </td>

                <td>
                    <?php if (!$openUrlActive && empty($urls) && $this->driver->supportsAjaxStatus()): ?>
                        <span class="status ajax-availability hidden">
                        <span class="label label-default"><?=$this->transEsc('Loading')?>...</span>
                      </span>

                    <?php endif; ?>
                </td>
            </tr>
        </table>

      <div class="published">
        <?php if($this->driver->isCollection()): ?>
          <?=implode('<br>', array_map(array($this, 'escapeHtml'), $this->driver->getSummary())); ?>
        <?php else: ?>

          <?php $journalTitle = $this->driver->getContainerTitle(); $summDate = $this->driver->getPublicationDates(); ?>
          <?php if (!empty($journalTitle)): ?>
            <?=!empty($summAuthor) ? '<br />' : ''?>
            <?=$this->transEsc('Published in')?>
            <?php $containerSource = $this->driver->getSourceIdentifier(); ?>
            <?php $containerID = $this->driver->getContainerRecordID(); ?>
            <?php /* TODO: handle highlighting more elegantly here: */?>
            <a href="<?=($containerID ? $this->recordLinker($this->results)->getUrl("$containerSource|$containerID") : $this->record($this->driver)->getLink('journaltitle', str_replace(array('{{{{START_HILITE}}}}', '{{{{END_HILITE}}}}'), '', $journalTitle)))?>"><?=$this->highlight($journalTitle) ?></a>
            <?=!empty($summDate) ? ' (' . $this->escapeHtml($summDate[0]) . ')' : ''?>
          <?php elseif (!empty($summDate)): ?>
            <?=!empty($summAuthor) ? '<br />' : ''?>
            <?=$this->transEsc('Published') . ' ' . $this->escapeHtml($summDate[0])?>
          <?php endif; ?>
          <?php $summInCollection = $this->driver->getContainingCollections(); if (!empty($summInCollection)): ?>
            <?php foreach ($summInCollection as $collId => $collText): ?>
              <div>
                <b><?=$this->transEsc("in_collection_label")?></b>
                <a class="collectionLinkText" href="<?=$this->url('collection', array('id' => $collId))?>?recordID=<?=urlencode($this->driver->getUniqueID())?>">
                  <?=$this->escapeHtml($collText)?>
                </a>
              </div>
            <?php endforeach; ?>
          <?php endif; ?>
        <?php endif; ?>
      </div>

      <?php if(!$this->driver->isCollection()): ?>
        <?php if ($snippet = $this->driver->getHighlightedSnippet()): ?>
          <?php if (!empty($snippet['caption'])): ?>
            <strong><?=$this->transEsc($snippet['caption']) ?>:</strong> ';
          <?php endif; ?>
          <?php if (!empty($snippet['snippet'])): ?>
            <span class="quotestart">&#8220;</span>...<?=$this->highlight($snippet['snippet']) ?>...<span class="quoteend">&#8221;</span><br/>
          <?php endif; ?>
        <?php endif; ?>
      <?php endif; ?>

      <?php
      /* Display information on duplicate records if available */
      if ($dedupData = $this->driver->getDedupData()): ?>
        <div class="dedupInformation">
        <?php
          $i = 0;
          foreach ($dedupData as $source => $current) {
            if (++$i == 1) {
              ?><span class="currentSource"><a href="<?=$this->recordLinker($this->results)->getUrl($this->driver)?>"><?=$this->transEsc("source_$source", array(), $source)?></a></span><?php
            } else {
              if ($i == 2) {
                ?> <span class="otherSources">(<?=$this->transEsc('Other Sources')?>: <?php
              } else {
                ?>; <?php 
              }
              ?><a href="<?=$this->recordLinker($this->results)->getUrl($current['id'])?>"><?=$this->transEsc("source_$source", array(), $source)?></a><?php
            }
          }
          if ($i > 1) {
            ?>)</span><?php
          }?>
        </div>
      <?php endif; ?>

      <?php /* We need to find out if we're supposed to display an OpenURL link ($openUrlActive),
            but even if we don't plan to display the link, we still want to get the $openUrl
            value for use in generating a COinS (Z3988) tag -- see bottom of file.
          */
        $openUrl = $this->openUrl($this->driver, 'results');
        $openUrlActive = $openUrl->isActive();
        // Account for replace_other_urls setting
        $urls = $this->record($this->driver)->getLinkDetails($openUrlActive);

        if ($openUrlActive || !empty($urls)): ?>
        <?php if ($openUrlActive): ?>
          <br/>
          <?=$openUrl->renderTemplate()?>
        <?php endif; ?>
        <?php if (!is_array($urls)) $urls = array();
          if(!$this->driver->isCollection()):
            foreach ($urls as $current): ?>
	  <?php if (strncmp("https://bibb-dspace.bibb.de/jspui/handle/BIBB", $this->proxyUrl($current['url']), strlen("https://bibb-dspace.bibb.de/jspui/handle/BIBB")) == 0)    continue; ?>
	  <?php if (($start = strpos($this->proxyUrl($current['url']), "(")) !== false) : ?> 
	     <a href="<?=$this->escapeHtmlAttr(trim(substr($this->proxyUrl($current['url']),0, $start-1)))?>" class="fulltext" target="new"><i class="fa fa-external-link" aria-hidden="true"></i> <?=($current['url'] == $current['desc']) ? $this->transEsc(trim(substr($this->proxyUrl($current['url']),$start+1,strlen($this->proxyUrl($current['url']))-($start+2)))) : $this->escapeHtml($current['desc'])?></a><br/>
	  <?php endif; ?>   

	  <?php if (($start = strpos($this->proxyUrl($current['url']), "(")) === false) : ?>
              <a href="<?=$this->escapeHtmlAttr($this->proxyUrl($current['url']))?>" class="fulltext" target="new"><i class="fa fa-external-link" aria-hidden="true"></i> <?=($current['url'] == $current['desc']) ? $this->transEsc('Get full text') : $this->escapeHtml($current['desc'])?></a><br/>
	  <?php endif ; ?>
          <?php endforeach; ?>
        <?php endif; ?>
      <?php endif; ?>

      <div class="result-previews">
        <?=$this->record($this->driver)->getPreviews()?>
      </div>
    </div>

      <div class="add-result">
          <div class="favorites">
              <?php if ($this->userlist()->getMode() !== 'disabled'): ?>
                  <?php /* Add to favorites */ ?>
                  <a href="<?=$this->recordLinker($this->results)->getActionUrl($this->driver, 'Save')?>" data-lightbox class="save-record result-link-label" data-id="<?=$this->escapeHtmlAttr($this->driver->getUniqueId()) ?>"><?=$this->transEsc('Add to favorites')?></a>
                  <i class="result-link-icon fa fa-fw fa-star" aria-hidden="true"></i><br/>
                  <?php /* Saved lists */ ?>
                  <div class="savedLists">
                      <strong><?=$this->transEsc("Saved in")?>:</strong>
                  </div>
              <?php endif; ?>
          </div>

          <div class="result-links hidden-print">
              <?php /* Display qrcode if appropriate: */ ?>
              <?php if ($QRCode = $this->record($this->driver)->getQRCode("results")): ?>
                  <?php
                  // Add JS Variables for QrCode
                  $this->jsTranslations()->addStrings(array('qrcode_hide' => 'qrcode_hide', 'qrcode_show' => 'qrcode_show'));
                  ?>
                  <span class="hidden-xs">
          <a href="<?=$this->escapeHtmlAttr($QRCode);?>" class="qrcodeLink"><?=$this->transEsc('qrcode_show')?></a><i class="fa fa-fw fa-qrcode" aria-hidden="true"></i>
          <div class="qrcode hidden">
            <script type="text/template" class="qrCodeImgTag">
              <img alt="<?=$this->transEsc('QR Code')?>" src="<?=$this->escapeHtmlAttr($QRCode);?>"/>
            </script>
          </div><br/>
        </span>
              <?php endif; ?>

              <?php if ($this->cart()->isActiveInSearch() && $this->params->getOptions()->supportsCart() && $this->cart()->isActive()): ?>
                  <?=$this->render('record/cart-buttons.phtml', ['id' => $this->driver->getUniqueId(), 'source' => $this->driver->getSourceIdentifier()]); ?><br/>
              <?php endif; ?>



              <?php /* Hierarchy tree link */ ?>
              <?php $trees = $this->driver->tryMethod('getHierarchyTrees'); if (!empty($trees)): ?>
                  <?php foreach ($trees as $hierarchyID => $hierarchyTitle): ?>
                      <div class="hierarchyTreeLink">
                          <input type="hidden" value="<?=$this->escapeHtmlAttr($hierarchyID)?>" class="hiddenHierarchyId" />

                          <a class="hierarchyTreeLinkText result-link-label" data-lightbox href="<?=$this->recordLinker($this->results)->getTabUrl($this->driver, 'HierarchyTree')?>?hierarchy=<?=urlencode($hierarchyID)?>#tabnav" title="<?=$this->transEsc('hierarchy_tree')?>" data-lightbox-href="<?=$this->recordLinker($this->results)->getTabUrl($this->driver, 'AjaxTab')?>?hierarchy=<?=urlencode($hierarchyID)?>" data-lightbox-post="tab=hierarchytree">
                              <?=$this->transEsc('hierarchy_view_context')?><?php if (count($trees) > 1): ?>: <?=$this->escapeHtml($hierarchyTitle)?><?php endif; ?>
                          </a>
                          <i class="result-link-icon fa fa-fw fa-sitemap" aria-hidden="true"></i>
                      </div>
                  <?php endforeach; ?>
              <?php endif; ?>

              <?=$this->driver->supportsCoinsOpenUrl()?'<span class="Z3988" title="'.$this->escapeHtmlAttr($this->driver->getCoinsOpenUrl()).'"></span>':''?>
          </div>
      </div>
  </div>
  <?php if ($thumbnail && $thumbnailAlignment == 'right'): ?>
    <?=$thumbnail ?>
  <?php endif; ?>
</div>
