Commit Graph

2352 Commits

Author SHA1 Message Date
Andrew Dolgov c30b24d09f
deal with type errors in batch feed editor properly, un-deprecate PDO wrapper functions and document them for posterity 2022-12-30 19:51:34 +03:00
Andrew Dolgov 5c0a5da88c
batch feed editor: silence some more php8.1 undefined field warnings 2022-12-30 19:10:41 +03:00
Andrew Dolgov a16acd65fc
batch feed editor:
- fix some field changes not applying because of DB type errors
 - rework to use bound vars instead of sql query concatenation
deprecate: checkbox_to_sql_bool(), bool_to_sql_bool()
2022-12-30 19:07:15 +03:00
Andrew Dolgov 9c0ead3640
show full commit timestamp with version information in prefs footer 2022-12-30 09:46:01 +03:00
wn_ 371af1a39c Fix getting active feeds with errors.
fb4bc2615e incorrectly excluded feeds using the default update interval.  This change ignores the unlikely scenario where someone has the default update interval set to 'disabled'.
2022-12-24 21:22:16 +00:00
wn_ 46e2635869 Only count updating (i.e. enabled) feeds when determining active feeds with errors.
This excludes feeds that had errors and currently have updating disabled (e.g. disabled due to the site being down for a while, getting compromised, etc.).

Disabled / non-updating feeds' error states are still visible when viewed in the feed tree.
2022-12-21 21:05:59 +00:00
wn_ 8b129626cd Only touch on send for expirable cache files.
With d373b7b452 feed icon modification times get used for cache-busting, but 'Cache_Local' updates that
value on each send.  This change makes it so the modification time only gets updated on files in expirable caches, keeping the value
consistent between sends for files in non-expiring caches.

Also, marking 'Cache_Local::send_local_file()' private since it's unique to that adapter.
2022-12-20 02:16:47 +00:00
Andrew Dolgov c6d21b3196
make phpstan happy 2022-12-19 21:42:34 +03:00
Andrew Dolgov d373b7b452
* bring back cache-busting for feed icons based on timestamp
* DiskCache: use singleton pattern to create less cache object instances
 * DiskCache: implement ETag
2022-12-19 21:36:50 +03:00
Andrew Dolgov fa9c614ff1
Merge branch 'master' of git.tt-rss.org:tt-rss/tt-rss 2022-12-02 07:35:11 +03:00
Andrew Dolgov 824addbc9d
fix cleanup_feed_icons unlinking nonexistant files, limit it to actual feed icons 2022-12-02 07:34:51 +03:00
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
Andrew Dolgov 94c49399cc
get_self_url: strip all trailing slashes 2022-11-28 19:24:12 +03:00
Andrew Dolgov 52180c9f8f
DiskCache: enforce basename() on filenames passed to cache adapter 2022-11-26 14:15:45 +03:00
Andrew Dolgov 3212c51ce8
migrate favicons directly to new cache 2022-11-24 23:43:46 +03:00
Andrew Dolgov a30b9bb649
rework favicon storage to use DiskCache 2022-11-24 23:31:33 +03:00
Andrew Dolgov be6bc72a74
DiskCache: tweak how expiration is invoked 2022-11-24 18:49:36 +03:00
Andrew Dolgov 3180b35807
deprecate DiskCache->touch() 2022-11-24 08:16:56 +03:00
Andrew Dolgov 9732d8fc9f
update_rss_feed: use DiskCache to store feed data 2022-11-23 22:09:04 +03:00
Andrew Dolgov 10a1dd35e3
* split local cache implementation into a separate class
* allow custom implementations provided by plugins
2022-11-23 21:18:40 +03: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
Andrew Dolgov f56a049641
fix some PHP8 warnings generated while dragging feed tree items around 2022-10-15 13:44:02 +03:00
jmechnich 560caf8377 Fix PHP8 strtime warning if argument is null (addendum) 2022-10-01 11:05:12 +02:00
Andrew Dolgov 42bc1620b8
make phpstan happy 2022-09-29 20:02:59 +03:00
Shemi f0a20a62c7 Merge branch 'master' into master 2022-09-29 11:18:41 +03:00
Shemi e2f9a3b9a4 Added support for api plugins virtual feeds 2022-09-29 08:37:56 +03:00
jmechnich 359f0af2e7 Fix PHP8 strtime warning if argument is null 2022-09-28 12:29:57 +02:00
powerivq 96595ca4c5 Set user related sessions for single user mode 2022-08-31 14:52:42 -07:00
fox 5fea1a7ea9 Merge pull request 'Fix PHP8 empty param warning' (#79) from powerivq/tt-rss:php8compat into master
Reviewed-on: https://dev.tt-rss.org/fox/tt-rss/pulls/79
2022-08-31 18:50:39 +03:00
powerivq f0f44c6ea5 Add last_login to single user mode 2022-08-31 00:41:57 -07:00
powerivq f490bdd17a Fix PHP8 empty param problem 2022-08-31 00:36:49 -07:00
fox 60658be5bc Merge pull request 'Use PHP 7.4 features' (#77) from wn/tt-rss:feature/php-7.4-stuff into master
Reviewed-on: https://dev.tt-rss.org/fox/tt-rss/pulls/77
2022-08-17 19:38:15 +03:00
Andrew Dolgov ec764f97e7
generate_syndicated_feed: add source section to JSON-formatted output 2022-08-16 20:02:28 +03:00
wn_ 0dbed700ef Merge remote-tracking branch 'origin/master' into feature/php-7.4-stuff 2022-08-15 10:43:14 +00:00
Andrew Dolgov 7d77edd1fb
amend logic flow to fix phpstan warning in previous 2022-08-15 07:59:24 +03:00
wn_ 830a20debf Handle 'file_get_contents()' failure in 'UrlHelper::fetch()'. 2022-08-14 16:52:44 +00:00
wn_ 57e31fe5a7 Handle valid HTTP responses with no response body. 2022-08-14 16:39:03 +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_ 7567676ed8 Remove a PHP < 7.1 branch in UrlHelper. 2022-08-12 14:16:40 +00:00
wn_ 93fd85df6f Switch to direct type declarations of class properties. 2022-08-12 14:13:26 +00:00
Andrew Dolgov 26c67dba77
update phpstan to 1.8.2 2022-07-31 13:55:09 +03:00
Andrew Dolgov 4aefbd628e
properly check for baseline required PHP version (7.4) 2022-07-29 06:34:20 +03:00
Andrew Dolgov 7c45b3f789
* add HOOK_LOGINFORM_ADDITIONAL_BUTTONS
* allow plugins to inject JS code into login form
2022-07-24 16:33:28 +03:00
Andrew Dolgov c0385c2098
public: allow system plugins to expose public methods 2022-07-24 15:51:56 +03:00
Andrew Dolgov 74d7f88fae
make_self_url: properly strip out GET params 2022-07-24 14:50:03 +03:00
Andrew Dolgov 5006c754c4
readability: add missing dependencies 2022-07-24 14:03:04 +03: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 5c70d26b7e
some very minor php8.1 warnings fixed 2022-07-13 07:08:31 +03:00