mirror of
https://github.com/YunoHost-Apps/freshrss_ynh.git
synced 2024-09-03 18:36:33 +02:00
279 lines
9.8 KiB
PHTML
Executable file
279 lines
9.8 KiB
PHTML
Executable file
<?php
|
|
$actual_view = Minz_Request::param('output', 'normal');
|
|
?>
|
|
<div class="nav_menu">
|
|
<?php if ($actual_view === 'normal') { ?>
|
|
<a class="btn toggle_aside" href="#aside_flux"><?php echo FreshRSS_Themes::icon('category'); ?></a>
|
|
<?php } ?>
|
|
|
|
<?php if ($this->loginOk) { ?>
|
|
<div class="stick">
|
|
<?php
|
|
$url_state = $this->url;
|
|
|
|
if ($this->state & FreshRSS_Entry::STATE_READ) {
|
|
$url_state['params']['state'] = $this->state & ~FreshRSS_Entry::STATE_READ;
|
|
$checked = 'true';
|
|
$class = 'active';
|
|
} else {
|
|
$url_state['params']['state'] = $this->state | FreshRSS_Entry::STATE_READ;
|
|
$checked = 'false';
|
|
$class = '';
|
|
}
|
|
?>
|
|
<a id="toggle-read"
|
|
class="btn <?php echo $class; ?>"
|
|
aria-checked="<?php echo $checked; ?>"
|
|
href="<?php echo Minz_Url::display ($url_state); ?>"
|
|
title="<?php echo Minz_Translate::t ('show_read'); ?>">
|
|
<?php echo FreshRSS_Themes::icon('read'); ?>
|
|
</a>
|
|
|
|
<?php
|
|
if ($this->state & FreshRSS_Entry::STATE_NOT_READ) {
|
|
$url_state['params']['state'] = $this->state & ~FreshRSS_Entry::STATE_NOT_READ;
|
|
$checked = 'true';
|
|
$class = 'active';
|
|
} else {
|
|
$url_state['params']['state'] = $this->state | FreshRSS_Entry::STATE_NOT_READ;
|
|
$checked = 'false';
|
|
$class = '';
|
|
}
|
|
?>
|
|
<a id="toggle-unread"
|
|
class="btn <?php echo $class; ?>"
|
|
aria-checked="<?php echo $checked; ?>"
|
|
href="<?php echo Minz_Url::display ($url_state); ?>"
|
|
title="<?php echo Minz_Translate::t ('show_not_reads'); ?>">
|
|
<?php echo FreshRSS_Themes::icon('unread'); ?>
|
|
</a>
|
|
|
|
<?php
|
|
if ($this->state & FreshRSS_Entry::STATE_FAVORITE) {
|
|
$url_state['params']['state'] = $this->state & ~FreshRSS_Entry::STATE_FAVORITE;
|
|
$checked = 'true';
|
|
$class = 'active';
|
|
} else {
|
|
$url_state['params']['state'] = $this->state | FreshRSS_Entry::STATE_FAVORITE;
|
|
$checked = 'false';
|
|
$class = '';
|
|
}
|
|
?>
|
|
<a id="toggle-favorite"
|
|
class="btn <?php echo $class; ?>"
|
|
aria-checked="<?php echo $checked; ?>"
|
|
href="<?php echo Minz_Url::display ($url_state); ?>"
|
|
title="<?php echo Minz_Translate::t ('show_favorite'); ?>">
|
|
<?php echo FreshRSS_Themes::icon('starred'); ?>
|
|
</a>
|
|
|
|
<?php
|
|
if ($this->state & FreshRSS_Entry::STATE_NOT_FAVORITE) {
|
|
$url_state['params']['state'] = $this->state & ~FreshRSS_Entry::STATE_NOT_FAVORITE;
|
|
$checked = 'true';
|
|
$class = 'active';
|
|
} else {
|
|
$url_state['params']['state'] = $this->state | FreshRSS_Entry::STATE_NOT_FAVORITE;
|
|
$checked = 'false';
|
|
$class = '';
|
|
}
|
|
?>
|
|
<a id="toggle-not-favorite"
|
|
class="btn <?php echo $class; ?>"
|
|
aria-checked="<?php echo $checked; ?>"
|
|
href="<?php echo Minz_Url::display ($url_state); ?>"
|
|
title="<?php echo Minz_Translate::t ('show_not_favorite'); ?>">
|
|
<?php echo FreshRSS_Themes::icon('non-starred'); ?>
|
|
</a>
|
|
|
|
<div class="dropdown">
|
|
<div id="dropdown-query" class="dropdown-target"></div>
|
|
|
|
<a class="dropdown-toggle btn" href="#dropdown-query"><?php echo FreshRSS_Themes::icon('down'); ?></a>
|
|
<ul class="dropdown-menu">
|
|
<li class="dropdown-close"><a href="#close">❌</a></li>
|
|
|
|
<li class="dropdown-header"><?php echo Minz_Translate::t('queries'); ?> <a class="no-mobile" href="<?php echo _url('configure', 'queries'); ?>"><?php echo FreshRSS_Themes::icon('configure'); ?></a></li>
|
|
|
|
<?php foreach ($this->conf->queries as $query) { ?>
|
|
<li class="item">
|
|
<a href="<?php echo $query['url']; ?>"><?php echo $query['name']; ?></a>
|
|
</li>
|
|
<?php } ?>
|
|
|
|
<?php if (count($this->conf->queries) > 0) { ?>
|
|
<li class="separator no-mobile"></li>
|
|
<?php } ?>
|
|
|
|
<?php
|
|
$url_query = $this->url;
|
|
$url_query['c'] = 'configure';
|
|
$url_query['a'] = 'addQuery';
|
|
?>
|
|
<li class="item no-mobile"><a href="<?php echo Minz_Url::display($url_query); ?>"><?php echo FreshRSS_Themes::icon('bookmark-add'); ?> <?php echo Minz_Translate::t('add_query'); ?></a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<?php
|
|
$get = false;
|
|
$string_mark = Minz_Translate::t ('mark_all_read');
|
|
if ($this->get_f) {
|
|
$get = 'f_' . $this->get_f;
|
|
$string_mark = Minz_Translate::t ('mark_feed_read');
|
|
} elseif ($this->get_c && $this->get_c != 'a') {
|
|
if ($this->get_c === 's') {
|
|
$get = 's';
|
|
} else {
|
|
$get = 'c_' . $this->get_c;
|
|
}
|
|
$string_mark = Minz_Translate::t ('mark_cat_read');
|
|
}
|
|
$nextGet = $get;
|
|
if ($this->conf->onread_jump_next && (strlen ($get) > 2)) {
|
|
$anotherUnreadId = '';
|
|
$foundCurrent = false;
|
|
switch ($get[0]) {
|
|
case 'c':
|
|
foreach ($this->cat_aside as $cat) {
|
|
if ($cat->id () == $this->get_c) {
|
|
$foundCurrent = true;
|
|
continue;
|
|
}
|
|
if ($cat->nbNotRead () <= 0) continue;
|
|
$anotherUnreadId = $cat->id ();
|
|
if ($foundCurrent) break;
|
|
}
|
|
$nextGet = empty ($anotherUnreadId) ? 'a' : 'c_' . $anotherUnreadId;
|
|
break;
|
|
case 'f':
|
|
foreach ($this->cat_aside as $cat) {
|
|
if ($cat->id () == $this->get_c) {
|
|
foreach ($cat->feeds () as $feed) {
|
|
if ($feed->id () == $this->get_f) {
|
|
$foundCurrent = true;
|
|
continue;
|
|
}
|
|
if ($feed->nbNotRead () <= 0) continue;
|
|
$anotherUnreadId = $feed->id ();
|
|
if ($foundCurrent) break;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
$nextGet = empty ($anotherUnreadId) ? 'c_' . $this->get_c : 'f_' . $anotherUnreadId;
|
|
break;
|
|
}
|
|
}
|
|
|
|
$p = isset($this->entries[0]) ? $this->entries[0] : null;
|
|
$idMax = $p === null ? (time() - 1) . '000000' : $p->id();
|
|
|
|
if ($this->order === 'ASC') { //In this case we do not know but we guess idMax
|
|
$idMax2 = (time() - 1) . '000000';
|
|
if (strcmp($idMax2, $idMax) > 0) {
|
|
$idMax = $idMax2;
|
|
}
|
|
}
|
|
|
|
$arUrl = array('c' => 'entry', 'a' => 'read', 'params' => array('get' => $get, 'nextGet' => $nextGet, 'idMax' => $idMax));
|
|
$output = Minz_Request::param('output', '');
|
|
if (($output != '') && ($this->conf->view_mode !== $output)) {
|
|
$arUrl['params']['output'] = $output;
|
|
}
|
|
$markReadUrl = Minz_Url::display($arUrl);
|
|
Minz_Session::_param ('markReadUrl', $markReadUrl);
|
|
?>
|
|
|
|
<div class="stick" id="nav_menu_read_all">
|
|
<a class="read_all btn<?php if ($this->conf->reading_confirm) {echo ' confirm';} ?>" href="<?php echo $markReadUrl; ?>"><?php echo Minz_Translate::t ('mark_read'); ?></a>
|
|
<div class="dropdown">
|
|
<div id="dropdown-read" class="dropdown-target"></div>
|
|
|
|
<a class="dropdown-toggle btn" href="#dropdown-read"><?php echo FreshRSS_Themes::icon('down'); ?></a>
|
|
<ul class="dropdown-menu">
|
|
<li class="dropdown-close"><a href="#close">❌</a></li>
|
|
|
|
<li class="item"><a href="<?php echo $markReadUrl; ?>"><?php echo $string_mark; ?></a></li>
|
|
<li class="separator"></li>
|
|
<?php
|
|
$today = $this->today;
|
|
$one_week = $today - 604800;
|
|
?>
|
|
<li class="item"><a href="<?php echo _url ('entry', 'read', 'is_read', 1, 'get', $get, 'idMax', $today . '000000'); ?>"><?php echo Minz_Translate::t ('before_one_day'); ?></a></li>
|
|
<li class="item"><a href="<?php echo _url ('entry', 'read', 'is_read', 1, 'get', $get, 'idMax', $one_week . '000000'); ?>"><?php echo Minz_Translate::t ('before_one_week'); ?></a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<?php } ?>
|
|
|
|
<?php $url_output = $this->url; ?>
|
|
<div class="stick" id="nav_menu_views">
|
|
<?php $url_output['params']['output'] = 'normal'; ?>
|
|
<a class="view_normal btn <?php echo $actual_view == 'normal'? 'active' : ''; ?>" title="<?php echo Minz_Translate::t('normal_view'); ?>" href="<?php echo Minz_Url::display($url_output); ?>">
|
|
<?php echo FreshRSS_Themes::icon("view-normal"); ?>
|
|
</a>
|
|
|
|
<?php $url_output['params']['output'] = 'global'; ?>
|
|
<a class="view_global btn <?php echo $actual_view == 'global'? 'active' : ''; ?>" title="<?php echo Minz_Translate::t('global_view'); ?>" href="<?php echo Minz_Url::display($url_output); ?>">
|
|
<?php echo FreshRSS_Themes::icon("view-global"); ?>
|
|
</a>
|
|
|
|
<?php $url_output['params']['output'] = 'reader'; ?>
|
|
<a class="view_reader btn <?php echo $actual_view == 'reader'? 'active' : ''; ?>" title="<?php echo Minz_Translate::t('reader_view'); ?>" href="<?php echo Minz_Url::display($url_output); ?>">
|
|
<?php echo FreshRSS_Themes::icon("view-reader"); ?>
|
|
</a>
|
|
|
|
<?php
|
|
$url_output['params']['output'] = 'rss';
|
|
if ($this->conf->token) {
|
|
$url_output['params']['token'] = $this->conf->token;
|
|
}
|
|
?>
|
|
<a class="view_rss btn" target="_blank" title="<?php echo Minz_Translate::t ('rss_view'); ?>" href="<?php echo Minz_Url::display($url_output); ?>">
|
|
<?php echo FreshRSS_Themes::icon('rss'); ?>
|
|
</a>
|
|
</div>
|
|
|
|
<div class="item search">
|
|
<form action="<?php echo _url ('index', 'index'); ?>" method="get">
|
|
<?php $search = Minz_Request::param ('search', ''); ?>
|
|
<input type="search" name="search" class="extend" value="<?php echo $search; ?>" placeholder="<?php echo Minz_Translate::t ('search_short'); ?>" />
|
|
|
|
<?php $get = Minz_Request::param ('get', ''); ?>
|
|
<?php if($get != '') { ?>
|
|
<input type="hidden" name="get" value="<?php echo $get; ?>" />
|
|
<?php } ?>
|
|
|
|
<?php $order = Minz_Request::param ('order', ''); ?>
|
|
<?php if($order != '') { ?>
|
|
<input type="hidden" name="order" value="<?php echo $order; ?>" />
|
|
<?php } ?>
|
|
|
|
<?php $state = Minz_Request::param ('state', ''); ?>
|
|
<?php if($state != '') { ?>
|
|
<input type="hidden" name="state" value="<?php echo $state; ?>" />
|
|
<?php } ?>
|
|
</form>
|
|
</div>
|
|
|
|
<?php
|
|
if ($this->order === 'DESC') {
|
|
$order = 'ASC';
|
|
$icon = 'up';
|
|
$title = 'older_first';
|
|
} else {
|
|
$order = 'DESC';
|
|
$icon = 'down';
|
|
$title = 'newer_first';
|
|
}
|
|
$url_order = $this->url;
|
|
$url_order['params']['order'] = $order;
|
|
?>
|
|
<a class="btn" href="<?php echo Minz_Url::display ($url_order); ?>" title="<?php echo Minz_Translate::t ($title); ?>">
|
|
<?php echo FreshRSS_Themes::icon($icon); ?>
|
|
</a>
|
|
|
|
<?php if ($this->loginOk || Minz_Configuration::allowAnonymousRefresh()) { ?>
|
|
<a id="actualize" class="btn" href="<?php echo _url ('feed', 'actualize'); ?>"><?php echo FreshRSS_Themes::icon('refresh'); ?></a>
|
|
<?php } ?>
|
|
</div>
|