Fix an error when disabling all user plugins

If I enabled some user plugins via Preferences -> Plugins and then
disabled all of them, an error occurred:

Jul 16 22:34:20 php[100]: PHP Fatal error:  Uncaught TypeError: array_filter(): Argument #1 ($array) must be of type array, null given in /usr/share/webapps/tt-rss/classes/pref/prefs.php:1027
Jul 16 22:34:20 php[100]: Stack trace:
Jul 16 22:34:20 php[100]: #0 /usr/share/webapps/tt-rss/classes/pref/prefs.php(1027): array_filter()
Jul 16 22:34:20 php[100]: #1 /usr/share/webapps/tt-rss/backend.php(136): Pref_Prefs->setplugins()
Jul 16 22:34:20 php[100]: #2 {main}
Jul 16 22:34:20 php[100]:   thrown in /usr/share/webapps/tt-rss/classes/pref/prefs.php on line 1027

Apparently the issue was elevated from a warning to an error in PHP 8.0
[1].

[1] https://php.watch/versions/8.0/internal-function-exceptions
This commit is contained in:
Chih-Hsuan Yen 2022-07-03 18:40:04 +08:00
parent fdd1c43612
commit f3aceb4648
No known key found for this signature in database
GPG Key ID: F98EF2A7B0A098AE
1 changed files with 1 additions and 1 deletions

View File

@ -1024,7 +1024,7 @@ class Pref_Prefs extends Handler_Protected {
}
function setplugins(): void {
$plugins = array_filter($_REQUEST["plugins"], 'clean') ?? [];
$plugins = array_filter($_REQUEST["plugins"] ?? [], 'clean');
set_pref(Prefs::_ENABLED_PLUGINS, implode(",", $plugins));
}