From 0ec65788f9a2fb3ab389d22c723e6b36d798a806 Mon Sep 17 00:00:00 2001 From: Roman D Date: Sat, 20 Aug 2022 13:06:24 +0300 Subject: Implemented advanced feed settings to allow cookies and HTTP redirects. (#4470) * Implemented advanced feed settings to allow cookies and HTTP redirects. * i18n fr Co-authored-by: Alexandre Alapetite --- app/Controllers/feedController.php | 15 +++++++++++++++ app/Controllers/subscriptionController.php | 11 +++++++++++ app/i18n/cz/sub.php | 4 ++++ app/i18n/de/sub.php | 4 ++++ app/i18n/en-us/sub.php | 4 ++++ app/i18n/en/sub.php | 4 ++++ app/i18n/es/sub.php | 4 ++++ app/i18n/fr/sub.php | 4 ++++ app/i18n/he/sub.php | 4 ++++ app/i18n/it/sub.php | 4 ++++ app/i18n/ja/sub.php | 4 ++++ app/i18n/ko/sub.php | 4 ++++ app/i18n/nl/sub.php | 4 ++++ app/i18n/oc/sub.php | 4 ++++ app/i18n/pl/sub.php | 4 ++++ app/i18n/pt-br/sub.php | 4 ++++ app/i18n/ru/sub.php | 4 ++++ app/i18n/sk/sub.php | 4 ++++ app/i18n/tr/sub.php | 4 ++++ app/i18n/zh-cn/sub.php | 4 ++++ app/views/helpers/feed/update.phtml | 19 +++++++++++++++++++ app/views/subscription/add.phtml | 21 +++++++++++++++++++++ 22 files changed, 138 insertions(+) (limited to 'app') diff --git a/app/Controllers/feedController.php b/app/Controllers/feedController.php index 95bca33eb..00759bd18 100755 --- a/app/Controllers/feedController.php +++ b/app/Controllers/feedController.php @@ -165,6 +165,9 @@ class FreshRSS_feed_Controller extends FreshRSS_ActionController { $http_auth = $user . ':' . $pass; } + $cookie = Minz_Request::param('curl_params_cookie', ''); + $cookie_file = Minz_Request::paramBoolean('curl_params_cookiefile'); + $max_redirs = intval(Minz_Request::param('curl_params_redirects', 0)); $useragent = Minz_Request::param('curl_params_useragent', ''); $proxy_address = Minz_Request::param('curl_params', ''); $proxy_type = Minz_Request::param('proxy_type', ''); @@ -173,6 +176,18 @@ class FreshRSS_feed_Controller extends FreshRSS_ActionController { $opts[CURLOPT_PROXY] = $proxy_address; $opts[CURLOPT_PROXYTYPE] = intval($proxy_type); } + if ($cookie !== '') { + $opts[CURLOPT_COOKIE] = $cookie; + } + if ($cookie_file) { + // Pass empty cookie file name to enable the libcurl cookie engine + // without reading any existing cookie data. + $opts[CURLOPT_COOKIEFILE] = ''; + } + if ($max_redirs != 0) { + $opts[CURLOPT_MAXREDIRS] = $max_redirs; + $opts[CURLOPT_FOLLOWLOCATION] = 1; + } if ($useragent !== '') { $opts[CURLOPT_USERAGENT] = $useragent; } diff --git a/app/Controllers/subscriptionController.php b/app/Controllers/subscriptionController.php index bbefc2d68..cca41b004 100644 --- a/app/Controllers/subscriptionController.php +++ b/app/Controllers/subscriptionController.php @@ -143,6 +143,8 @@ class FreshRSS_subscription_Controller extends FreshRSS_ActionController { $feed->_attributes('read_when_same_title_in_feed', $read_when_same_title_in_feed); $cookie = Minz_Request::param('curl_params_cookie', ''); + $cookie_file = Minz_Request::paramBoolean('curl_params_cookiefile'); + $max_redirs = intval(Minz_Request::param('curl_params_redirects', 0)); $useragent = Minz_Request::param('curl_params_useragent', ''); $proxy_address = Minz_Request::param('curl_params', ''); $proxy_type = Minz_Request::param('proxy_type', ''); @@ -154,6 +156,15 @@ class FreshRSS_subscription_Controller extends FreshRSS_ActionController { if ($cookie !== '') { $opts[CURLOPT_COOKIE] = $cookie; } + if ($cookie_file) { + // Pass empty cookie file name to enable the libcurl cookie engine + // without reading any existing cookie data. + $opts[CURLOPT_COOKIEFILE] = ''; + } + if ($max_redirs != 0) { + $opts[CURLOPT_MAXREDIRS] = $max_redirs; + $opts[CURLOPT_FOLLOWLOCATION] = 1; + } if ($useragent !== '') { $opts[CURLOPT_USERAGENT] = $useragent; } diff --git a/app/i18n/cz/sub.php b/app/i18n/cz/sub.php index 6cacf3e8b..a51692a3f 100644 --- a/app/i18n/cz/sub.php +++ b/app/i18n/cz/sub.php @@ -36,6 +36,8 @@ return array( 'title' => 'Název', ), 'feed' => array( + 'accept_cookies' => 'Accept cookies', // TODO + 'accept_cookies_help' => 'Allow the feed server to set cookies (stored in memory for the duration of the request only)', // TODO 'add' => 'Přidat kanál RSS', 'advanced' => 'Rozšířené', 'archiving' => 'Archivace', @@ -124,6 +126,8 @@ return array( 'reload_articles_help' => 'Znovu načíst články a získat úplný obsah, pokud je definován přepínač.', // DIRTY 'title' => 'Údržba', ), + 'max_http_redir' => 'Max HTTP redirects', // TODO + 'max_http_redir_help' => 'Set to 0 or leave blank to disable, -1 for unlimited redirects', // TODO 'moved_category_deleted' => 'Když odstraníte kategorii, její kanály jsou automaticky přesunuty do %s.', 'mute' => 'ztlumit', 'no_selected' => 'Nejsou vybrány žádné kanály.', diff --git a/app/i18n/de/sub.php b/app/i18n/de/sub.php index c8a0c7961..e78d1ef25 100644 --- a/app/i18n/de/sub.php +++ b/app/i18n/de/sub.php @@ -36,6 +36,8 @@ return array( 'title' => 'Titel', ), 'feed' => array( + 'accept_cookies' => 'Accept cookies', // TODO + 'accept_cookies_help' => 'Allow the feed server to set cookies (stored in memory for the duration of the request only)', // TODO 'add' => 'Einen RSS-Feed hinzufügen', 'advanced' => 'Erweitert', 'archiving' => 'Archivierung', @@ -124,6 +126,8 @@ return array( 'reload_articles_help' => 'Artikel neuladen und komplette Inhalte holen, wenn ein Selektor festgelegt wurde.', // DIRTY 'title' => 'Wartung', ), + 'max_http_redir' => 'Max HTTP redirects', // TODO + 'max_http_redir_help' => 'Set to 0 or leave blank to disable, -1 for unlimited redirects', // TODO 'moved_category_deleted' => 'Wenn Sie eine Kategorie entfernen, werden deren Feeds automatisch in die Kategorie %s eingefügt.', 'mute' => 'Stumm schalten', 'no_selected' => 'Kein Feed ausgewählt.', diff --git a/app/i18n/en-us/sub.php b/app/i18n/en-us/sub.php index 648fdec9a..df727041a 100644 --- a/app/i18n/en-us/sub.php +++ b/app/i18n/en-us/sub.php @@ -36,6 +36,8 @@ return array( 'title' => 'Title', // IGNORE ), 'feed' => array( + 'accept_cookies' => 'Accept cookies', // IGNORE + 'accept_cookies_help' => 'Allow the feed server to set cookies (stored in memory for the duration of the request only)', // IGNORE 'add' => 'Add an RSS feed', // IGNORE 'advanced' => 'Advanced', // IGNORE 'archiving' => 'Archiving', // IGNORE @@ -124,6 +126,8 @@ return array( 'reload_articles_help' => 'Reload that many articles and fetch complete content if a selector is defined.', // IGNORE 'title' => 'Maintenance', // IGNORE ), + 'max_http_redir' => 'Max HTTP redirects', // IGNORE + 'max_http_redir_help' => 'Set to 0 or leave blank to disable, -1 for unlimited redirects', // IGNORE 'moved_category_deleted' => 'When you delete a category, its feeds are automatically classified under %s.', // IGNORE 'mute' => 'mute', // IGNORE 'no_selected' => 'No feed selected.', // IGNORE diff --git a/app/i18n/en/sub.php b/app/i18n/en/sub.php index 202d89b3c..c5c15a435 100644 --- a/app/i18n/en/sub.php +++ b/app/i18n/en/sub.php @@ -36,6 +36,8 @@ return array( 'title' => 'Title', ), 'feed' => array( + 'accept_cookies' => 'Accept cookies', + 'accept_cookies_help' => 'Allow the feed server to set cookies (stored in memory for the duration of the request only)', 'add' => 'Add an RSS feed', 'advanced' => 'Advanced', 'archiving' => 'Archiving', @@ -124,6 +126,8 @@ return array( 'reload_articles_help' => 'Reload that many articles and fetch complete content if a selector is defined.', 'title' => 'Maintenance', ), + 'max_http_redir' => 'Max HTTP redirects', + 'max_http_redir_help' => 'Set to 0 or leave blank to disable, -1 for unlimited redirects', 'moved_category_deleted' => 'When you delete a category, its feeds are automatically classified under %s.', 'mute' => 'mute', 'no_selected' => 'No feed selected.', diff --git a/app/i18n/es/sub.php b/app/i18n/es/sub.php index dcf72697f..7918a9437 100755 --- a/app/i18n/es/sub.php +++ b/app/i18n/es/sub.php @@ -36,6 +36,8 @@ return array( 'title' => 'Título', ), 'feed' => array( + 'accept_cookies' => 'Accept cookies', // TODO + 'accept_cookies_help' => 'Allow the feed server to set cookies (stored in memory for the duration of the request only)', // TODO 'add' => 'Añadir fuente RSS', 'advanced' => 'Avanzado', 'archiving' => 'Archivo', @@ -124,6 +126,8 @@ return array( 'reload_articles_help' => 'Vuelva a cargar artículos y obtenga contenido completo si se define un selector.', // DIRTY 'title' => 'Mantenimiento', ), + 'max_http_redir' => 'Max HTTP redirects', // TODO + 'max_http_redir_help' => 'Set to 0 or leave blank to disable, -1 for unlimited redirects', // TODO 'moved_category_deleted' => 'Al borrar una categoría todas sus fuentes pasan automáticamente a la categoría %s.', 'mute' => 'silenciar', 'no_selected' => 'No hay funentes seleccionadas.', diff --git a/app/i18n/fr/sub.php b/app/i18n/fr/sub.php index 3faf379c2..f199fefbd 100644 --- a/app/i18n/fr/sub.php +++ b/app/i18n/fr/sub.php @@ -36,6 +36,8 @@ return array( 'title' => 'Titre', ), 'feed' => array( + 'accept_cookies' => 'Autoriser les cookies', + 'accept_cookies_help' => 'Accepte les cookies du flux (stocké en mémoire seulement le temps de la requête)', 'add' => 'Ajouter un flux RSS', 'advanced' => 'Avancé', 'archiving' => 'Archivage', @@ -124,6 +126,8 @@ return array( 'reload_articles_help' => 'Recharge cette quantité d’articles et récupère le contenu complet si un sélecteur est défini.', 'title' => 'Maintenance', // IGNORE ), + 'max_http_redir' => 'Maximum de redirections HTTP', + 'max_http_redir_help' => 'Mettre à 0 ou vide pour désactiver, -1 pour un nombre illimité de redirections', 'moved_category_deleted' => 'Lors de la suppression d’une catégorie, ses flux seront automatiquement classés dans %s.', 'mute' => 'désactivé', 'no_selected' => 'Aucun flux sélectionné.', diff --git a/app/i18n/he/sub.php b/app/i18n/he/sub.php index 0d9f2ea96..033a0a7e5 100644 --- a/app/i18n/he/sub.php +++ b/app/i18n/he/sub.php @@ -36,6 +36,8 @@ return array( 'title' => 'כותרת', ), 'feed' => array( + 'accept_cookies' => 'Accept cookies', // TODO + 'accept_cookies_help' => 'Allow the feed server to set cookies (stored in memory for the duration of the request only)', // TODO 'add' => 'הוספת הזנה', 'advanced' => 'מתקדם', 'archiving' => 'ארכוב', @@ -124,6 +126,8 @@ return array( 'reload_articles_help' => 'Reload that many articles and fetch complete content if a selector is defined.', // TODO 'title' => 'Maintenance', // TODO ), + 'max_http_redir' => 'Max HTTP redirects', // TODO + 'max_http_redir_help' => 'Set to 0 or leave blank to disable, -1 for unlimited redirects', // TODO 'moved_category_deleted' => 'כאשר הקטגוריה נמחקת ההזנות שבתוכה אוטומטית מקוטלגות תחת %s.', 'mute' => 'mute', // TODO 'no_selected' => 'אף הזנה לא נבחרה.', diff --git a/app/i18n/it/sub.php b/app/i18n/it/sub.php index c9f4823f0..720733c7d 100644 --- a/app/i18n/it/sub.php +++ b/app/i18n/it/sub.php @@ -36,6 +36,8 @@ return array( 'title' => 'Titolo', ), 'feed' => array( + 'accept_cookies' => 'Accept cookies', // TODO + 'accept_cookies_help' => 'Allow the feed server to set cookies (stored in memory for the duration of the request only)', // TODO 'add' => 'Aggiungi un Feed RSS', 'advanced' => 'Avanzate', 'archiving' => 'Archiviazione', @@ -124,6 +126,8 @@ return array( 'reload_articles_help' => 'Reload that many articles and fetch complete content if a selector is defined.', // TODO 'title' => 'Maintenance', // TODO ), + 'max_http_redir' => 'Max HTTP redirects', // TODO + 'max_http_redir_help' => 'Set to 0 or leave blank to disable, -1 for unlimited redirects', // TODO 'moved_category_deleted' => 'Cancellando una categoria i feed al suo interno verranno classificati automaticamente come %s.', 'mute' => 'mute', // TODO 'no_selected' => 'Nessun feed selezionato.', diff --git a/app/i18n/ja/sub.php b/app/i18n/ja/sub.php index 9973e5bec..54ae55267 100644 --- a/app/i18n/ja/sub.php +++ b/app/i18n/ja/sub.php @@ -36,6 +36,8 @@ return array( 'title' => 'タイトル', ), 'feed' => array( + 'accept_cookies' => 'Accept cookies', // TODO + 'accept_cookies_help' => 'Allow the feed server to set cookies (stored in memory for the duration of the request only)', // TODO 'add' => 'RSSフィードに追加する', 'advanced' => '応用的な設定', 'archiving' => 'アーカイブ', @@ -124,6 +126,8 @@ return array( 'reload_articles_help' => '記事を再読み込みして、セレクターが定義したコンテンツを完全に取得します。', // DIRTY 'title' => 'メンテナンス', ), + 'max_http_redir' => 'Max HTTP redirects', // TODO + 'max_http_redir_help' => 'Set to 0 or leave blank to disable, -1 for unlimited redirects', // TODO 'moved_category_deleted' => 'カテゴリを削除したとき、フィードは自動的に%s下に分類されます。', 'mute' => 'ミュート', 'no_selected' => 'どのフィードも選択されていません', diff --git a/app/i18n/ko/sub.php b/app/i18n/ko/sub.php index edb97842b..4e188f6d1 100644 --- a/app/i18n/ko/sub.php +++ b/app/i18n/ko/sub.php @@ -36,6 +36,8 @@ return array( 'title' => '제목', ), 'feed' => array( + 'accept_cookies' => 'Accept cookies', // TODO + 'accept_cookies_help' => 'Allow the feed server to set cookies (stored in memory for the duration of the request only)', // TODO 'add' => 'RSS 피드 추가', 'advanced' => '고급 설정', 'archiving' => '보관', @@ -124,6 +126,8 @@ return array( 'reload_articles_help' => '글 다시 로드하고 셀렉터가 정의 되었을 경우에 모든 컨텐츠 가져오기.', // DIRTY 'title' => '유지 보수', ), + 'max_http_redir' => 'Max HTTP redirects', // TODO + 'max_http_redir_help' => 'Set to 0 or leave blank to disable, -1 for unlimited redirects', // TODO 'moved_category_deleted' => '카테고리를 삭제하면, 해당 카테고리 아래에 있던 피드들은 자동적으로 %s 아래로 분류됩니다.', 'mute' => '무기한 새로고침 금지', 'no_selected' => '선택된 피드가 없습니다.', diff --git a/app/i18n/nl/sub.php b/app/i18n/nl/sub.php index b8585bcbb..fbcbb8bfb 100644 --- a/app/i18n/nl/sub.php +++ b/app/i18n/nl/sub.php @@ -36,6 +36,8 @@ return array( 'title' => 'Titel', ), 'feed' => array( + 'accept_cookies' => 'Accept cookies', // TODO + 'accept_cookies_help' => 'Allow the feed server to set cookies (stored in memory for the duration of the request only)', // TODO 'add' => 'Voeg een RSS-feed toe', 'advanced' => 'Geavanceerd', 'archiving' => 'Archiveren', @@ -124,6 +126,8 @@ return array( 'reload_articles_help' => 'Artikels herladen en complete inhoud ophalen als een selector is gedefinieerd.', // DIRTY 'title' => 'Onderhoud', ), + 'max_http_redir' => 'Max HTTP redirects', // TODO + 'max_http_redir_help' => 'Set to 0 or leave blank to disable, -1 for unlimited redirects', // TODO 'moved_category_deleted' => 'Als u een categorie verwijderd, worden de feeds automatisch geclassificeerd onder %s.', 'mute' => 'demp', 'no_selected' => 'Geen feed geselecteerd.', diff --git a/app/i18n/oc/sub.php b/app/i18n/oc/sub.php index 28b0de33b..59b5d40ad 100644 --- a/app/i18n/oc/sub.php +++ b/app/i18n/oc/sub.php @@ -36,6 +36,8 @@ return array( 'title' => 'Títol', ), 'feed' => array( + 'accept_cookies' => 'Accept cookies', // TODO + 'accept_cookies_help' => 'Allow the feed server to set cookies (stored in memory for the duration of the request only)', // TODO 'add' => 'Ajustar un flux RSS', 'advanced' => 'Avançat', 'archiving' => 'Archivar', @@ -124,6 +126,8 @@ return array( 'reload_articles_help' => 'Recargar los articles e recuperar lo contengut complet', // DIRTY 'title' => 'Mantenença', ), + 'max_http_redir' => 'Max HTTP redirects', // TODO + 'max_http_redir_help' => 'Set to 0 or leave blank to disable, -1 for unlimited redirects', // TODO 'moved_category_deleted' => 'Quand escafatz una categoria, sos fluxes son automaticament classats dins %s.', 'mute' => 'mut', 'no_selected' => 'Cap de flux pas seleccionat.', diff --git a/app/i18n/pl/sub.php b/app/i18n/pl/sub.php index 603fe8f4a..6e819d92c 100644 --- a/app/i18n/pl/sub.php +++ b/app/i18n/pl/sub.php @@ -36,6 +36,8 @@ return array( 'title' => 'Tytuł', ), 'feed' => array( + 'accept_cookies' => 'Accept cookies', // TODO + 'accept_cookies_help' => 'Allow the feed server to set cookies (stored in memory for the duration of the request only)', // TODO 'add' => 'Dodaj kanał', 'advanced' => 'Zaawansowane', 'archiving' => 'Archiwizacja', @@ -124,6 +126,8 @@ return array( 'reload_articles_help' => 'Ponownie pobiera wiadomości i przetwarza treść ze strony pierwotnej, jeżeli zdefiniowany został selektor CSS.', // DIRTY 'title' => 'Konserwacja', ), + 'max_http_redir' => 'Max HTTP redirects', // TODO + 'max_http_redir_help' => 'Set to 0 or leave blank to disable, -1 for unlimited redirects', // TODO 'moved_category_deleted' => 'Po usunięciu kategorii znajdujące się w niej kanały zostaną automatycznie przeniesione do %s.', 'mute' => 'wycisz', 'no_selected' => 'Brak kanałów.', diff --git a/app/i18n/pt-br/sub.php b/app/i18n/pt-br/sub.php index 82ae085ef..6f49f6fc3 100644 --- a/app/i18n/pt-br/sub.php +++ b/app/i18n/pt-br/sub.php @@ -36,6 +36,8 @@ return array( 'title' => 'Título', ), 'feed' => array( + 'accept_cookies' => 'Accept cookies', // TODO + 'accept_cookies_help' => 'Allow the feed server to set cookies (stored in memory for the duration of the request only)', // TODO 'add' => 'Adicionar um RSS feed', 'advanced' => 'Avançado', 'archiving' => 'Arquivar', @@ -124,6 +126,8 @@ return array( 'reload_articles_help' => 'Recarregar artigos e buscar conteúdo completo', // DIRTY 'title' => 'Manutenção', ), + 'max_http_redir' => 'Max HTTP redirects', // TODO + 'max_http_redir_help' => 'Set to 0 or leave blank to disable, -1 for unlimited redirects', // TODO 'moved_category_deleted' => 'Quando você deleta uma categoria, seus feeds são automaticamente classificados como %s.', 'mute' => 'silenciar', 'no_selected' => 'Nenhum feed selecionado.', diff --git a/app/i18n/ru/sub.php b/app/i18n/ru/sub.php index 9bc64f05d..347162296 100644 --- a/app/i18n/ru/sub.php +++ b/app/i18n/ru/sub.php @@ -36,6 +36,8 @@ return array( 'title' => 'Заголовок', ), 'feed' => array( + 'accept_cookies' => 'Accept cookies', // TODO + 'accept_cookies_help' => 'Allow the feed server to set cookies (stored in memory for the duration of the request only)', // TODO 'add' => 'Добавить RSS-ленту', 'advanced' => 'Дополнительно', 'archiving' => 'Архивирование', @@ -124,6 +126,8 @@ return array( 'reload_articles_help' => 'Перезагрузить столько статей и извлечь полное содержимое, если задан селектор.', 'title' => 'Обслуживание', ), + 'max_http_redir' => 'Max HTTP redirects', // TODO + 'max_http_redir_help' => 'Set to 0 or leave blank to disable, -1 for unlimited redirects', // TODO 'moved_category_deleted' => 'Когда вы удаляете категорию, ленты категории автоматически попадают в категорию %s.', 'mute' => 'заглушить', 'no_selected' => 'Ленты не выбраны.', diff --git a/app/i18n/sk/sub.php b/app/i18n/sk/sub.php index 58999e5f3..4a4fd6f9f 100644 --- a/app/i18n/sk/sub.php +++ b/app/i18n/sk/sub.php @@ -36,6 +36,8 @@ return array( 'title' => 'Názov', ), 'feed' => array( + 'accept_cookies' => 'Accept cookies', // TODO + 'accept_cookies_help' => 'Allow the feed server to set cookies (stored in memory for the duration of the request only)', // TODO 'add' => 'Pridať RSS kanál', 'advanced' => 'Pokročilé', 'archiving' => 'Archivovanie', @@ -124,6 +126,8 @@ return array( 'reload_articles_help' => 'Obnoviť články a stiahnuť kompletný obsah, ak je definovaný selektor.', // DIRTY 'title' => 'Údržba', ), + 'max_http_redir' => 'Max HTTP redirects', // TODO + 'max_http_redir_help' => 'Set to 0 or leave blank to disable, -1 for unlimited redirects', // TODO 'moved_category_deleted' => 'Keď vymažete kategóriu, jej kanály sa automaticky zaradia pod %s.', 'mute' => 'stíšiť', 'no_selected' => 'Nevybrali ste kanál.', diff --git a/app/i18n/tr/sub.php b/app/i18n/tr/sub.php index e0af10d12..3fb1ff520 100644 --- a/app/i18n/tr/sub.php +++ b/app/i18n/tr/sub.php @@ -36,6 +36,8 @@ return array( 'title' => 'Başlık', ), 'feed' => array( + 'accept_cookies' => 'Accept cookies', // TODO + 'accept_cookies_help' => 'Allow the feed server to set cookies (stored in memory for the duration of the request only)', // TODO 'add' => 'RSS akışı ekle', 'advanced' => 'Gelişmiş', 'archiving' => 'Arşiv', @@ -124,6 +126,8 @@ return array( 'reload_articles_help' => 'Reload that many articles and fetch complete content if a selector is defined.', // TODO 'title' => 'Bakım', ), + 'max_http_redir' => 'Max HTTP redirects', // TODO + 'max_http_redir_help' => 'Set to 0 or leave blank to disable, -1 for unlimited redirects', // TODO 'moved_category_deleted' => 'Bir kategoriyi silerseniz, içerisindeki akışlar %s içerisine yerleşir.', 'mute' => 'sessize al', 'no_selected' => 'Hiçbir akış seçilmedi.', diff --git a/app/i18n/zh-cn/sub.php b/app/i18n/zh-cn/sub.php index 1ecb5e557..580a25e88 100644 --- a/app/i18n/zh-cn/sub.php +++ b/app/i18n/zh-cn/sub.php @@ -36,6 +36,8 @@ return array( 'title' => '标题', ), 'feed' => array( + 'accept_cookies' => 'Accept cookies', // TODO + 'accept_cookies_help' => 'Allow the feed server to set cookies (stored in memory for the duration of the request only)', // TODO 'add' => '添加订阅源', 'advanced' => '高级', 'archiving' => '归档', @@ -124,6 +126,8 @@ return array( 'reload_articles_help' => '重载 n 篇文章并抓取内容(若设置了 CSS 选择器)', 'title' => '维护', ), + 'max_http_redir' => 'Max HTTP redirects', // TODO + 'max_http_redir_help' => 'Set to 0 or leave blank to disable, -1 for unlimited redirects', // TODO 'moved_category_deleted' => '删除分类时,其中的订阅源会自动归类到 %s', 'mute' => '暂停', 'no_selected' => '未选择订阅源', diff --git a/app/views/helpers/feed/update.phtml b/app/views/helpers/feed/update.phtml index 02dcb29e6..3ebf2d0f3 100644 --- a/app/views/helpers/feed/update.phtml +++ b/app/views/helpers/feed/update.phtml @@ -527,6 +527,25 @@ $this->feed->attributes('curl_params')[CURLOPT_COOKIE] : '' ?>" placeholder="" />

+ +

+ + + +
+ +
+ +

diff --git a/app/views/subscription/add.phtml b/app/views/subscription/add.phtml index 41ee04fb7..a2b7f1289 100644 --- a/app/views/subscription/add.phtml +++ b/app/views/subscription/add.phtml @@ -179,6 +179,27 @@ +
+ +
+ +

+ +

+
+
+ +
+ +
+ +

+
+
+
-- cgit v1.2.3