diff options
| author | 2022-08-20 13:06:24 +0300 | |
|---|---|---|
| committer | 2022-08-20 12:06:24 +0200 | |
| commit | 0ec65788f9a2fb3ab389d22c723e6b36d798a806 (patch) | |
| tree | d3832b2c07ff74d9c709cbab34feebce3ad66298 /app | |
| parent | 8f475523f52101f818dd4cb9ab22b5429ab39287 (diff) | |
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 <alexandre@alapetite.fr>
Diffstat (limited to 'app')
| -rwxr-xr-x | app/Controllers/feedController.php | 15 | ||||
| -rw-r--r-- | app/Controllers/subscriptionController.php | 11 | ||||
| -rw-r--r-- | app/i18n/cz/sub.php | 4 | ||||
| -rw-r--r-- | app/i18n/de/sub.php | 4 | ||||
| -rw-r--r-- | app/i18n/en-us/sub.php | 4 | ||||
| -rw-r--r-- | app/i18n/en/sub.php | 4 | ||||
| -rwxr-xr-x | app/i18n/es/sub.php | 4 | ||||
| -rw-r--r-- | app/i18n/fr/sub.php | 4 | ||||
| -rw-r--r-- | app/i18n/he/sub.php | 4 | ||||
| -rw-r--r-- | app/i18n/it/sub.php | 4 | ||||
| -rw-r--r-- | app/i18n/ja/sub.php | 4 | ||||
| -rw-r--r-- | app/i18n/ko/sub.php | 4 | ||||
| -rw-r--r-- | app/i18n/nl/sub.php | 4 | ||||
| -rw-r--r-- | app/i18n/oc/sub.php | 4 | ||||
| -rw-r--r-- | app/i18n/pl/sub.php | 4 | ||||
| -rw-r--r-- | app/i18n/pt-br/sub.php | 4 | ||||
| -rw-r--r-- | app/i18n/ru/sub.php | 4 | ||||
| -rw-r--r-- | app/i18n/sk/sub.php | 4 | ||||
| -rw-r--r-- | app/i18n/tr/sub.php | 4 | ||||
| -rw-r--r-- | app/i18n/zh-cn/sub.php | 4 | ||||
| -rw-r--r-- | app/views/helpers/feed/update.phtml | 19 | ||||
| -rw-r--r-- | app/views/subscription/add.phtml | 21 |
22 files changed, 138 insertions, 0 deletions
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 <em>%s</em>.', '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 <em>%s</em> 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 <em>%s</em>.', // 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 <em>%s</em>.', '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 <em>%s</em>.', '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 <em>%s</em>.', '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' => 'כאשר הקטגוריה נמחקת ההזנות שבתוכה אוטומטית מקוטלגות תחת <em>%s</em>.', '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 <em>%s</em>.', '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' => 'カテゴリを削除したとき、フィードは自動的に<em>%s</em>下に分類されます。', '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' => '카테고리를 삭제하면, 해당 카테고리 아래에 있던 피드들은 자동적으로 <em>%s</em> 아래로 분류됩니다.', '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 <em>%s</em>.', '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 <em>%s</em>.', '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 <em>%s</em>.', '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 <em>%s</em>.', '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' => 'Когда вы удаляете категорию, ленты категории автоматически попадают в категорию <em>%s</em>.', '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 <em>%s</em>.', '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 <em>%s</em> 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' => '删除分类时,其中的订阅源会自动归类到 <em>%s</em>', '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="<?= _t('gen.short.blank_to_disable') ?>" /> <p class="help"><?= _i('help') ?> <?= _t('sub.feed.css_cookie_help') ?></p> + <label for="curl_params_cookiefile"> + <input type="checkbox" name="curl_params_cookiefile" id="curl_params_cookiefile" value="1"<?= + is_array($this->feed->attributes('curl_params')) && isset($this->feed->attributes('curl_params')[CURLOPT_COOKIEFILE]) ? + ' checked="checked"' : '' + ?> /> + <?= _t('sub.feed.accept_cookies') ?> + </label> + <p class="help"><?= _i('help') ?> <?= _t('sub.feed.accept_cookies_help') ?></p> + </div> + </div> + + <div class="form-group"> + <label class="group-name" for="curl_params_redirects"><?= _t('sub.feed.max_http_redir') ?></label> + <div class="group-controls"> + <input type="number" name="curl_params_redirects" id="curl_params_redirects" class="w50" min="-1" value="<?= + is_array($this->feed->attributes('curl_params')) && !empty($this->feed->attributes('curl_params')[CURLOPT_MAXREDIRS]) ? + $this->feed->attributes('curl_params')[CURLOPT_MAXREDIRS] : '' + ?>" placeholder="<?= _t('gen.short.blank_to_disable') ?>" /> + <p class="help"><?= _i('help') ?> <?= _t('sub.feed.max_http_redir_help') ?></p> </div> </div> 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 @@ -180,6 +180,27 @@ </div> <div class="form-group"> + <label class="group-name" for="curl_params_cookie"><?= _t('sub.feed.css_cookie') ?></label> + <div class="group-controls"> + <input type="text" name="curl_params_cookie" id="curl_params_cookie" class="extend" value="" placeholder="<?= _t('gen.short.blank_to_disable') ?>" /> + <p class="help"><?= _i('help') ?> <?= _t('sub.feed.css_cookie_help') ?></p> + <label for="curl_params_cookiefile"> + <input type="checkbox" name="curl_params_cookiefile" id="curl_params_cookiefile" value="1" /> + <?= _t('sub.feed.accept_cookies') ?> + </label> + <p class="help"><?= _i('help') ?> <?= _t('sub.feed.accept_cookies_help') ?></p> + </div> + </div> + + <div class="form-group"> + <label class="group-name" for="curl_params_redirects"><?= _t('sub.feed.max_http_redir') ?></label> + <div class="group-controls"> + <input type="number" name="curl_params_redirects" id="curl_params_redirects" class="extend" min="-1" value="" placeholder="<?= _t('gen.short.blank_to_disable') ?>" /> + <p class="help"><?= _i('help') ?> <?= _t('sub.feed.max_http_redir_help') ?></p> + </div> + </div> + + <div class="form-group"> <label class="group-name" for="curl_params_useragent"><?= _t('sub.feed.useragent') ?></label> <div class="group-controls"> <div class="stick"> |
