Skip to content
Snippets Groups Projects
Commit c33d3c72 authored by André Lahmann's avatar André Lahmann Committed by Demian Katz
Browse files

Added passthru of access level from ResolverDriver to template for link-styling

parent 9950b26c
Branches
Tags
No related merge requests found
...@@ -206,9 +206,25 @@ class Redi implements DriverInterface ...@@ -206,9 +206,25 @@ class Redi implements DriverInterface
if ($ezbResultsNodesText->length == $ezbResultsNodesURL->length) { if ($ezbResultsNodesText->length == $ezbResultsNodesURL->length) {
for ($i = 0; $i<$ezbResultsNodesText->length; $i++) { for ($i = 0; $i<$ezbResultsNodesText->length; $i++) {
$accessClass = 'unknown';
$accessClassExpressions = [
"denied" => "//div[@class='t_ezb_result']["
. ($i+1) . "]/p/span[@class='t_ezb_red']",
"limited" => "//div[@class='t_ezb_result']["
. ($i+1) . "]/p/span[@class='t_ezb_yellow']",
"open" => "//div[@class='t_ezb_result']["
. ($i+1) . "]/p/span[@class='t_ezb_green']",
]; // $i+1 because XPath-element-counting starts with 1
foreach ($accessClassExpressions as $key => $value) {
if ($xpath->evaluate("count({$value})") == 1) {
$accessClass = $key;
}
}
$itemInfo = ''; $itemInfo = '';
$expression = "//div[@class='t_ezb_result']/p[{$i}]/sup"; $expression = "//div[@class='t_ezb_result']["
. ($i+1) . "]/p/sup";
if ($xpath->evaluate("count({$expression})") == 1) { if ($xpath->evaluate("count({$expression})") == 1) {
$itemInfo = $this->parseRediInfo( $itemInfo = $this->parseRediInfo(
$xml, $xpath->query($expression)->item(0)->textContent $xml, $xpath->query($expression)->item(0)->textContent
...@@ -219,6 +235,7 @@ class Redi implements DriverInterface ...@@ -219,6 +235,7 @@ class Redi implements DriverInterface
'title' => $ezbResultsNodesText->item($i)->textContent, 'title' => $ezbResultsNodesText->item($i)->textContent,
'href' => $ezbResultsNodesURL->item($i) 'href' => $ezbResultsNodesURL->item($i)
->attributes->getNamedItem("href")->textContent, ->attributes->getNamedItem("href")->textContent,
'access' => $accessClass,
'coverage' => $itemInfo, 'coverage' => $itemInfo,
'service_type' => 'getFullTxt', 'service_type' => 'getFullTxt',
]; ];
......
...@@ -86,12 +86,14 @@ class RediTest extends \VuFindTest\Unit\TestCase ...@@ -86,12 +86,14 @@ class RediTest extends \VuFindTest\Unit\TestCase
1 => [ 1 => [
'title' => "Zum Volltext (via SpringerLink)", 'title' => "Zum Volltext (via SpringerLink)",
'href' => "http://www-fr.redi-bw.de/links/?rl_site=ubl&rl_action=link&rl_link_target=ezb&rl_link_name=0.article&rl_citation=9443914d0e261c0c1f6a3fd8151213c1d4cec05f5d3053097da6fa5597bbb9d7", 'href' => "http://www-fr.redi-bw.de/links/?rl_site=ubl&rl_action=link&rl_link_target=ezb&rl_link_name=0.article&rl_citation=9443914d0e261c0c1f6a3fd8151213c1d4cec05f5d3053097da6fa5597bbb9d7",
'access' => 'limited',
'coverage' => "", 'coverage' => "",
'service_type' => "getFullTxt", 'service_type' => "getFullTxt",
], ],
2 => [ 2 => [
'title' => "Zur Zeitschriftenhomepage* (via www.ncbi.nlm.nih.gov)", 'title' => "Zur Zeitschriftenhomepage* (via www.ncbi.nlm.nih.gov)",
'href' => "http://www-fr.redi-bw.de/links/?rl_site=ubl&rl_action=link&rl_link_target=ezb&rl_link_name=1.article&rl_citation=9443914d0e261c0c1f6a3fd8151213c1d4cec05f5d3053097da6fa5597bbb9d7", 'href' => "http://www-fr.redi-bw.de/links/?rl_site=ubl&rl_action=link&rl_link_target=ezb&rl_link_name=1.article&rl_citation=9443914d0e261c0c1f6a3fd8151213c1d4cec05f5d3053097da6fa5597bbb9d7",
'access' => 'open',
'coverage' => "*Es konnte nicht zuverlässig festgestellt werden, ob der gesuchte Aufsatz in den Zeitraum fällt, für den bei diesem Anbieter der Volltext verfügbar ist.", 'coverage' => "*Es konnte nicht zuverlässig festgestellt werden, ob der gesuchte Aufsatz in den Zeitraum fällt, für den bei diesem Anbieter der Volltext verfügbar ist.",
'service_type' => "getFullTxt", 'service_type' => "getFullTxt",
], ],
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<? foreach ($this->electronic as $link): ?> <? foreach ($this->electronic as $link): ?>
<li> <li>
<? if (!empty($link['href'])): ?> <? if (!empty($link['href'])): ?>
<a href="<?=$this->escapeHtmlAttr($link['href'])?>" title="<?=isset($link['service_type'])?$this->escapeHtmlAttr($link['service_type']):''?>"><?=isset($link['title'])?$this->escapeHtml($link['title']):''?></a> <?=isset($link['coverage'])?$this->escapeHtml($link['coverage']):''?> <a href="<?=$this->escapeHtmlAttr($link['href'])?>" title="<?=isset($link['service_type'])?$this->escapeHtmlAttr($link['service_type']):''?>"<?=!empty($link['access'])?' class=access-"'.$link['access'].'"':''?>><?=isset($link['title'])?$this->escapeHtml($link['title']):''?></a> <?=isset($link['coverage'])?$this->escapeHtml($link['coverage']):''?>
<? else: ?> <? else: ?>
<?=isset($link['title'])?$this->escapeHtml($link['title']):''?> <?=isset($link['coverage'])?$this->escapeHtml($link['coverage']):''?> <?=isset($link['title'])?$this->escapeHtml($link['title']):''?> <?=isset($link['coverage'])?$this->escapeHtml($link['coverage']):''?>
<? endif; ?> <? endif; ?>
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
<? foreach ($this->print as $link): ?> <? foreach ($this->print as $link): ?>
<li> <li>
<? if (!empty($link['href'])): ?> <? if (!empty($link['href'])): ?>
<a href="<?=$this->escapeHtmlAttr($link['href'])?>" title="<?=isset($link['service_type'])?$this->escapeHtmlAttr($link['service_type']):''?>"><?=isset($link['title'])?$this->escapeHtml($link['title']):''?></a> <?=isset($link['coverage'])?$this->escapeHtml($link['coverage']):''?> <a href="<?=$this->escapeHtmlAttr($link['href'])?>" title="<?=isset($link['service_type'])?$this->escapeHtmlAttr($link['service_type']):''?>"<?=!empty($link['access'])?' class=access-"'.$link['access'].'"':''?>><?=isset($link['title'])?$this->escapeHtml($link['title']):''?></a> <?=isset($link['coverage'])?$this->escapeHtml($link['coverage']):''?>
<? else: ?> <? else: ?>
<?=isset($link['title'])?$this->escapeHtml($link['title']):''?> <?=isset($link['coverage'])?$this->escapeHtml($link['coverage']):''?> <?=isset($link['title'])?$this->escapeHtml($link['title']):''?> <?=isset($link['coverage'])?$this->escapeHtml($link['coverage']):''?>
<? endif; ?> <? endif; ?>
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
<? foreach ($this->services as $link): ?> <? foreach ($this->services as $link): ?>
<? if (!empty($link['href'])): ?> <? if (!empty($link['href'])): ?>
<li> <li>
<a href="<?=$this->escapeHtmlAttr($link['href'])?>" title="<?=isset($link['service_type'])?$this->escapeHtmlAttr($link['service_type']):''?>"><?=isset($link['title'])?$this->escapeHtml($link['title']):''?></a> <a href="<?=$this->escapeHtmlAttr($link['href'])?>" title="<?=isset($link['service_type'])?$this->escapeHtmlAttr($link['service_type']):''?>"<?=!empty($link['access'])?' class=access-"'.$link['access'].'"':''?>><?=isset($link['title'])?$this->escapeHtml($link['title']):''?></a>
</li> </li>
<? endif; ?> <? endif; ?>
<? endforeach; ?> <? endforeach; ?>
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<? foreach ($this->electronic as $link): ?> <? foreach ($this->electronic as $link): ?>
<li> <li>
<? if (!empty($link['href'])): ?> <? if (!empty($link['href'])): ?>
<a href="<?=$this->escapeHtmlAttr($link['href'])?>" title="<?=isset($link['service_type'])?$this->escapeHtmlAttr($link['service_type']):''?>"><?=isset($link['title'])?$this->escapeHtml($link['title']):''?></a> <?=isset($link['coverage'])?$this->escapeHtml($link['coverage']):''?> <a href="<?=$this->escapeHtmlAttr($link['href'])?>" title="<?=isset($link['service_type'])?$this->escapeHtmlAttr($link['service_type']):''?>"<?=!empty($link['access'])?' class=access-"'.$link['access'].'"':''?>><?=isset($link['title'])?$this->escapeHtml($link['title']):''?></a> <?=isset($link['coverage'])?$this->escapeHtml($link['coverage']):''?>
<? else: ?> <? else: ?>
<?=isset($link['title'])?$this->escapeHtml($link['title']):''?> <?=isset($link['coverage'])?$this->escapeHtml($link['coverage']):''?> <?=isset($link['title'])?$this->escapeHtml($link['title']):''?> <?=isset($link['coverage'])?$this->escapeHtml($link['coverage']):''?>
<? endif; ?> <? endif; ?>
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
<? foreach ($this->print as $link): ?> <? foreach ($this->print as $link): ?>
<li> <li>
<? if (!empty($link['href'])): ?> <? if (!empty($link['href'])): ?>
<a href="<?=$this->escapeHtmlAttr($link['href'])?>" title="<?=isset($link['service_type'])?$this->escapeHtmlAttr($link['service_type']):''?>"><?=isset($link['title'])?$this->escapeHtml($link['title']):''?></a> <?=isset($link['coverage'])?$this->escapeHtml($link['coverage']):''?> <a href="<?=$this->escapeHtmlAttr($link['href'])?>" title="<?=isset($link['service_type'])?$this->escapeHtmlAttr($link['service_type']):''?>"<?=!empty($link['access'])?' class=access-"'.$link['access'].'"':''?>><?=isset($link['title'])?$this->escapeHtml($link['title']):''?></a> <?=isset($link['coverage'])?$this->escapeHtml($link['coverage']):''?>
<? else: ?> <? else: ?>
<?=isset($link['title'])?$this->escapeHtml($link['title']):''?> <?=isset($link['coverage'])?$this->escapeHtml($link['coverage']):''?> <?=isset($link['title'])?$this->escapeHtml($link['title']):''?> <?=isset($link['coverage'])?$this->escapeHtml($link['coverage']):''?>
<? endif; ?> <? endif; ?>
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
<? foreach ($this->services as $link): ?> <? foreach ($this->services as $link): ?>
<? if (!empty($link['href'])): ?> <? if (!empty($link['href'])): ?>
<li> <li>
<a href="<?=$this->escapeHtmlAttr($link['href'])?>" title="<?=isset($link['service_type'])?$this->escapeHtmlAttr($link['service_type']):''?>"><?=isset($link['title'])?$this->escapeHtml($link['title']):''?></a> <a href="<?=$this->escapeHtmlAttr($link['href'])?>" title="<?=isset($link['service_type'])?$this->escapeHtmlAttr($link['service_type']):''?>"<?=!empty($link['access'])?' class=access-"'.$link['access'].'"':''?>><?=isset($link['title'])?$this->escapeHtml($link['title']):''?></a>
</li> </li>
<? endif; ?> <? endif; ?>
<? endforeach; ?> <? endforeach; ?>
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment