<?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): $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>