mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-10-25 12:38:37 -04:00
Before, when clicking on the author link, the search was done on the main stream in the normal view. It's fine until the feed is not visible in the main stream. Now, the current context is used along with the search. See #3314
84 lines
3.2 KiB
PHTML
84 lines
3.2 KiB
PHTML
<?php
|
|
$this->partial('aside_feed');
|
|
$this->partial('nav_menu');
|
|
|
|
call_user_func($this->callbackBeforeEntries, $this);
|
|
|
|
$lazyload = FreshRSS_Context::$user_conf->lazyload;
|
|
$content_width = FreshRSS_Context::$user_conf->content_width;
|
|
?>
|
|
|
|
<div id="stream" class="reader">
|
|
<div id="new-article">
|
|
<a href="<?= Minz_Url::display(Minz_Request::currentRequest()) ?>"><?= _t('gen.js.new_article'); /* TODO: move string in JS*/ ?></a>
|
|
</div><?php
|
|
$lastEntry = null;
|
|
$nbEntries = 0;
|
|
foreach ($this->entries as $item):
|
|
$lastEntry = $item;
|
|
$nbEntries++;
|
|
ob_flush();
|
|
$item = Minz_ExtensionManager::callHook('entry_before_display', $item);
|
|
if ($item == null) {
|
|
continue;
|
|
}
|
|
?><div class="flux<?= !$item->isRead() ? ' not_read' : '' ?><?= $item->isFavorite() ? ' favorite' : '' ?>" id="flux_<?= $item->id() ?>">
|
|
<div class="flux_content" dir="auto">
|
|
<div class="content <?= $content_width ?>">
|
|
<?php
|
|
$feed = FreshRSS_CategoryDAO::findFeed($this->categories, $item->feed()); //We most likely already have the feed object in cache
|
|
if (empty($feed)) $feed = $item->feed(true);
|
|
$favoriteUrl = array('c' => 'entry', 'a' => 'bookmark', 'params' => array('id' => $item->id()));
|
|
if ($item->isFavorite()) {
|
|
$favoriteUrl['params']['is_favorite'] = 0;
|
|
}
|
|
$readUrl = array('c' => 'entry', 'a' => 'read', 'params' => array('id' => $item->id()));
|
|
if ($item->isRead()) {
|
|
$readUrl['params']['is_read'] = 0;
|
|
}
|
|
?>
|
|
<a class="read" href="<?= Minz_Url::display($readUrl) ?>">
|
|
<?= _i($item->isRead() ? 'read' : 'unread') ?>
|
|
</a>
|
|
<a class="bookmark" href="<?= Minz_Url::display($favoriteUrl) ?>">
|
|
<?= _i($item->isFavorite() ? 'starred' : 'non-starred') ?>
|
|
</a>
|
|
<a class="website" href="<?= _url('index', 'reader', 'get', 'f_' . $feed->id()) ?>">
|
|
<?php if (FreshRSS_Context::$user_conf->show_favicons): ?><img class="favicon" src="<?= $feed->favicon() ?>" alt="✇" loading="lazy" /><?php endif; ?>
|
|
<span><?= $feed->name() ?></span>
|
|
</a>
|
|
<h1 class="title"><a target="_blank" rel="noreferrer" class="go_website" href="<?= $item->link() ?>"><?= $item->title() ?></a></h1>
|
|
|
|
<div class="author"><?php
|
|
$authors = $item->authors();
|
|
if (is_array($authors)):
|
|
$first = true;
|
|
foreach ($authors as $author):
|
|
echo $first ? _t('gen.short.by_author') . ' ' : '· ';
|
|
$first = false;
|
|
?>
|
|
<em><a href="<?= Minz_Url::display(Minz_Request::modifiedCurrentRequest(['search' => 'author:' . str_replace(' ', '+', htmlspecialchars_decode($author, ENT_QUOTES))])) ?>"><?= $author ?></a></em>
|
|
<?php
|
|
endforeach;
|
|
echo ' — ';
|
|
endif;
|
|
?><time datetime="<?= $item->machineReadableDate() ?>"><?= $item->date() ?></time></div><div class="text">
|
|
<?= $item->content() ?>
|
|
</div></div>
|
|
</div>
|
|
</div><?php
|
|
endforeach;
|
|
|
|
if ($nbEntries > 0):
|
|
call_user_func($this->callbackBeforePagination, $this, $nbEntries, $lastEntry);
|
|
$this->renderHelper('pagination');
|
|
?></div><?php
|
|
else:
|
|
ob_end_clean(); //Discard the articles headers, as we have no articles
|
|
?>
|
|
<div id="stream" class="prompt alert alert-warn reader">
|
|
<h2><?= _t('index.feed.empty') ?></h2>
|
|
<a href="<?= _url('subscription', 'index') ?>"><?= _t('index.feed.add') ?></a><br /><br />
|
|
</div>
|
|
<?php endif; ?>
|