aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Offerel <14041522+Offerel@users.noreply.github.com> 2020-01-16 17:11:04 +0100
committerGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2020-01-16 17:11:04 +0100
commit68863fbac8d0f9346eb3de17b079c84d5ead1b6c (patch)
tree62c4e54997b8852a08194ee8cd84b0dee853435d
parentd7ac234036a10f575a902af6fc63bb890f85c7b1 (diff)
Show Favorites as Unread (#2766)
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com> Co-authored-by: Marien Fressinaud <dev@marienfressinaud.fr>
-rwxr-xr-xapp/Controllers/configureController.php1
-rw-r--r--app/Models/ConfigurationSetter.php4
-rw-r--r--app/i18n/cz/conf.php1
-rw-r--r--app/i18n/de/conf.php1
-rw-r--r--app/i18n/en/conf.php1
-rwxr-xr-xapp/i18n/es/conf.php1
-rw-r--r--app/i18n/fr/conf.php1
-rw-r--r--app/i18n/he/conf.php1
-rw-r--r--app/i18n/it/conf.php1
-rw-r--r--app/i18n/kr/conf.php1
-rw-r--r--app/i18n/nl/conf.php1
-rw-r--r--app/i18n/oc/conf.php1
-rw-r--r--app/i18n/pt-br/conf.php1
-rw-r--r--app/i18n/ru/conf.php1
-rw-r--r--app/i18n/sk/conf.php1
-rw-r--r--app/i18n/tr/conf.php1
-rw-r--r--app/i18n/zh-cn/conf.php1
-rw-r--r--app/layout/aside_feed.phtml11
-rw-r--r--app/views/configure/reading.phtml9
-rw-r--r--config-user.default.php1
20 files changed, 40 insertions, 1 deletions
diff --git a/app/Controllers/configureController.php b/app/Controllers/configureController.php
index dcb438587..84ee6057f 100755
--- a/app/Controllers/configureController.php
+++ b/app/Controllers/configureController.php
@@ -105,6 +105,7 @@ class FreshRSS_configure_Controller extends Minz_ActionController {
FreshRSS_Context::$user_conf->posts_per_page = Minz_Request::param('posts_per_page', 10);
FreshRSS_Context::$user_conf->view_mode = Minz_Request::param('view_mode', 'normal');
FreshRSS_Context::$user_conf->default_view = Minz_Request::param('default_view', 'adaptive');
+ FreshRSS_Context::$user_conf->show_fav_unread = Minz_Request::param('show_fav_unread', false);
FreshRSS_Context::$user_conf->auto_load_more = Minz_Request::param('auto_load_more', false);
FreshRSS_Context::$user_conf->display_posts = Minz_Request::param('display_posts', false);
FreshRSS_Context::$user_conf->display_categories = Minz_Request::param('display_categories', false);
diff --git a/app/Models/ConfigurationSetter.php b/app/Models/ConfigurationSetter.php
index b1d271f41..75bbe4c2f 100644
--- a/app/Models/ConfigurationSetter.php
+++ b/app/Models/ConfigurationSetter.php
@@ -178,6 +178,10 @@ class FreshRSS_ConfigurationSetter {
$data['show_nav_buttons'] = $this->handleBool($value);
}
+ private function _show_fav_unread(&$data, $value) {
+ $data['show_fav_unread'] = $this->handleBool($value);
+ }
+
private function _display_categories(&$data, $value) {
$data['display_categories'] = $this->handleBool($value);
}
diff --git a/app/i18n/cz/conf.php b/app/i18n/cz/conf.php
index 08139d244..e04eec8be 100644
--- a/app/i18n/cz/conf.php
+++ b/app/i18n/cz/conf.php
@@ -97,6 +97,7 @@ return array(
),
'reading' => array(
'after_onread' => 'Po “označit vše jako přečtené”,',
+ 'always_show_favorites' => 'Show all articles in favorites by default', // TODO - Translation
'articles_per_page' => 'Počet článků na stranu',
'auto_load_more' => 'Načítat další články dole na stránce',
'auto_remove_article' => 'Po přečtení články schovat',
diff --git a/app/i18n/de/conf.php b/app/i18n/de/conf.php
index 50644098b..dc5dc1228 100644
--- a/app/i18n/de/conf.php
+++ b/app/i18n/de/conf.php
@@ -97,6 +97,7 @@ return array(
),
'reading' => array(
'after_onread' => 'Nach „Alle als gelesen markieren“,',
+ 'always_show_favorites' => 'Show all articles in favorites by default', // TODO - Translation
'articles_per_page' => 'Anzahl der Artikel pro Seite',
'auto_load_more' => 'Die nächsten Artikel am Seitenende laden',
'auto_remove_article' => 'Artikel nach dem Lesen verstecken',
diff --git a/app/i18n/en/conf.php b/app/i18n/en/conf.php
index 581b45e74..a28c6d5d6 100644
--- a/app/i18n/en/conf.php
+++ b/app/i18n/en/conf.php
@@ -97,6 +97,7 @@ return array(
),
'reading' => array(
'after_onread' => 'After “mark all as read”,',
+ 'always_show_favorites' => 'Show all articles in favorites by default',
'articles_per_page' => 'Number of articles per page',
'auto_load_more' => 'Load more articles at the page bottom',
'auto_remove_article' => 'Hide articles after reading',
diff --git a/app/i18n/es/conf.php b/app/i18n/es/conf.php
index 8b61c4d0f..f3fa9954c 100755
--- a/app/i18n/es/conf.php
+++ b/app/i18n/es/conf.php
@@ -97,6 +97,7 @@ return array(
),
'reading' => array(
'after_onread' => 'Tras “marcar todo como leído”,',
+ 'always_show_favorites' => 'Show all articles in favorites by default', // TODO - Translation
'articles_per_page' => 'Número de artículos por página',
'auto_load_more' => 'Cargar más artículos al final de la página',
'auto_remove_article' => 'Ocultar artículos tras la lectura',
diff --git a/app/i18n/fr/conf.php b/app/i18n/fr/conf.php
index ab93b221d..62caa1676 100644
--- a/app/i18n/fr/conf.php
+++ b/app/i18n/fr/conf.php
@@ -97,6 +97,7 @@ return array(
),
'reading' => array(
'after_onread' => 'Après “marquer tout comme lu”,',
+ 'always_show_favorites' => 'Afficher par défaut tous les articles dans les favoris',
'articles_per_page' => 'Nombre d’articles par page',
'auto_load_more' => 'Charger les articles suivants en bas de page',
'auto_remove_article' => 'Cacher les articles après lecture',
diff --git a/app/i18n/he/conf.php b/app/i18n/he/conf.php
index 136f249f0..9d19b2cdc 100644
--- a/app/i18n/he/conf.php
+++ b/app/i18n/he/conf.php
@@ -97,6 +97,7 @@ return array(
),
'reading' => array(
'after_onread' => 'לאחר “סימון הכל כנקרא”,',
+ 'always_show_favorites' => 'Show all articles in favorites by default', // TODO - Translation
'articles_per_page' => 'מספר המאמרים בעמוד',
'auto_load_more' => 'טעינת המאמר הבא סוף העמוד',
'auto_remove_article' => 'Hide articles after reading', // TODO - Translation
diff --git a/app/i18n/it/conf.php b/app/i18n/it/conf.php
index 8e67dd68d..dda4fa870 100644
--- a/app/i18n/it/conf.php
+++ b/app/i18n/it/conf.php
@@ -97,6 +97,7 @@ return array(
),
'reading' => array(
'after_onread' => 'Dopo “segna tutto come letto”,',
+ 'always_show_favorites' => 'Show all articles in favorites by default', // TODO - Translation
'articles_per_page' => 'Numero di articoli per pagina',
'auto_load_more' => 'Carica articoli successivi a fondo pagina',
'auto_remove_article' => 'Nascondi articoli dopo la lettura',
diff --git a/app/i18n/kr/conf.php b/app/i18n/kr/conf.php
index 1a5c41969..60c5851c9 100644
--- a/app/i18n/kr/conf.php
+++ b/app/i18n/kr/conf.php
@@ -97,6 +97,7 @@ return array(
),
'reading' => array(
'after_onread' => '“모두 읽음으로 표시” 후,',
+ 'always_show_favorites' => 'Show all articles in favorites by default', // TODO - Translation
'articles_per_page' => '페이지당 글 수',
'auto_load_more' => '페이지 하단에 다다르면 글 더 불러오기',
'auto_remove_article' => '글을 읽은 후 숨기기',
diff --git a/app/i18n/nl/conf.php b/app/i18n/nl/conf.php
index d6a2a01a3..13603b50b 100644
--- a/app/i18n/nl/conf.php
+++ b/app/i18n/nl/conf.php
@@ -97,6 +97,7 @@ return array(
),
'reading' => array(
'after_onread' => 'Na “markeer alles als gelezen”,',
+ 'always_show_favorites' => 'Show all articles in favorites by default', // TODO - Translation
'articles_per_page' => 'Aantal artikelen per pagina',
'auto_load_more' => 'Laad volgende artikel onderaan de pagina',
'auto_remove_article' => 'Verberg artikel na lezen',
diff --git a/app/i18n/oc/conf.php b/app/i18n/oc/conf.php
index ed0673083..73f7d8013 100644
--- a/app/i18n/oc/conf.php
+++ b/app/i18n/oc/conf.php
@@ -97,6 +97,7 @@ return array(
),
'reading' => array(
'after_onread' => 'Aprèp « marcar coma legit »,',
+ 'always_show_favorites' => 'Show all articles in favorites by default', // TODO - Translation
'articles_per_page' => 'Nombre d’articles per pagina',
'auto_load_more' => 'Cargar los articles seguents enbàs de la pagina',
'auto_remove_article' => 'Rescondre los articles aprèp lectura',
diff --git a/app/i18n/pt-br/conf.php b/app/i18n/pt-br/conf.php
index 3f09e1837..11e98f6d6 100644
--- a/app/i18n/pt-br/conf.php
+++ b/app/i18n/pt-br/conf.php
@@ -97,6 +97,7 @@ return array(
),
'reading' => array(
'after_onread' => 'Depois de "marcar todos como lido",',
+ 'always_show_favorites' => 'Show all articles in favorites by default', // TODO - Translation
'articles_per_page' => 'Número de artigos por página',
'auto_load_more' => 'Carregar mais artigos no final da página',
'auto_remove_article' => 'Esconder artigos depois de lidos',
diff --git a/app/i18n/ru/conf.php b/app/i18n/ru/conf.php
index 919966c35..33d861316 100644
--- a/app/i18n/ru/conf.php
+++ b/app/i18n/ru/conf.php
@@ -97,6 +97,7 @@ return array(
),
'reading' => array(
'after_onread' => 'After “mark all as read”,', // TODO - Translation
+ 'always_show_favorites' => 'Show all articles in favorites by default', // TODO - Translation
'articles_per_page' => 'Number of articles per page', // TODO - Translation
'auto_load_more' => 'Load next articles at the page bottom',
'auto_remove_article' => 'Hide articles after reading', // TODO - Translation
diff --git a/app/i18n/sk/conf.php b/app/i18n/sk/conf.php
index 0f758424b..99c821d9f 100644
--- a/app/i18n/sk/conf.php
+++ b/app/i18n/sk/conf.php
@@ -97,6 +97,7 @@ return array(
),
'reading' => array(
'after_onread' => 'Po “Označiť všetko ako prečítané”,',
+ 'always_show_favorites' => 'Show all articles in favorites by default', // TODO - Translation
'articles_per_page' => 'Počet článkov na jednu stranu',
'auto_load_more' => 'Načítať ďalšie články dolu na stránke',
'auto_remove_article' => 'Skryť články po prečítaní',
diff --git a/app/i18n/tr/conf.php b/app/i18n/tr/conf.php
index f6dcb5a23..b1f6580b1 100644
--- a/app/i18n/tr/conf.php
+++ b/app/i18n/tr/conf.php
@@ -97,6 +97,7 @@ return array(
),
'reading' => array(
'after_onread' => '"Hepsini okundu say" dedinten sonra,',
+ 'always_show_favorites' => 'Show all articles in favorites by default', // TODO - Translation
'articles_per_page' => 'Sayfa başına makale sayısı',
'auto_load_more' => 'Sayfa sonunda yeni makaleleri yükle',
'auto_remove_article' => 'Okuduktan sonra makaleleri gizle',
diff --git a/app/i18n/zh-cn/conf.php b/app/i18n/zh-cn/conf.php
index 2f9ee121c..f902ec196 100644
--- a/app/i18n/zh-cn/conf.php
+++ b/app/i18n/zh-cn/conf.php
@@ -97,6 +97,7 @@ return array(
),
'reading' => array(
'after_onread' => '「全部标记为已读」后',
+ 'always_show_favorites' => 'Show all articles in favorites by default', // TODO - Translation
'articles_per_page' => '每页文章数',
'auto_load_more' => '在页面底部载入下一篇文章',
'auto_remove_article' => '阅读后隐藏文章',
diff --git a/app/layout/aside_feed.phtml b/app/layout/aside_feed.phtml
index e0c90282f..cdc8b8e16 100644
--- a/app/layout/aside_feed.phtml
+++ b/app/layout/aside_feed.phtml
@@ -31,7 +31,16 @@
<li class="tree-folder category favorites<?= FreshRSS_Context::isCurrentGet('s') ? ' active' : '' ?>">
<div class="tree-folder-title">
- <?= _i('bookmark') ?> <a class="title" data-unread="<?= format_number(FreshRSS_Context::$total_starred['unread']) ?>" href="<?= _url('index', $actual_view, 'get', 's') ?>"><?= _t('index.menu.favorites', format_number(FreshRSS_Context::$total_starred['all'])) ?></a>
+ <?php
+ $url_starred = _url('index', $actual_view, 'get', 's');
+ if (FreshRSS_Context::$user_conf->show_fav_unread) {
+ $url_starred = $url_starred . '&state=3';
+ }
+ ?>
+ <?= _i('bookmark') ?>
+ <a class="title" data-unread="<?= format_number(FreshRSS_Context::$total_starred['unread']) ?>" href="<?= $url_starred ?>">
+ <?= _t('index.menu.favorites', format_number(FreshRSS_Context::$total_starred['all'])) ?>
+ </a>
</div>
</li>
diff --git a/app/views/configure/reading.phtml b/app/views/configure/reading.phtml
index ad1f31451..5eb009a1d 100644
--- a/app/views/configure/reading.phtml
+++ b/app/views/configure/reading.phtml
@@ -49,6 +49,15 @@
<div class="form-group">
<div class="group-controls">
+ <label class="checkbox" for="show_fav_unread">
+ <input type="checkbox" name="show_fav_unread" id="show_fav_unread" value="1"<?= FreshRSS_Context::$user_conf->show_fav_unread ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->show_fav_unread ?>"/>
+ <?= _t('conf.reading.always_show_favorites') ?>
+ </label>
+ </div>
+ </div>
+
+ <div class="form-group">
+ <div class="group-controls">
<label class="checkbox" for="hide_read_feeds">
<input type="checkbox" name="hide_read_feeds" id="hide_read_feeds" value="1"<?= FreshRSS_Context::$user_conf->hide_read_feeds ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->hide_read_feeds ?>"/>
<?= _t('conf.reading.hide_read_feeds') ?>
diff --git a/config-user.default.php b/config-user.default.php
index 27f330c82..3028b709a 100644
--- a/config-user.default.php
+++ b/config-user.default.php
@@ -29,6 +29,7 @@ return array (
'view_mode' => 'normal',
'default_view' => 'adaptive',
'default_state' => FreshRSS_Entry::STATE_NOT_READ,
+ 'show_fav_unread' => false,
'auto_load_more' => true,
'display_posts' => false,
'display_categories' => false,