From 6da576dbe4dd933cc385569fbaab234cae21efff Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 21 Dec 2020 08:50:34 +0300 Subject: [PATCH] BLACKLISTED_TAGS: use textarea for editing; normalize value when saving --- classes/pref/prefs.php | 29 ++++++++++++++++++++++++++--- themes/compact.css | 6 ++++++ themes/compact_night.css | 6 ++++++ themes/light.css | 6 ++++++ themes/light/prefs.less | 7 +++++++ themes/night.css | 6 ++++++ themes/night_blue.css | 6 ++++++ 7 files changed, 63 insertions(+), 3 deletions(-) diff --git a/classes/pref/prefs.php b/classes/pref/prefs.php index 4e57ea846..bce3c171b 100644 --- a/classes/pref/prefs.php +++ b/classes/pref/prefs.php @@ -66,9 +66,13 @@ class Pref_Prefs extends Handler_Protected { ] ]; + $this->pref_help_bottom = [ + "BLACKLISTED_TAGS" => __("Never apply these tags automatically (comma-separated list)."), + ]; + $this->pref_help = [ "ALLOW_DUPLICATE_POSTS" => array(__("Allow duplicate articles"), ""), - "BLACKLISTED_TAGS" => array(__("Blacklisted tags"), __("Never apply these tags automatically (comma-separated list).")), + "BLACKLISTED_TAGS" => array(__("Blacklisted tags"), ""), "DEFAULT_SEARCH_LANGUAGE" => array(__("Default language"), __("Used for full-text search")), "CDM_AUTO_CATCHUP" => array(__("Mark read on scroll"), __("Mark articles as read as you scroll past them")), "CDM_EXPANDED" => array(__("Always expand articles")), @@ -192,6 +196,12 @@ class Pref_Prefs extends Handler_Protected { case 'USER_CSS_THEME': if (!$need_reload) $need_reload = get_pref($pref_name) != $value; break; + + case 'BLACKLISTED_TAGS': + $cats = FeedItem_Common::normalize_categories(explode(",", $value)); + asort($cats); + $value = implode(", ", $cats); + break; } set_pref($pref_name, $value); @@ -671,6 +681,19 @@ class Pref_Prefs extends Handler_Protected { $timezones = explode("\n", file_get_contents("lib/timezones.txt")); print_select($pref_name, $value, $timezones, 'dojoType="dijit.form.FilteringSelect"'); + + } else if ($pref_name == "BLACKLISTED_TAGS") { # TODO: other possible
"; + + print "
" . $this->pref_help_bottom[$pref_name] . "
"; + + print ""; + } else if ($pref_name == "USER_CSS_THEME") { $themes = array_merge(glob("themes/*.php"), glob("themes/*.css"), glob("themes.local/*.css")); @@ -725,8 +748,8 @@ class Pref_Prefs extends Handler_Protected { print ""; - } else if (array_search($pref_name, array('FRESH_ARTICLE_MAX_AGE', - 'PURGE_OLD_DAYS', 'LONG_DATE_FORMAT', 'SHORT_DATE_FORMAT')) !== false) { + } else if (in_array($pref_name, ['FRESH_ARTICLE_MAX_AGE', + 'PURGE_OLD_DAYS', 'LONG_DATE_FORMAT', 'SHORT_DATE_FORMAT'])) { $regexp = ($type_name == 'integer') ? 'regexp="^\d*$"' : ''; diff --git a/themes/compact.css b/themes/compact.css index 2ce41eacc..c2828c587 100644 --- a/themes/compact.css +++ b/themes/compact.css @@ -1472,6 +1472,9 @@ body.ttrss_prefs .user-css-editor { } body.ttrss_prefs fieldset.prefs { min-height: 30px; + display: flex; + flex-direction: row; + align-items: center; } body.ttrss_prefs fieldset.prefs label:first-of-type { min-width: 300px; @@ -1480,6 +1483,9 @@ body.ttrss_prefs fieldset.prefs .help-text { display: inline-block; margin-left: 10px; } +body.ttrss_prefs fieldset.prefs .help-text-bottom { + margin-top: 10px; +} body.ttrss_prefs fieldset.plugin label.description { width: 600px; margin-right: 150px; diff --git a/themes/compact_night.css b/themes/compact_night.css index 4b939a00f..6666787b0 100644 --- a/themes/compact_night.css +++ b/themes/compact_night.css @@ -1472,6 +1472,9 @@ body.ttrss_prefs .user-css-editor { } body.ttrss_prefs fieldset.prefs { min-height: 30px; + display: flex; + flex-direction: row; + align-items: center; } body.ttrss_prefs fieldset.prefs label:first-of-type { min-width: 300px; @@ -1480,6 +1483,9 @@ body.ttrss_prefs fieldset.prefs .help-text { display: inline-block; margin-left: 10px; } +body.ttrss_prefs fieldset.prefs .help-text-bottom { + margin-top: 10px; +} body.ttrss_prefs fieldset.plugin label.description { width: 600px; margin-right: 150px; diff --git a/themes/light.css b/themes/light.css index facd16c05..d2f5aa4ee 100644 --- a/themes/light.css +++ b/themes/light.css @@ -1472,6 +1472,9 @@ body.ttrss_prefs .user-css-editor { } body.ttrss_prefs fieldset.prefs { min-height: 30px; + display: flex; + flex-direction: row; + align-items: center; } body.ttrss_prefs fieldset.prefs label:first-of-type { min-width: 300px; @@ -1480,6 +1483,9 @@ body.ttrss_prefs fieldset.prefs .help-text { display: inline-block; margin-left: 10px; } +body.ttrss_prefs fieldset.prefs .help-text-bottom { + margin-top: 10px; +} body.ttrss_prefs fieldset.plugin label.description { width: 600px; margin-right: 150px; diff --git a/themes/light/prefs.less b/themes/light/prefs.less index 92084a9c8..4d3e93688 100644 --- a/themes/light/prefs.less +++ b/themes/light/prefs.less @@ -82,6 +82,9 @@ body.ttrss_prefs { fieldset.prefs { min-height : 30px; + display : flex; + flex-direction : row; + align-items: center; label:first-of-type { min-width : 300px; @@ -91,6 +94,10 @@ body.ttrss_prefs { display : inline-block; margin-left : 10px; } + + .help-text-bottom { + margin-top : 10px; + } } fieldset.plugin { diff --git a/themes/night.css b/themes/night.css index 88ae685d2..face01932 100644 --- a/themes/night.css +++ b/themes/night.css @@ -1473,6 +1473,9 @@ body.ttrss_prefs .user-css-editor { } body.ttrss_prefs fieldset.prefs { min-height: 30px; + display: flex; + flex-direction: row; + align-items: center; } body.ttrss_prefs fieldset.prefs label:first-of-type { min-width: 300px; @@ -1481,6 +1484,9 @@ body.ttrss_prefs fieldset.prefs .help-text { display: inline-block; margin-left: 10px; } +body.ttrss_prefs fieldset.prefs .help-text-bottom { + margin-top: 10px; +} body.ttrss_prefs fieldset.plugin label.description { width: 600px; margin-right: 150px; diff --git a/themes/night_blue.css b/themes/night_blue.css index b80699747..d5cda927f 100644 --- a/themes/night_blue.css +++ b/themes/night_blue.css @@ -1473,6 +1473,9 @@ body.ttrss_prefs .user-css-editor { } body.ttrss_prefs fieldset.prefs { min-height: 30px; + display: flex; + flex-direction: row; + align-items: center; } body.ttrss_prefs fieldset.prefs label:first-of-type { min-width: 300px; @@ -1481,6 +1484,9 @@ body.ttrss_prefs fieldset.prefs .help-text { display: inline-block; margin-left: 10px; } +body.ttrss_prefs fieldset.prefs .help-text-bottom { + margin-top: 10px; +} body.ttrss_prefs fieldset.plugin label.description { width: 600px; margin-right: 150px;