From 6da576dbe4dd933cc385569fbaab234cae21efff Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 21 Dec 2020 08:50:34 +0300 Subject: BLACKLISTED_TAGS: use textarea for editing; normalize value when saving --- classes/pref/prefs.php | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) (limited to 'classes/pref') 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*$"' : ''; -- cgit v1.2.3