Commit Graph

266 Commits

Author SHA1 Message Date
wn_ a355221e7f Consistently get the self URL.
This ensures all uses of the self URL get the same normalized/sanitized value.
2022-11-28 17:40:42 +00:00
wn_ d376cd6142 Address upcoming string interpolation deprecation.
https://wiki.php.net/rfc/deprecate_dollar_brace_string_interpolation
2022-11-12 16:20:59 +00:00
wn_ c301053965 Use the null coalescing assignment operator in various places. 2022-08-12 18:21:38 +00:00
wn_ 3487c922b3 Replace use of 'array_merge' with the spread operator and 'array_push' in various places.
This isn't supported for arrays with string keys until PHP 8.1.

https://wiki.php.net/rfc/spread_operator_for_array
2022-08-12 17:58:38 +00:00
wn_ a63c949a55 Use arrow functions in some places. 2022-08-12 14:41:21 +00:00
wn_ 93fd85df6f Switch to direct type declarations of class properties. 2022-08-12 14:13:26 +00:00
Chih-Hsuan Yen f3aceb4648
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
2022-07-16 22:50:16 +08:00
Andrew Dolgov 9457bb090a fix PHP8 undefined array key warning when resetting prefs to defaults 2022-06-05 11:14:42 +03:00
jbaldus 987870074b Fixes declaration of Pref_Prefs::csrf_ignore to match IHandler::csrf_ignore 2021-12-02 20:57:19 +03:00
wn_ abab2a94e8 Address PHPStan warning in 'classes/pref/prefs.php'.
Also update 'select_hash' and 'select_tag' values param, which can have int or string keys.
2021-11-14 20:13:09 +00:00
Andrew Dolgov af2f4460ce * deal with some phpstan warnings in base plugin class
* arguably better hack for incompatible plugins causing E_COMPILE_ERROR
2021-11-14 16:49:10 +03:00
wn_ 5606e38bff Update signature of handler 'csrf_ignore' to include types. 2021-11-12 02:01:31 +00:00
Andrew Dolgov 9e8d69739f add two helper account access levels:
- read only - can't subscribe to more feeds, feed updates are skipped
 - disabled - can't login
define used access levels as UserHelper constants and refactor code to
use them instead of hardcoded numbers
2021-11-10 20:44:51 +03:00
wn_ a38892d5d7 Address PHPStan warning in 'classes/pref/prefs.php'.
------ ------------------------------------------------
Line   classes/pref/prefs.php
------ ------------------------------------------------
1328   Expression on left side of ?? is not nullable.
------ ------------------------------------------------
2021-11-01 21:10:27 +00:00
Andrew Dolgov 8ed8a10965 add settings profile cloning 2021-06-16 14:24:57 +03:00
Andrew Dolgov 0acd33abe3 OTP: generate longer secrets, also make them easier to read/copy 2021-03-29 19:26:04 +03:00
Andrew Dolgov 43ea36d030 prefs: allow setting email if it was previously blank 2021-03-17 19:50:04 +03:00
Andrew Dolgov b6033d0bbd grid view tweaks 2021-03-10 11:44:16 +03:00
Andrew Dolgov ddfa39015e experimental: add preference to show combined mode headlines as a 2 column grid 2021-03-10 08:33:56 +03:00
Andrew Dolgov 4fe2e6bbf1 app password list: fix th/td alignment 2021-03-09 09:04:13 +03:00
wn_ fed5158ec5 Default to null 'rv' for plugin update check.
Previously 'rv' was returned as an empty JS array, causing 'p.rv.git_status != 0' to evaluate to true and a misleading 'Ready to update' appearing for certain plugins.
2021-03-08 15:38:52 +00:00
Andrew Dolgov 603cc89638 check updates one plugin at a time 2021-03-07 20:11:54 +03:00
Andrew Dolgov ffb93d72ac fix previous to actually save enabled plugins 2021-03-07 12:28:24 +03:00
Andrew Dolgov 773bad1490 prevent list of enabled plugins resetting if saved while in search results 2021-03-07 12:26:33 +03:00
Andrew Dolgov d6fd0d5462 add some icons, remove some words 2021-03-06 23:51:48 +03:00
Andrew Dolgov 68ecf52594 some small layout fixes, remove a few inline styles 2021-03-06 20:03:36 +03:00
Andrew Dolgov 473ea6255c render list of plugins on the client 2021-03-06 18:14:25 +03:00
Andrew Dolgov 2cd159e2ce use separate database column for OTP secrets (migrate previous format if needed) 2021-03-05 17:40:17 +03:00
Andrew Dolgov 5c1f9f31bd add a bunch of button icons 2021-03-05 15:16:41 +03:00
Andrew Dolgov 98c75a9e43 don't check for plugin updates automatically on pane open 2021-03-05 10:25:32 +03:00
Andrew Dolgov 476965b161 show installed plugins in the installer list 2021-03-04 19:50:19 +03:00
Andrew Dolgov f398fea414 shorten plugin list action buttons 2021-03-04 16:44:21 +03:00
Andrew Dolgov 6cf771f2bc _get_available_plugins: decode as array 2021-03-04 15:57:11 +03:00
Andrew Dolgov 04128c7870 add search to plugin installer 2021-03-04 15:52:37 +03:00
Andrew Dolgov 30765805fd use orm for settings profiles stuff 2021-03-04 12:30:45 +03:00
Andrew Dolgov 0cb719a404 add basic local plugin uninstaller 2021-03-03 19:35:11 +03:00
Andrew Dolgov cb7f322f09 add basic plugin installer (uses tt-rss.org) 2021-03-03 19:07:39 +03:00
Andrew Dolgov 06cb181f73 add update button for system plugins 2021-03-03 14:17:55 +03:00
Andrew Dolgov ba86c64d38 add digest preview button, also fix a bunch of bugs 2021-03-02 19:21:21 +03:00
Andrew Dolgov 982bd838bf use orm when setting personal data; fix some warnings in mailer class 2021-03-02 13:20:41 +03:00
Andrew Dolgov 6f835ded78 remove (unused) prefs/toggleAdvanced 2021-03-02 08:10:06 +03:00
Andrew Dolgov f56a4eab17 use orm for app password stuff 2021-03-02 08:08:48 +03:00
Andrew Dolgov 6359259dbb simplify internal authentication code and bump default algo to SSHA-512 2021-03-01 15:24:18 +03:00
Andrew Dolgov 320503dd39 move version-related stuff to Config; fix conditional feed requests 2021-03-01 13:43:37 +03:00
Andrew Dolgov 20a844085f hide version for bundled plugins because it's meaningless; for everything else support showing version using git (if about[0] is null) 2021-03-01 12:11:42 +03:00
Andrew Dolgov 7ef72fe0dc move startup checks to Config, set a bunch of @deprecated annotations 2021-03-01 10:20:21 +03:00
Andrew Dolgov b05d4e3d9f speed up plugin updating a bit, fix some phpstan warnings 2021-02-28 21:50:05 +03:00
Andrew Dolgov e2cbb54b2c plugin updater: show changes before updating 2021-02-28 09:46:06 +03:00
Andrew Dolgov 7f2fe465b0 add plugin updates checker into normal updates checker 2021-02-27 19:14:13 +03:00
Andrew Dolgov d821e4b090 disable plugin update checking if CHECK_FOR_UPDATES is disabled 2021-02-27 17:40:17 +03:00