Skip to content
Snippets Groups Projects
Commit 2458296a authored by Anna Headley's avatar Anna Headley Committed by Demian Katz
Browse files

favorites list menu viewable on all myresearch pages

- eliminated treatment of lists as special-case facets
- resolves VUFIND-939
parent 589b1234
No related merge requests found
......@@ -51,6 +51,6 @@ class FavoriteFacets extends SideFacets
*/
public function setConfig($settings)
{
$this->mainFacets = array('lists' => 'Your Lists', 'tags' => 'Your Tags');
$this->mainFacets = array('tags' => 'Your Tags');
}
}
......@@ -40,7 +40,18 @@ use VuFind\Exception\ListPermission as ListPermissionException,
*/
class Results extends BaseResults
{
/**
* Object if user is logged in, false otherwise.
*
* @var \VuFind\Db\Row\User|bool
*/
protected $user = null;
/**
* Active user list (false if none).
*
* @var \VuFind\Db\Row\UserList|bool
*/
protected $list = false;
/**
......@@ -75,18 +86,6 @@ class Results extends BaseResults
'list' => array()
);
switch ($field) {
case 'lists':
$lists = $this->user ? $this->user->getLists() : array();
foreach ($lists as $list) {
$this->facets[$field]['list'][] = array(
'value' => $list->id,
'displayText' => $list->title,
'count' => $list->cnt,
'isApplied' =>
$this->getParams()->hasFilter("$field:".$list->id)
);
}
break;
case 'tags':
if ($this->list) {
$tags = $this->list->getTags();
......
......@@ -2,30 +2,6 @@
<div class="sidegroup">
<? $sideFacetSet = $this->recommend->getFacetSet(); ?>
<? if (isset($sideFacetSet['lists']) && !empty($sideFacetSet['lists']['list'])): ?>
<div class="sidegroup">
<h4 class="list"><?=$this->transEsc($sideFacetSet['lists']['label'])?></h4>
<ul>
<? foreach ($sideFacetSet['lists']['list'] as $current): ?>
<li>
<? if ($current['isApplied']): ?>
<strong><?=$this->escapeHtml($current['displayText'])?></strong>
<? else: ?>
<a href="<?=$this->url('userList', array('id' => $current['value']))?>"><?=$this->escapeHtml($current['displayText'])?></a>
<? endif; ?>
(<?=$this->escapeHtml($current['count'])?>)
</li>
<? endforeach; ?>
<li>
<a href="<?=$this->url('editList', array('id'=>'NEW'))?>" title="<?=$this->transEsc('Create a List') ?>">
<?=$this->transEsc('Create a List') ?>
</a>
<img src="<?=$this->imageLink('silk/add.png')?>" style="margin-left:2px;vertical-align:text-bottom"/>
</li>
</ul>
</div>
<? endif; ?>
<? if (isset($sideFacetSet['tags']) && !empty($sideFacetSet['tags']['list'])): ?>
<div class="sidegroup">
<h4 class="tag"><?=$this->transEsc($sideFacetSet['tags']['label'])?></h4>
......
......@@ -10,4 +10,23 @@
<? endif; ?>
<li<?=$this->active == 'history' ? ' class="active"' : ''?>><a href="<?=$this->url('search-history')?>?require_login"><?=$this->transEsc('history_saved_searches')?></a></li>
</ul>
<? if ($user = $this->auth()->isLoggedIn()): ?>
<h4 class="list"><?=$this->transEsc('Your Lists')?></h4>
<ul>
<li<?=$this->active == 'favorites' ? ' class="active"' : ''?>><a href="<?=$this->url('myresearch-favorites')?>"><?=$this->transEsc('Your Favorites')?></a></li>
<? $lists = $user->getLists() ?>
<? foreach ($lists as $list): ?>
<li<?=$this->active == 'list' . $list['id'] ? ' class="active"' : ''?>>
<a href="<?=$this->url('userList', array('id' => $list['id']))?>"><?=$this->escapeHtml($list['title'])?></a>
(<?=$list->cnt?>)
</li>
<? endforeach; ?>
<li>
<a href="<?=$this->url('editList', array('id'=>'NEW'))?>" title="<?=$this->transEsc('Create a List') ?>">
<?=$this->transEsc('Create a List') ?>
</a>
<img src="<?=$this->imagelink('silk/add.png')?>" style="margin-left:2px;vertical-align:text-bottom"/>
</li>
</ul>
<? endif ?>
</div>
......@@ -70,7 +70,7 @@
</div>
<div class="<?=$this->layoutClass('sidebar')?>">
<?=$this->context($this)->renderInContext("myresearch/menu.phtml", array('active' => isset($list) ? 'list' : 'favorites'))?>
<?=$this->context($this)->renderInContext("myresearch/menu.phtml", array('active' => isset($list) ? 'list' . $list['id'] : 'favorites'))?>
<? foreach ($this->results->getRecommendations('side') as $current): ?>
<?=$this->recommend($current)?>
......
......@@ -74,7 +74,7 @@
</div>
<div class="<?=$this->layoutClass('sidebar')?>">
<?=$this->context($this)->renderInContext("myresearch/menu.phtml", array('active' => isset($list) ? 'list' : 'favorites'))?>
<?=$this->context($this)->renderInContext("myresearch/menu.phtml", array('active' => isset($list) ? 'list' . $list['id'] : 'favorites'))?>
<? foreach ($this->results->getRecommendations('side') as $current): ?>
<?=$this->recommend($current)?>
......
<? $results = $this->recommend->getResults(); ?>
<? $sideFacetSet = $this->recommend->getFacetSet(); ?>
<? if (isset($sideFacetSet['lists']) && !empty($sideFacetSet['lists']['list'])): ?>
<h4 class="list"><?=$this->transEsc($sideFacetSet['lists']['label'])?></h4>
<ul class="nav nav-list">
<? foreach ($sideFacetSet['lists']['list'] as $current): ?>
<li<? if ($current['isApplied']): ?> class="active"<? endif ?>>
<a href="<?=$this->url('userList', array('id' => $current['value']))?>"><?=$this->escapeHtml($current['displayText'])?> <span class="pull-right"><?=$this->escapeHtml($current['count'])?></span></a>
</li>
<? endforeach; ?>
<li><a href="<?=$this->url('editList', array('id'=>'NEW'))?>" title="<?=$this->transEsc('Create a List') ?>"><?=$this->transEsc('Create a List') ?> <span class="pull-right"><i class="icon-plus"></i></span></a></li>
</ul>
<? endif; ?>
<? if (isset($sideFacetSet['tags']) && !empty($sideFacetSet['tags']['list'])): ?>
<h4 class="tag"><?=$this->transEsc($sideFacetSet['tags']['label'])?></h4>
<ul class="nav nav-list">
......
......@@ -10,3 +10,14 @@
<li<?=$this->active == 'history' ? ' class="active"' : ''?>><a href="<?=$this->url('search-history')?>?require_login"><?=$this->transEsc('history_saved_searches')?> <i class="icon-search pull-right"></i></a></li>
<li><a href="<?=$this->url('myresearch-logout')?>"><?=$this->transEsc("Log Out")?> <i class="icon-signout pull-right"></i></a></li>
</ul>
<? if ($user = $this->auth()->isLoggedIn()): ?>
<h4 class="list"><?=$this->transEsc('Your Lists')?></h4>
<ul class="nav nav-list">
<li<?=$this->active == 'favorites' ? ' class="active"' : ''?>><a href="<?=$this->url('myresearch-favorites')?>"><?=$this->transEsc('Your Favorites')?> <i class="icon-star pull-right"></i></a></li>
<? $lists = $user->getLists() ?>
<? foreach ($lists as $list): ?>
<li<?=$this->active == 'list' . $list['id'] ? ' class="active"' : ''?>> <a href="<?=$this->url('userList', array('id' => $list['id']))?>"><?=$this->escapeHtml($list['title'])?> <span class="pull-right"><?=$list->cnt?></span></a></li>
<? endforeach; ?>
<li><a href="<?=$this->url('editList', array('id'=>'NEW'))?>" title="<?=$this->transEsc('Create a List') ?>"><?=$this->transEsc('Create a List') ?> <span class="pull-right"><i class="icon-plus"></i></span></a></li>
</ul>
<? endif ?>
......@@ -74,9 +74,9 @@
</div>
<div class="<?=$this->layoutClass('sidebar')?>">
<?=$this->context($this)->renderInContext("myresearch/menu.phtml", array('active' => isset($list) ? 'list' : 'favorites'))?>
<?=$this->context($this)->renderInContext("myresearch/menu.phtml", array('active' => isset($list) ? 'list' . $list['id'] : 'favorites'))?>
<? foreach ($this->results->getRecommendations('side') as $current): ?>
<?=$this->recommend($current)?>
<? endforeach; ?>
</div>
\ No newline at end of file
</div>
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