|
|
@@ -7,24 +7,8 @@ if (!empty($this->entries)) {
|
|
|
$display_today = true;
|
|
|
$display_yesterday = true;
|
|
|
$display_others = true;
|
|
|
- if (FreshRSS_Auth::hasAccess()) {
|
|
|
- $sharing = FreshRSS_Context::$user_conf->sharing;
|
|
|
- } else {
|
|
|
- $sharing = array();
|
|
|
- }
|
|
|
$hidePosts = !FreshRSS_Context::$user_conf->display_posts;
|
|
|
$lazyload = FreshRSS_Context::$user_conf->lazyload;
|
|
|
- $topline_read = FreshRSS_Context::$user_conf->topline_read;
|
|
|
- $topline_favorite = FreshRSS_Context::$user_conf->topline_favorite;
|
|
|
- $topline_date = FreshRSS_Context::$user_conf->topline_date;
|
|
|
- $topline_link = FreshRSS_Context::$user_conf->topline_link;
|
|
|
- $bottomline_read = FreshRSS_Context::$user_conf->bottomline_read;
|
|
|
- $bottomline_favorite = FreshRSS_Context::$user_conf->bottomline_favorite;
|
|
|
- $bottomline_sharing = FreshRSS_Context::$user_conf->bottomline_sharing && (count($sharing));
|
|
|
- $bottomline_tags = FreshRSS_Context::$user_conf->bottomline_tags;
|
|
|
- $bottomline_date = FreshRSS_Context::$user_conf->bottomline_date;
|
|
|
- $bottomline_link = FreshRSS_Context::$user_conf->bottomline_link;
|
|
|
-
|
|
|
$content_width = FreshRSS_Context::$user_conf->content_width;
|
|
|
|
|
|
$today = @strtotime('today');
|
|
|
@@ -35,7 +19,21 @@ if (!empty($this->entries)) {
|
|
|
<a href="<?php echo Minz_Url::display(Minz_Request::currentRequest()); ?>"><?php echo _t('gen.js.new_article'); /* TODO: move string in JS*/ ?></a>
|
|
|
</div><?php
|
|
|
foreach ($this->entries as $item) {
|
|
|
- if ($display_today && $item->isDay(FreshRSS_Days::TODAY, $today)) {
|
|
|
+ $this->entry = Minz_ExtensionManager::callHook('entry_before_display', $item);
|
|
|
+ if (is_null($this->entry)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ // We most likely already have the feed object in cache
|
|
|
+ $this->feed = FreshRSS_CategoryDAO::findFeed($this->categories, $this->entry->feed());
|
|
|
+ if ($this->feed == null) {
|
|
|
+ $this->feed = $this->entry->feed(true);
|
|
|
+ if ($this->feed == null) {
|
|
|
+ $this->feed = FreshRSS_Feed::example();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($display_today && $this->entry->isDay(FreshRSS_Days::TODAY, $today)) {
|
|
|
?><div class="day" id="day_today"><?php
|
|
|
echo _t('gen.date.today');
|
|
|
?><span class="date"> — <?php echo timestamptodate(time(), false); ?></span><?php
|
|
|
@@ -43,7 +41,7 @@ if (!empty($this->entries)) {
|
|
|
?></div><?php
|
|
|
$display_today = false;
|
|
|
}
|
|
|
- if ($display_yesterday && $item->isDay(FreshRSS_Days::YESTERDAY, $today)) {
|
|
|
+ if ($display_yesterday && $this->entry->isDay(FreshRSS_Days::YESTERDAY, $today)) {
|
|
|
?><div class="day" id="day_yesterday"><?php
|
|
|
echo _t('gen.date.yesterday');
|
|
|
?><span class="date"> — <?php echo timestamptodate(time() - 86400, false); ?></span><?php
|
|
|
@@ -51,139 +49,35 @@ if (!empty($this->entries)) {
|
|
|
?></div><?php
|
|
|
$display_yesterday = false;
|
|
|
}
|
|
|
- if ($display_others && $item->isDay(FreshRSS_Days::BEFORE_YESTERDAY, $today)) {
|
|
|
+ if ($display_others && $this->entry->isDay(FreshRSS_Days::BEFORE_YESTERDAY, $today)) {
|
|
|
?><div class="day" id="day_before_yesterday"><?php
|
|
|
echo _t('gen.date.before_yesterday');
|
|
|
?><span class="name"><?php echo FreshRSS_Context::$name; ?></span><?php
|
|
|
?></div><?php
|
|
|
$display_others = false;
|
|
|
}
|
|
|
- ?><div class="flux<?php echo !$item->isRead() ? ' not_read' : ''; ?><?php echo $item->isFavorite() ? ' favorite' : ''; ?>" id="flux_<?php echo $item->id(); ?>">
|
|
|
- <ul class="horizontal-list flux_header"><?php
|
|
|
- if (FreshRSS_Auth::hasAccess()) {
|
|
|
- if ($topline_read) {
|
|
|
- ?><li class="item manage"><?php
|
|
|
- $arUrl = array('c' => 'entry', 'a' => 'read', 'params' => array('id' => $item->id()));
|
|
|
- if ($item->isRead()) {
|
|
|
- $arUrl['params']['is_read'] = 0;
|
|
|
- }
|
|
|
- ?><a class="read" href="<?php echo Minz_Url::display($arUrl); ?>"><?php
|
|
|
- echo _i($item->isRead() ? 'read' : 'unread'); ?></a><?php
|
|
|
- ?></li><?php
|
|
|
- }
|
|
|
- if ($topline_favorite) {
|
|
|
- ?><li class="item manage"><?php
|
|
|
- $arUrl = array('c' => 'entry', 'a' => 'bookmark', 'params' => array('id' => $item->id()));
|
|
|
- if ($item->isFavorite()) {
|
|
|
- $arUrl['params']['is_favorite'] = 0;
|
|
|
- }
|
|
|
- ?><a class="bookmark" href="<?php echo Minz_Url::display($arUrl); ?>"><?php
|
|
|
- echo _i($item->isFavorite() ? 'starred' : 'non-starred'); ?></a><?php
|
|
|
- ?></li><?php
|
|
|
- }
|
|
|
- }
|
|
|
- $feed = FreshRSS_CategoryDAO::findFeed($this->categories, $item->feed()); //We most likely already have the feed object in cache
|
|
|
- if ($feed == null) {
|
|
|
- $feed = $item->feed(true);
|
|
|
- if ($feed == null) {
|
|
|
- $feed = FreshRSS_Feed::example();
|
|
|
- }
|
|
|
- }
|
|
|
- ?><li class="item website"><a href="<?php echo _url('index', 'index', 'get', 'f_' . $feed->id()); ?>"><img class="favicon" src="<?php echo $feed->favicon(); ?>" alt="✇" /> <span><?php echo $feed->name(); ?></span></a></li>
|
|
|
- <li class="item title"><a target="_blank" href="<?php echo $item->link(); ?>"><?php echo $item->title(); ?></a></li>
|
|
|
- <?php if ($topline_date) { ?><li class="item date"><?php echo $item->date(); ?> </li><?php } ?>
|
|
|
- <?php if ($topline_link) { ?><li class="item link"><a target="_blank" href="<?php echo $item->link(); ?>"><?php echo _i('link'); ?></a></li><?php } ?>
|
|
|
- </ul>
|
|
|
+ ?><div class="flux<?php echo !$this->entry->isRead() ? ' not_read' : ''; ?><?php echo $this->entry->isFavorite() ? ' favorite' : ''; ?>" id="flux_<?php echo $this->entry->id(); ?>"><?php
|
|
|
|
|
|
- <div class="flux_content">
|
|
|
+ $this->renderHelper('index/normal/entry_header');
|
|
|
+
|
|
|
+ ?><div class="flux_content">
|
|
|
<div class="content <?php echo $content_width; ?>">
|
|
|
- <h1 class="title"><a target="_blank" href="<?php echo $item->link(); ?>"><?php echo $item->title(); ?></a></h1>
|
|
|
+ <h1 class="title"><a target="_blank" href="<?php echo $this->entry->link(); ?>"><?php echo $this->entry->title(); ?></a></h1>
|
|
|
<?php
|
|
|
- $author = $item->author();
|
|
|
+ $author = $this->entry->author();
|
|
|
echo $author != '' ? '<div class="author">' . _t('gen.short.by_author', $author) . '</div>' : '',
|
|
|
- $lazyload && $hidePosts ? lazyimg($item->content()) : $item->content();
|
|
|
+ $lazyload && $hidePosts ? lazyimg($this->entry->content()) : $this->entry->content();
|
|
|
?>
|
|
|
- </div>
|
|
|
- <ul class="horizontal-list bottom"><?php
|
|
|
- if (FreshRSS_Auth::hasAccess()) {
|
|
|
- if ($bottomline_read) {
|
|
|
- ?><li class="item manage"><?php
|
|
|
- $arUrl = array('c' => 'entry', 'a' => 'read', 'params' => array('id' => $item->id()));
|
|
|
- if ($item->isRead()) {
|
|
|
- $arUrl['params']['is_read'] = 0;
|
|
|
- }
|
|
|
- ?><a class="read" href="<?php echo Minz_Url::display($arUrl); ?>"><?php
|
|
|
- echo _i($item->isRead() ? 'read' : 'unread'); ?></a><?php
|
|
|
- ?></li><?php
|
|
|
- }
|
|
|
- if ($bottomline_favorite) {
|
|
|
- ?><li class="item manage"><?php
|
|
|
- $arUrl = array('c' => 'entry', 'a' => 'bookmark', 'params' => array('id' => $item->id()));
|
|
|
- if ($item->isFavorite()) {
|
|
|
- $arUrl['params']['is_favorite'] = 0;
|
|
|
- }
|
|
|
- ?><a class="bookmark" href="<?php echo Minz_Url::display($arUrl); ?>"><?php
|
|
|
- echo _i($item->isFavorite() ? 'starred' : 'non-starred'); ?></a><?php
|
|
|
- ?></li><?php
|
|
|
- }
|
|
|
- } ?>
|
|
|
- <li class="item"><?php
|
|
|
- if ($bottomline_sharing) {
|
|
|
- ?><div class="dropdown">
|
|
|
- <div id="dropdown-share-<?php echo $item->id();?>" class="dropdown-target"></div>
|
|
|
- <a class="dropdown-toggle" href="#dropdown-share-<?php echo $item->id();?>">
|
|
|
- <?php echo _i('share'); ?>
|
|
|
- <?php echo _t('index.share'); ?>
|
|
|
- </a>
|
|
|
+ </div><?php
|
|
|
|
|
|
- <ul class="dropdown-menu">
|
|
|
- <li class="dropdown-close"><a href="#close">❌</a></li><?php
|
|
|
- $link = $item->link();
|
|
|
- $title = $item->title() . ' · ' . $feed->name();
|
|
|
- foreach (FreshRSS_Context::$user_conf->sharing as $share_options) {
|
|
|
- $share = FreshRSS_Share::get($share_options['type']);
|
|
|
- $share_options['link'] = $link;
|
|
|
- $share_options['title'] = $title;
|
|
|
- $share->update($share_options);
|
|
|
- ?><li class="item share">
|
|
|
- <a target="_blank" href="<?php echo $share->url(); ?>"><?php echo $share->name(); ?></a>
|
|
|
- </li><?php
|
|
|
- }
|
|
|
- ?></ul>
|
|
|
- </div>
|
|
|
- <?php } ?>
|
|
|
- </li><?php
|
|
|
- $tags = $bottomline_tags ? $item->tags() : null;
|
|
|
- if (!empty($tags)) {
|
|
|
- ?><li class="item">
|
|
|
- <div class="dropdown">
|
|
|
- <div id="dropdown-tags-<?php echo $item->id();?>" class="dropdown-target"></div>
|
|
|
- <?php echo _i('tag'); ?>
|
|
|
- <a class="dropdown-toggle" href="#dropdown-tags-<?php echo $item->id();?>"><?php
|
|
|
- echo _t('index.tag.related');
|
|
|
- ?></a>
|
|
|
- <ul class="dropdown-menu">
|
|
|
- <li class="dropdown-close"><a href="#close">❌</a></li><?php
|
|
|
- foreach($tags as $tag) {
|
|
|
- ?><li class="item"><a href="<?php echo _url('index', 'index', 'search', urlencode('#' . $tag)); ?>"><?php echo $tag; ?></a></li><?php
|
|
|
- } ?>
|
|
|
- </ul>
|
|
|
- </div>
|
|
|
- </li><?php
|
|
|
- }
|
|
|
- if ($bottomline_date) {
|
|
|
- ?><li class="item date"><?php echo $item->date(); ?></li><?php
|
|
|
- }
|
|
|
- if ($bottomline_link) {
|
|
|
- ?><li class="item link"><a target="_blank" href="<?php echo $item->link(); ?>"><?php echo _i('link'); ?></a></li><?php
|
|
|
- } ?>
|
|
|
- </ul>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <?php } ?>
|
|
|
+ $this->renderHelper('index/normal/entry_bottom');
|
|
|
|
|
|
- <?php $this->renderHelper('pagination'); ?>
|
|
|
-</div>
|
|
|
+ ?></div>
|
|
|
+ </div><?php
|
|
|
+ }
|
|
|
+
|
|
|
+ $this->renderHelper('pagination');
|
|
|
+?></div>
|
|
|
|
|
|
<?php $this->partial('nav_entries'); ?>
|
|
|
|