<?php /** * @file * Default theme implementation for displaying EBSCO results. * * @see template_preprocess_ebsco_results() * * * Copyright [2017] [EBSCO Information Services] * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ if (isset($autoSuggestTerms)) { if (count($autoSuggestTerms) > 0) { $suggestString = ""; foreach ($autoSuggestTerms as $term) { $path = url('ebsco/results', array('query' => array('type' => ""))); $suggestString .= "<a href=\"{$path}&lookfor=$term\">" . $term . "</a> "; } echo "<p><strong>Did you mean " . $suggestString . "?</strong></p>"; } } if ($records){ echo t('Showing') . " <strong>" . $record_start . "</strong> - <strong> " . $record_end . "</strong> " . t('of') . " <strong>" . $record_count . "</strong> "; if ($search_view == 'basic') { echo t('for search') . " <strong>'" . check_plain($lookfor) . "'</strong> "; } if ($search_time){ echo "," . t('query time') . ":" . check_plain(round($search_time, 2)) . " s"; } print $sort_form; print $pager; if (!user_is_logged_in()) { $link = '<a href="' . url('user') . '">' . t('Login') . '</a>'; echo '<p class="top-login-message">'; echo sprintf(t('Hello, Guest. %s for full access.'), $link); echo '</p>'; } $tabs = ""; $tabsContent = ""; $counter = 0; $rsItem = NULL; if (isset($relatedContent)) { foreach ($relatedContent as $item) { if (isset($item["RelatedRecord"])) { $tabs .= '<li data-target="#researchstarters" data-slide-to="' . $counter . '" ' . ($counter == 0 ? ' class="active" ' : ' ') . '></li>'; $counter++; if (isset($item["RelatedRecord"]["Records"]["Record"][0])) { $rsItem = $item["RelatedRecord"]["Records"]["Record"][0]; } else { if (isset($item["Records"]["Record"])) { $rsItem = $item["Records"]["Record"]; } } if ($rsItem == NULL) { continue; } // var_dump($rsItem); $rsTitle = ""; $rsSubjects = ""; $rsAbstract = ""; $rsSource = ""; $rsImage = ""; $rsAN = $rsItem["Header"]["An"]; $rsDB = $rsItem["Header"]["DbId"]; $rsUrl = url('ebsco/result', array('query' => array('id' => $rsAN . "|" . $rsDB))); if (isset($rsItem["ImageInfo"]["CoverArt"])) { $rsImage = $rsItem["ImageInfo"]["CoverArt"]["Target"]; } foreach($rsItem["Items"]["Item"] as $it) { switch ($it["Group"]) { case "Ti": $rsTitle = $it["Data"]; break; case "Src": $rsSource = $it["Data"]; break; case "Su": $rsSubjects = $it["Data"]; break; case "Ab": $rsAbstract = $it["Data"]; break; } } $tabsContent .= '<div class="item" ><div class="carousel-caption">'; if ($rsImage <> "") { $tabsContent .= '<img src="' . $rsImage . '" alt="' . $rsTitle . '" style="float:left">'; } if ($rsTitle <> ""){ $tabsContent .= '<h3 class="relatedTitle"><a href="' . $rsUrl . '" class="title _record_link">' . $rsTitle . '</a></h3>'; } if ($rsSubjects <> ""){ $path = url('ebsco/results', array('query' => array('type' => "Subject"))); $link_xml = '/<searchLink fieldCode="([^\"]*)" term="%22([^\"]*)%22">/'; $link_html = "<a href=\"{$path}&lookfor=$2\">"; $rsSubjects = preg_replace($link_xml, $link_html, $rsSubjects); $rsSubjects = str_replace('</searchLink>', '</a>', $rsSubjects); $tabsContent .= '<p><strong>' . t('Subjects') . '</strong>:<span class="quotestart">' . str_replace(array("<br>", "<br />"), ', ', $rsSubjects) . '</span></p>'; } if ($rsSource <> ""){ $tabsContent .= '<p>' . $rsSource . '</p>'; } if ($rsAbstract <> ""){ $tabsContent .= '<p><cite>' . $rsAbstract . '</cite></p>'; } $tabsContent .= '</div></div>'; } // Replated publications. if (isset($item["RelatedPublication"])) { // var_dump($item); $tabs .= '<li data-target="#ematchplacard" data-slide-to="' . $counter . '" ' . ($counter == 0 ? ' class="active" ' : ' ') . '></li>'; $counter++; $tabsContent .= '<div class="item" ><div class="carousel-caption">'; $tabsContent .= ' <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.2.1/themes/default/style.min.css" /> <script src="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.2.1/jstree.min.js"></script> '; foreach ($item["RelatedPublication"]["PublicationRecords"] as $pub){ $plink = $pub["PLink"]; foreach($pub["Items"]["Item"] as $item) { if ($item["Group"] == "Ti") { $tabsContent .= '<h3 class="relatedTitle"><a href="' . $plink . ' target="_blank" >' . $item["Data"] . '</a></h3>'; } else { $tabsContent .= "<strong>" . $item["Label"] . "</strong> : " . $item["Data"] . "<br/>"; } } $tabsContent .= '<div id="publicationList"><ul>'; foreach($pub["FullTextHoldings"]["FullTextHolding"] as $itemHoldings) { $hURL = isset($itemHoldings["URL"]) ? $itemHoldings["URL"] : ""; $hName = isset($itemHoldings["Name"]) ? $itemHoldings["Name"] : ""; $hCoverage = isset($itemHoldings["CoverageStatement"]) ? $itemHoldings["CoverageStatement"] : ""; $hEmbargo = ""; if (isset($itemHoldings["EmbargoDescription"])) { // If no embargo, zero size array. if (!is_array($itemHoldings["EmbargoDescription"])) { $hEmbargo = $itemHoldings["EmbargoDescription"]; } } $tabsContent .= '<li> <a href="' . $hURL . '" target="_blank">' . $hName . '</a>; <ul><li>Coverage:' . $hCoverage . '; '; if ($hEmbargo <> '') { $tabsContent .= '</li><li>Embargo:' . $hEmbargo; } $tabsContent .= '</li></ul></li>'; // Notes. } $tabsContent .= '</ul></div>'; } $tabsContent .= ' <script> jQuery("#publicationList").jstree().on("changed.jstree", function (e, data) { var pubURL = data.instance.get_node(data.node, true).children("a").attr("href"); if (pubURL!="#") { window.open(pubURL); } }); </script>'; $tabsContent .= '</div></div>'; break; } } } if ($tabsContent <> "") { echo '<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> <div id="relatedInformation" class="carousel slide" data-ride="carousel" style="display:block;"> <!-- Indicators --> <ol class="carousel-indicators">' . $tabs . '</ol>'; echo '<div class="carousel-inner" role="listbox" >' . $tabsContent . '</div>'; echo '<!-- Left and right controls --> <a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev"> <span class="glyphicon glyphicon-chevron-left" ></span> </a> <a class="right carousel-control" href="#myCarousel" role="button" data-slide="next"> <span class="glyphicon glyphicon-chevron-right" ></span> </a> </div> <script> jQuery("#relatedInformation").carousel({ pause: true, interval:4000 }) </script>'; } ?> <ol class="search-results ebsco"> <?php foreach ($records as $record): // Trim Title if needed. if ($trim_title && strlen($record->title) > $trim_title) { $record->title = truncate_utf8($record->title, $trim_title, TRUE, TRUE, 1); } // Trim Authors if needed. if ($trim_authors && strlen($record->authors) > $trim_authors) { $record->authors = truncate_utf8(implode(',',explode('<br />', $record->authors)), $trim_authors, TRUE, TRUE, 1); } $id = check_plain($record->record_id()); $recordUrl = url('ebsco/result', array('query' => array('id' => $id))); $fulltextUrl = url('ebsco/fulltext', array('query' => array('id' => $id))); $pdfUrl = url('ebsco/pdf', array('query' => array('id' => $id))); ?> <li> <div class="record-number floatleft"> <?php print $record->result_id; ?> </div> <div class="result floatleft"> <div class="span-2"> <?php if ($record->small_thumb_link){ echo ' <a href="' . $recordUrl . '" class="_record_link"> <img src="' . $record->small_thumb_link . '" class="book-jacket" alt="' . t('Book jacket') . '"/> </a>'; } ?> </div> <div class="span-9"> <div class="result-line1"> <?php if ($record->access_level == '1'){ echo '<p>'; $label = '<strong>' . check_plain($record->db_label) . '</strong>'; $link = '<a href="' . url('user') . '">' . t('Login') . '</a>'; echo sprintf(t('This result from %s cannot be displayed to guests.'), $label) . "<br /><strong>" . sprintf(t('%s for full access.'), $link) . "</strong>"; echo "</p>"; } elseif ($record->title){ echo '<a href="' . $recordUrl . '" class="title _record_link">' . $record->title . '</a>'; } ?> </div> <div class="result-line2"> <?php if (!empty($record->authors)){ echo "<span>" . t('by') . " " . str_replace(array("<br>", "<br />"), ', ', $record->authors) . " </span>"; } if (!empty($record->source)){ echo '<p>' . t('Published in') . " " . $record->source . '</p>'; } ?> </div> <div class="result-line3"> <?php if (!empty($record->summary)){ echo '<cite>' . $record->summary . '</cite><br />'; } if (!empty($record->subjects)){ echo '<strong>' . t('Subjects') . '</strong>:<span class="quotestart">' . str_replace('<br />', ', ', $record->subjects) . '</span>'; } ?> </div> <?php if (!empty($record->custom_links)){ ?> <div class="result-line4"> <ul class="custom-links"> <?php foreach ($record->custom_links as $link){ ?> <li> <a href="<?php print $link['Url']; ?>" target="_blank" title="<?php print $link['MouseOverText']; ?>" class="external-link"> <?php if ($link['Icon']): ?><img src="<?php print $link['Icon']?>" /><?php endif; ?><?php print $link['Name']; ?> </a> </li> <?php } ?> </ul> </div> <?php } ?> <div class="result-line5"> <?php if ($record->full_text_availability){ echo '<a href="' . $fulltextUrl . '#html" class="icon html fulltext _record_link">'; echo t('HTML full text'); echo "</a> "; } if ($record->pdf_availability){ echo ' <a href="' . $pdfUrl . '" class="icon pdf fulltext">'; echo t('PDF full text'); echo "</a>"; } ?> </div> </div> </div> <div class="clear"></div> </li> <?php endforeach; ?> </ol> <?php print $pager; ?> <?php } elseif (!empty($lookfor)) { echo "<h2>" . t('Your search did not match any resources.') . "</h2>"; // Check for autocomplete. /* if (isset ($autoSuggestTerms) ) { if (count($autoSuggestTerms)>0) { echo "Did you mean "."?<br/>"; var_dump($autoSuggestTerms); } } */ echo search_help('search#noresults', drupal_help_arg()); } ?> <div id="spinner" class="spinner"></div>