From cc0db9af4f980829faa4bf0960617807b32fb4fa Mon Sep 17 00:00:00 2001 From: Alexis Degrugillier Date: Wed, 23 Oct 2019 00:52:15 +0200 Subject: Feature/new archiving (#2335) * Change archiving config page layout I've changed some wording and moved actions into a maintenance section. * Update purge action Now we have more control on the purge action. The configuration allows us to choose what to keep and what to discard in a more precise way. At the moment, the configuration applies for all feeds. * Add purge configuration on feed level Now the extend purge configuration is available on feed level. It is stored as attributes and will be used in the purge action. * Update purge action Now the purge action uses the feed configuration if it exists and defaults on user configuration if not. * Add empty option in period list * Fix configuration warnings * Add archiving configuration on categories See #2369 * Add user info back * Add explanations in UI * Fixes for SQLite + error + misc. * Fix invalid feed reference * Short array syntax Only for new code, so far * Fix prefix error * Query performance, default values Work in progress * Fix default values and confirm before leaving Form cancel and confirm changes before leaving were broken. And start taking advantage of the short echo syntax `` as we have moved to PHP 5.4+ * More work * Tuning SQL * Fix MariaDB + performance issue * SQL performance * Fix SQLite bug * Fix some attributes JSON encoding bugs Especially for SQLite export/import * More uniform, fix bugs More uniform between global, category, feed settings * Drop special cases for old articles during refresh Instead will use lastSeen date with the new archiving logic. This was generating problems anyway https://github.com/FreshRSS/FreshRSS/issues/2154 * Draft drop index keep_history Not needed anymore * MySQL typo Now properly tested with MySQL, PostgreSQL, SQLite * More work for legacy values Important to avoid overriding user's preference and risking deleting data erroneously * Fix PHP 7.3 / 7.4 warnings @aledeg "Trying to use values of type null, bool, int, float or resource as an array (such as $null["key"]) will now generate a notice. " https://php.net/migration74.incompatible * Reintroduce min articles and take care of legacy parameters * A few changes forgotten * Draft of migration + DROP of feed.keep_history * Fix several errors And give up using const for SQL to allow multiple database types (and we cannot redefine a const) * Add keep_min to categories + factorise archiving logic * Legacy fix * Fix bug yield from * Minor: Use JSON_UNESCAPED_SLASHE for attributes And make more uniform * Fix sign and missing variable * Fine tune the logic --- app/i18n/pt-br/sub.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'app/i18n/pt-br/sub.php') diff --git a/app/i18n/pt-br/sub.php b/app/i18n/pt-br/sub.php index d4bea33c4..c4c28bd6c 100644 --- a/app/i18n/pt-br/sub.php +++ b/app/i18n/pt-br/sub.php @@ -13,6 +13,7 @@ return array( 'category' => array( '_' => 'Categoria', 'add' => 'Adicionar uma categoria', + 'archiving' => 'Arquivar', 'empty' => 'Categoria vazia', 'information' => 'Informações', 'new' => 'Nova categoria', @@ -40,7 +41,7 @@ return array( 'help' => 'Write one search filter per line.', //TODO - Translation ), 'information' => 'Informações', - 'keep_history' => 'Número mínimo de artigos para manter', + 'keep_min' => 'Número mínimo de artigos para manter', 'moved_category_deleted' => 'Quando você deleta uma categoria, seus feeds são automaticamente classificados como %s.', 'mute' => 'mute', //TODO - Translation 'no_selected' => 'Nenhum feed selecionado.', -- cgit v1.2.3 From f6e10579f2e78dc6403141351e41e2db9a2b6e97 Mon Sep 17 00:00:00 2001 From: Alexis Degrugillier Date: Sat, 26 Oct 2019 13:16:15 +0200 Subject: Add category order (#2592) * Add category order Each category has a new 'priority' attribute. It is used to sort categories in views. Categories with the same priority are sorted alphabetically. Categories with no priority are displayed after those with one. For example, if we have the following categories: - A (priority: 2) - B (no priority) - C (priority: 1) - D (priority: 2) - E (no priority) - F (priority: 1) They will be displayed in the following order: - C - F - A - D - B - E See #190 * Shorten help text It took too much room and will not be so necessary once we have drag & drop --- app/Controllers/indexController.php | 2 +- app/Controllers/subscriptionController.php | 5 ++++- app/Models/Category.php | 4 ++-- app/Models/CategoryDAO.php | 25 +++++++++++++++++++++++++ app/i18n/cz/sub.php | 2 ++ app/i18n/de/sub.php | 2 ++ app/i18n/en/sub.php | 2 ++ app/i18n/es/sub.php | 2 ++ app/i18n/fr/sub.php | 2 ++ app/i18n/he/sub.php | 2 ++ app/i18n/it/sub.php | 2 ++ app/i18n/kr/sub.php | 2 ++ app/i18n/nl/sub.php | 2 ++ app/i18n/oc/sub.php | 2 ++ app/i18n/pt-br/sub.php | 2 ++ app/i18n/ru/sub.php | 2 ++ app/i18n/sk/sub.php | 2 ++ app/i18n/tr/sub.php | 2 ++ app/i18n/zh-cn/sub.php | 2 ++ app/layout/aside_feed.phtml | 3 ++- app/views/helpers/category/update.phtml | 7 +++++++ 21 files changed, 71 insertions(+), 5 deletions(-) (limited to 'app/i18n/pt-br/sub.php') diff --git a/app/Controllers/indexController.php b/app/Controllers/indexController.php index 2d791ce1d..967029fd1 100755 --- a/app/Controllers/indexController.php +++ b/app/Controllers/indexController.php @@ -173,7 +173,7 @@ class FreshRSS_index_Controller extends Minz_ActionController { private function updateContext() { if (empty(FreshRSS_Context::$categories)) { $catDAO = FreshRSS_Factory::createCategoryDao(); - FreshRSS_Context::$categories = $catDAO->listCategories(); + FreshRSS_Context::$categories = $catDAO->listSortedCategories(); } // Update number of read / unread variables. diff --git a/app/Controllers/subscriptionController.php b/app/Controllers/subscriptionController.php index f9497f0be..b4520c8e6 100644 --- a/app/Controllers/subscriptionController.php +++ b/app/Controllers/subscriptionController.php @@ -19,7 +19,7 @@ class FreshRSS_subscription_Controller extends Minz_ActionController { $catDAO->checkDefault(); $feedDAO->updateTTL(); - $this->view->categories = $catDAO->listCategories(false); + $this->view->categories = $catDAO->listSortedCategories(false); $this->view->default_category = $catDAO->getDefault(); } @@ -216,6 +216,9 @@ class FreshRSS_subscription_Controller extends Minz_ActionController { ]); } + $position = Minz_Request::param('position'); + $category->_attributes('position', '' === $position ? null : (int) $position); + $values = [ 'name' => Minz_Request::param('name', ''), 'attributes' => $category->attributes(), diff --git a/app/Models/Category.php b/app/Models/Category.php index a0ee1ddaa..a195c88b3 100644 --- a/app/Models/Category.php +++ b/app/Models/Category.php @@ -98,14 +98,14 @@ class FreshRSS_Category extends Minz_Model { } public function _attributes($key, $value) { - if ($key == '') { + if ('' == $key) { if (is_string($value)) { $value = json_decode($value, true); } if (is_array($value)) { $this->attributes = $value; } - } elseif ($value === null) { + } elseif (null === $value) { unset($this->attributes[$key]); } else { $this->attributes[$key] = $value; diff --git a/app/Models/CategoryDAO.php b/app/Models/CategoryDAO.php index 210830640..a0eda89e7 100644 --- a/app/Models/CategoryDAO.php +++ b/app/Models/CategoryDAO.php @@ -201,6 +201,29 @@ class FreshRSS_CategoryDAO extends Minz_ModelPdo implements FreshRSS_Searchable } } + public function listSortedCategories($prePopulateFeeds = true, $details = false) { + $categories = $this->listCategories($prePopulateFeeds, $details); + + if (!is_array($categories)) { + return $categories; + } + + usort($categories, function ($a, $b) { + $aPosition = $a->attributes('position'); + $bPosition = $b->attributes('position'); + if ($aPosition === $bPosition) { + return ($a->name() < $b->name()) ? -1 : 1; + } elseif (null === $aPosition) { + return 1; + } elseif (null === $bPosition) { + return -1; + } + return ($aPosition < $bPosition) ? -1 : 1; + }); + + return $categories; + } + public function listCategories($prePopulateFeeds = true, $details = false) { if ($prePopulateFeeds) { $sql = 'SELECT c.id AS c_id, c.name AS c_name, c.attributes AS c_attributes, ' @@ -343,6 +366,7 @@ class FreshRSS_CategoryDAO extends Minz_ModelPdo implements FreshRSS_Searchable $feedDao->daoToFeed($feedsDao, $previousLine['c_id']) ); $cat->_id($previousLine['c_id']); + $cat->_attributes('', $previousLine['c_attributes']); $list[$previousLine['c_id']] = $cat; $feedsDao = array(); //Prepare for next category @@ -359,6 +383,7 @@ class FreshRSS_CategoryDAO extends Minz_ModelPdo implements FreshRSS_Searchable $feedDao->daoToFeed($feedsDao, $previousLine['c_id']) ); $cat->_id($previousLine['c_id']); + $cat->_attributes('', $previousLine['c_attributes']); $list[$previousLine['c_id']] = $cat; } diff --git a/app/i18n/cz/sub.php b/app/i18n/cz/sub.php index eaaff9acd..fefc05699 100644 --- a/app/i18n/cz/sub.php +++ b/app/i18n/cz/sub.php @@ -17,6 +17,8 @@ return array( 'empty' => 'Vyprázdit kategorii', 'information' => 'Informace', 'new' => 'Nová kategorie', + 'position' => 'Display position', //TODO - Translation + 'position_help' => 'To control category sort order', //TODO - Translation 'title' => 'Název', ), 'feed' => array( diff --git a/app/i18n/de/sub.php b/app/i18n/de/sub.php index 1227b5559..6feb1d6e1 100644 --- a/app/i18n/de/sub.php +++ b/app/i18n/de/sub.php @@ -17,6 +17,8 @@ return array( 'empty' => 'Leere Kategorie', 'information' => 'Information', 'new' => 'Neue Kategorie', + 'position' => 'Display position', //TODO - Translation + 'position_help' => 'To control category sort order', //TODO - Translation 'title' => 'Titel', ), 'feed' => array( diff --git a/app/i18n/en/sub.php b/app/i18n/en/sub.php index 04ca793ec..765cbf964 100644 --- a/app/i18n/en/sub.php +++ b/app/i18n/en/sub.php @@ -17,6 +17,8 @@ return array( 'empty' => 'Empty category', 'information' => 'Information', 'new' => 'New category', + 'position' => 'Display position', + 'position_help' => 'To control category sort order', 'title' => 'Title', ), 'feed' => array( diff --git a/app/i18n/es/sub.php b/app/i18n/es/sub.php index 96be76c6c..f2986ee5d 100755 --- a/app/i18n/es/sub.php +++ b/app/i18n/es/sub.php @@ -17,6 +17,8 @@ return array( 'empty' => 'Vaciar categoría', 'information' => 'Información', 'new' => 'Nueva categoría', + 'position' => 'Display position', //TODO - Translation + 'position_help' => 'To control category sort order', //TODO - Translation 'title' => 'Título', ), 'feed' => array( diff --git a/app/i18n/fr/sub.php b/app/i18n/fr/sub.php index d09a19e5a..ff0d72a11 100644 --- a/app/i18n/fr/sub.php +++ b/app/i18n/fr/sub.php @@ -17,6 +17,8 @@ return array( 'empty' => 'Catégorie vide', 'information' => 'Informations', 'new' => 'Nouvelle catégorie', + 'position' => 'Position d’affichage', + 'position_help' => 'Pour contrôler l’ordre de tri des catégories', 'title' => 'Titre', ), 'feed' => array( diff --git a/app/i18n/he/sub.php b/app/i18n/he/sub.php index 15965d9e2..2b806f6ff 100644 --- a/app/i18n/he/sub.php +++ b/app/i18n/he/sub.php @@ -17,6 +17,8 @@ return array( 'empty' => 'Empty category', //TODO - Translation 'information' => 'מידע', 'new' => 'קטגוריה חדשה', + 'position' => 'Display position', //TODO - Translation + 'position_help' => 'To control category sort order', //TODO - Translation 'title' => 'כותרת', ), 'feed' => array( diff --git a/app/i18n/it/sub.php b/app/i18n/it/sub.php index 22cd36986..400a0d259 100644 --- a/app/i18n/it/sub.php +++ b/app/i18n/it/sub.php @@ -17,6 +17,8 @@ return array( 'empty' => 'Categoria vuota', 'information' => 'Informazioni', 'new' => 'Nuova categoria', + 'position' => 'Display position', //TODO - Translation + 'position_help' => 'To control category sort order', //TODO - Translation 'title' => 'Titolo', ), 'feed' => array( diff --git a/app/i18n/kr/sub.php b/app/i18n/kr/sub.php index 2586395f2..eba732e22 100644 --- a/app/i18n/kr/sub.php +++ b/app/i18n/kr/sub.php @@ -17,6 +17,8 @@ return array( 'empty' => '빈 카테고리', 'information' => '정보', 'new' => '새 카테고리', + 'position' => 'Display position', //TODO - Translation + 'position_help' => 'To control category sort order', //TODO - Translation 'title' => '제목', ), 'feed' => array( diff --git a/app/i18n/nl/sub.php b/app/i18n/nl/sub.php index 6b498132f..e4a0c7fdf 100644 --- a/app/i18n/nl/sub.php +++ b/app/i18n/nl/sub.php @@ -17,6 +17,8 @@ return array( 'empty' => 'Lege categorie', 'information' => 'Informatie', 'new' => 'Nieuwe categorie', + 'position' => 'Display position', //TODO - Translation + 'position_help' => 'To control category sort order', //TODO - Translation 'title' => 'Titel', ), 'feed' => array( diff --git a/app/i18n/oc/sub.php b/app/i18n/oc/sub.php index 0f465d7ca..ad3a10935 100644 --- a/app/i18n/oc/sub.php +++ b/app/i18n/oc/sub.php @@ -16,6 +16,8 @@ return array( 'empty' => 'Categoria voida', 'information' => 'Informacions', 'new' => 'Nòva categoria', + 'position' => 'Display position', //TODO - Translation + 'position_help' => 'To control category sort order', //TODO - Translation 'title' => 'Títol', ), 'feed' => array( diff --git a/app/i18n/pt-br/sub.php b/app/i18n/pt-br/sub.php index c4c28bd6c..08ffc9a40 100644 --- a/app/i18n/pt-br/sub.php +++ b/app/i18n/pt-br/sub.php @@ -17,6 +17,8 @@ return array( 'empty' => 'Categoria vazia', 'information' => 'Informações', 'new' => 'Nova categoria', + 'position' => 'Display position', //TODO - Translation + 'position_help' => 'To control category sort order', //TODO - Translation 'title' => 'Título', ), 'feed' => array( diff --git a/app/i18n/ru/sub.php b/app/i18n/ru/sub.php index f4bda385d..47c7846e8 100644 --- a/app/i18n/ru/sub.php +++ b/app/i18n/ru/sub.php @@ -17,6 +17,8 @@ return array( 'empty' => 'Empty category', //TODO - Translation 'information' => 'Information', //TODO - Translation 'new' => 'New category', //TODO - Translation + 'position' => 'Display position', //TODO - Translation + 'position_help' => 'To control category sort order', //TODO - Translation 'title' => 'Title', //TODO - Translation ), 'feed' => array( diff --git a/app/i18n/sk/sub.php b/app/i18n/sk/sub.php index 2167e1817..971cfb683 100644 --- a/app/i18n/sk/sub.php +++ b/app/i18n/sk/sub.php @@ -16,6 +16,8 @@ return array( 'empty' => 'Prázdna kategória', 'information' => 'Informácia', 'new' => 'Nová kategória', + 'position' => 'Display position', //TODO - Translation + 'position_help' => 'To control category sort order', //TODO - Translation 'title' => 'Názov', ), 'feed' => array( diff --git a/app/i18n/tr/sub.php b/app/i18n/tr/sub.php index f6f40d3f7..45b84fe89 100644 --- a/app/i18n/tr/sub.php +++ b/app/i18n/tr/sub.php @@ -17,6 +17,8 @@ return array( 'empty' => 'Boş kategori', 'information' => 'Bilgi', 'new' => 'Yeni kategori', + 'position' => 'Display position', //TODO - Translation + 'position_help' => 'To control category sort order', //TODO - Translation 'title' => 'Başlık', ), 'feed' => array( diff --git a/app/i18n/zh-cn/sub.php b/app/i18n/zh-cn/sub.php index f6f3a0f7a..bd00bacc6 100644 --- a/app/i18n/zh-cn/sub.php +++ b/app/i18n/zh-cn/sub.php @@ -17,6 +17,8 @@ return array( 'empty' => '空分类', 'information' => '信息', 'new' => '新分类', + 'position' => 'Display position', //TODO - Translation + 'position_help' => 'To control category sort order', //TODO - Translation 'title' => '标题', ), 'feed' => array( diff --git a/app/layout/aside_feed.phtml b/app/layout/aside_feed.phtml index 4d5682001..e0c90282f 100644 --- a/app/layout/aside_feed.phtml +++ b/app/layout/aside_feed.phtml @@ -63,11 +63,12 @@ categories as $cat) { $feeds = $cat->feeds(); + $position = $cat->attributes('position'); if (!empty($feeds)) { $c_active = FreshRSS_Context::isCurrentGet('c_' . $cat->id()); $c_show = $c_active || FreshRSS_Context::$user_conf->display_categories; ?> -
  • +
  • data-unread="nbNotRead() ?>">
    name() ?> diff --git a/app/views/helpers/category/update.phtml b/app/views/helpers/category/update.phtml index 6a4c041ba..9e55e613d 100644 --- a/app/views/helpers/category/update.phtml +++ b/app/views/helpers/category/update.phtml @@ -17,6 +17,13 @@ ?> />
    +
    + +
    + + +
    +
    -- cgit v1.2.3 From 571fb31af819ad2c53ee9cabccc0eeb62b915ae9 Mon Sep 17 00:00:00 2001 From: Alexis Degrugillier Date: Sun, 27 Oct 2019 17:34:55 +0100 Subject: Add a warning message for Firefox user (#2606) From version 63 and onwards, Firefox has removed the ability to add subscription services. This is a warning for deprecation on the subscription tools page. See #2100 --- app/i18n/cz/sub.php | 1 + app/i18n/de/sub.php | 1 + app/i18n/en/sub.php | 1 + app/i18n/es/sub.php | 1 + app/i18n/fr/sub.php | 1 + app/i18n/he/sub.php | 1 + app/i18n/it/sub.php | 1 + app/i18n/kr/sub.php | 1 + app/i18n/nl/sub.php | 1 + app/i18n/oc/sub.php | 1 + app/i18n/pt-br/sub.php | 5 +++++ app/i18n/ru/sub.php | 1 + app/i18n/sk/sub.php | 1 + app/i18n/tr/sub.php | 1 + app/i18n/zh-cn/sub.php | 1 + app/views/subscription/bookmarklet.phtml | 3 +++ 16 files changed, 22 insertions(+) (limited to 'app/i18n/pt-br/sub.php') diff --git a/app/i18n/cz/sub.php b/app/i18n/cz/sub.php index fefc05699..f2c259d15 100644 --- a/app/i18n/cz/sub.php +++ b/app/i18n/cz/sub.php @@ -75,6 +75,7 @@ return array( ), 'firefox' => array( 'documentation' => 'Follow the steps described here to add FreshRSS to Firefox feed reader list.',// TODO + 'obsolete_63' => 'From version 63 and onwards, Firefox has removed the ability to add your own subscription services that are not standalone programs.', //TODO - Translation 'title' => 'Firefox feed reader', //TODO - Translation ), 'import_export' => array( diff --git a/app/i18n/de/sub.php b/app/i18n/de/sub.php index 6feb1d6e1..754ac0866 100644 --- a/app/i18n/de/sub.php +++ b/app/i18n/de/sub.php @@ -75,6 +75,7 @@ return array( ), 'firefox' => array( 'documentation' => 'Folge den hier beschriebenen Schritten um FreshRSS zu Deiner Firefox RSS-Reader Liste hinzuzufügen.', + 'obsolete_63' => 'From version 63 and onwards, Firefox has removed the ability to add your own subscription services that are not standalone programs.', //TODO - Translation 'title' => 'Firefox RSS-Reader', ), 'import_export' => array( diff --git a/app/i18n/en/sub.php b/app/i18n/en/sub.php index 765cbf964..252177940 100644 --- a/app/i18n/en/sub.php +++ b/app/i18n/en/sub.php @@ -75,6 +75,7 @@ return array( ), 'firefox' => array( 'documentation' => 'Follow the steps described here to add FreshRSS to Firefox feed reader list.', + 'obsolete_63' => 'From version 63 and onwards, Firefox has removed the ability to add your own subscription services that are not standalone programs.', 'title' => 'Firefox feed reader', ), 'import_export' => array( diff --git a/app/i18n/es/sub.php b/app/i18n/es/sub.php index f2986ee5d..f1640b76b 100755 --- a/app/i18n/es/sub.php +++ b/app/i18n/es/sub.php @@ -75,6 +75,7 @@ return array( ), 'firefox' => array( 'documentation' => 'Follow the steps described here to add FreshRSS to Firefox feed reader list.', //TODO - Translation + 'obsolete_63' => 'From version 63 and onwards, Firefox has removed the ability to add your own subscription services that are not standalone programs.', //TODO - Translation 'title' => 'Firefox feed reader', //TODO - Translation ), 'import_export' => array( diff --git a/app/i18n/fr/sub.php b/app/i18n/fr/sub.php index ff0d72a11..e12444315 100644 --- a/app/i18n/fr/sub.php +++ b/app/i18n/fr/sub.php @@ -75,6 +75,7 @@ return array( ), 'firefox' => array( 'documentation' => 'Suivre les étapes décrites ici pour ajouter FreshRSS à la liste des lecteurs de flux dans Firefox.', + 'obsolete_63' => 'À partir de la version 63, Firefox ne supporte plus l’ajout de services d’abonnements.', 'title' => 'Lecteur de flux dans Firefox', ), 'import_export' => array( diff --git a/app/i18n/he/sub.php b/app/i18n/he/sub.php index 2b806f6ff..3fd0f267a 100644 --- a/app/i18n/he/sub.php +++ b/app/i18n/he/sub.php @@ -75,6 +75,7 @@ return array( ), 'firefox' => array( 'documentation' => 'Follow the steps described here to add FreshRSS to Firefox feed reader list.', //TODO - Translation + 'obsolete_63' => 'From version 63 and onwards, Firefox has removed the ability to add your own subscription services that are not standalone programs.', //TODO - Translation 'title' => 'Firefox feed reader', //TODO - Translation ), 'import_export' => array( diff --git a/app/i18n/it/sub.php b/app/i18n/it/sub.php index 400a0d259..78db7b0a6 100644 --- a/app/i18n/it/sub.php +++ b/app/i18n/it/sub.php @@ -75,6 +75,7 @@ return array( ), 'firefox' => array( 'documentation' => 'Follow the steps described here to add FreshRSS to Firefox feed reader list.', //TODO - Translation + 'obsolete_63' => 'From version 63 and onwards, Firefox has removed the ability to add your own subscription services that are not standalone programs.', //TODO - Translation 'title' => 'Firefox feed reader', //TODO - Translation ), 'import_export' => array( diff --git a/app/i18n/kr/sub.php b/app/i18n/kr/sub.php index eba732e22..ac45e4e73 100644 --- a/app/i18n/kr/sub.php +++ b/app/i18n/kr/sub.php @@ -75,6 +75,7 @@ return array( ), 'firefox' => array( 'documentation' => 'FreshRSS를 Firefox 피드 리더에 추가하기 위해서는 여기의 설명을 따르세요.', + 'obsolete_63' => 'From version 63 and onwards, Firefox has removed the ability to add your own subscription services that are not standalone programs.', //TODO - Translation 'title' => 'Firefox 피드 리더', ), 'import_export' => array( diff --git a/app/i18n/nl/sub.php b/app/i18n/nl/sub.php index e4a0c7fdf..690d8fad8 100644 --- a/app/i18n/nl/sub.php +++ b/app/i18n/nl/sub.php @@ -75,6 +75,7 @@ return array( ), 'firefox' => array( 'documentation' => 'Volg de stappen die hier beschreven worden om FreshRSS aan de Firefox-nieuwslezerlijst toe te voegen.', + 'obsolete_63' => 'From version 63 and onwards, Firefox has removed the ability to add your own subscription services that are not standalone programs.', //TODO - Translation 'title' => 'Firefox-nieuwslezer', ), 'import_export' => array( diff --git a/app/i18n/oc/sub.php b/app/i18n/oc/sub.php index f9081dbe5..32aff192d 100644 --- a/app/i18n/oc/sub.php +++ b/app/i18n/oc/sub.php @@ -74,6 +74,7 @@ return array( ), 'firefox' => array( 'documentation' => 'Seguissètz las etapas descrichas aquí per ajustar FreshRSS a la lista dels lectors de flux de Firefox.', + 'obsolete_63' => 'From version 63 and onwards, Firefox has removed the ability to add your own subscription services that are not standalone programs.', //TODO - Translation 'title' => 'Lector de flux de Firefox', ), 'import_export' => array( diff --git a/app/i18n/pt-br/sub.php b/app/i18n/pt-br/sub.php index 08ffc9a40..04e0c85ab 100644 --- a/app/i18n/pt-br/sub.php +++ b/app/i18n/pt-br/sub.php @@ -73,6 +73,11 @@ return array( 'validator' => 'Verifique a validade do feed', 'website' => 'URL do site', ), + 'firefox' => array( + 'documentation' => 'Follow the steps described here to add FreshRSS to Firefox feed reader list.',// TODO + 'obsolete_63' => 'From version 63 and onwards, Firefox has removed the ability to add your own subscription services that are not standalone programs.', //TODO - Translation + 'title' => 'Firefox feed reader', //TODO - Translation + ), 'import_export' => array( 'export' => 'Exportar', 'export_opml' => 'Exporta a lista dos feeds (OPML)', diff --git a/app/i18n/ru/sub.php b/app/i18n/ru/sub.php index 47c7846e8..e8cdeb89d 100644 --- a/app/i18n/ru/sub.php +++ b/app/i18n/ru/sub.php @@ -75,6 +75,7 @@ return array( ), 'firefox' => array( 'documentation' => 'Follow the steps described here to add FreshRSS to Firefox feed reader list.', //TODO - Translation + 'obsolete_63' => 'From version 63 and onwards, Firefox has removed the ability to add your own subscription services that are not standalone programs.', //TODO - Translation 'title' => 'Firefox feed reader', //TODO - Translation ), 'import_export' => array( diff --git a/app/i18n/sk/sub.php b/app/i18n/sk/sub.php index 971cfb683..3149c370b 100644 --- a/app/i18n/sk/sub.php +++ b/app/i18n/sk/sub.php @@ -74,6 +74,7 @@ return array( ), 'firefox' => array( 'documentation' => 'Pridajte RSS kanály do Firefoxu pomocou tohto návodu.', + 'obsolete_63' => 'From version 63 and onwards, Firefox has removed the ability to add your own subscription services that are not standalone programs.', //TODO - Translation 'title' => 'RSS čítačka vo Firefoxe', ), 'import_export' => array( diff --git a/app/i18n/tr/sub.php b/app/i18n/tr/sub.php index 45b84fe89..ed2a7ce76 100644 --- a/app/i18n/tr/sub.php +++ b/app/i18n/tr/sub.php @@ -75,6 +75,7 @@ return array( ), 'firefox' => array( 'documentation' => 'Follow the steps described here to add FreshRSS to Firefox feed reader list.', //TODO - Translation + 'obsolete_63' => 'From version 63 and onwards, Firefox has removed the ability to add your own subscription services that are not standalone programs.', //TODO - Translation 'title' => 'Firefox feed reader', //TODO - Translation ), 'import_export' => array( diff --git a/app/i18n/zh-cn/sub.php b/app/i18n/zh-cn/sub.php index bd00bacc6..944d6986f 100644 --- a/app/i18n/zh-cn/sub.php +++ b/app/i18n/zh-cn/sub.php @@ -75,6 +75,7 @@ return array( ), 'firefox' => array( 'documentation' => '按照 这里 描述的步骤可将 FreshRSS 添加到 Firefox 阅读器列表', + 'obsolete_63' => 'From version 63 and onwards, Firefox has removed the ability to add your own subscription services that are not standalone programs.', //TODO - Translation 'title' => 'Firefox RSS 阅读器', ), 'import_export' => array( diff --git a/app/views/subscription/bookmarklet.phtml b/app/views/subscription/bookmarklet.phtml index 385ce8cea..e6f311f58 100644 --- a/app/views/subscription/bookmarklet.phtml +++ b/app/views/subscription/bookmarklet.phtml @@ -8,6 +8,9 @@ +

    + default_category->name()) ?> +

    browser.contentHandlers.types.number.uri →  'feed', 'a' => 'add'), 'html', true) ?>&url_rss=%s
    -- cgit v1.2.3