wn_
b28d339bf2
Don't set 'favicon_avg_color' on feed obj unless it's valid.
2023-02-03 01:28:24 +00:00
wn_
f484988967
Fix logging favicon-related bools in 'RSSUtils::update_rss_feed()'.
2023-02-03 01:17:53 +00:00
wn_
380624a484
Persist failure to detect favicon average color.
...
Previously, an empty string returned by '\Colors\calculate_avg_color()' would be set as the 'favicon_avg_color' value, resulting in always reattempting average color calculation.
2023-02-03 01:02:42 +00:00
wn_
f0f7a5f958
Ensure custom favicon color detection happens.
2023-02-03 00:45:04 +00:00
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
DJ_TBX
9d69fd2a56
Fix MySQL search Queries
...
Add the missing space between "AND" and "MATCH" in MySQL search queries
2022-07-04 00:17:01 +03:00
Andrew Dolgov
50f014e52d
implement native fulltext search on mysql
2022-06-19 22:21:54 +03:00
Andrew Dolgov
6d98cc6c80
schema: add fulltext indexes for mysql to support af_psql_trgm and possibly future fulltext search
2022-06-19 21:53:57 +03:00
Andrew Dolgov
c2f7044485
userhelper: fix optional parameter being declared before a required one
2022-06-13 08:37:39 +03:00
Andrew Dolgov
d4be821825
UserHelper, CLI: add a method to check user password
2022-06-10 22:16:48 +03:00
Andrew Dolgov
cf1eaeedf3
* add UserHelper methods to manipulate user database (add, modify, delete)
...
* expose said methods via CLI (update.php)
* fix several invocations of deprecated functions
* set stricter type hints on several method arguments
2022-06-10 13:39:00 +03:00
Andrew Dolgov
2975c7297b
throttle updates if received HTTP 429 (Too Many Requests)
2022-06-09 09:06:52 +03:00
Andrew Dolgov
7cd26272fa
Revert "minor: Support html content in mailer.php"
...
This reverts commit b91ffae292
.
2022-06-06 21:05:24 +03:00
Andrew Dolgov
8151295829
Revert "trivia: coding style"
...
This reverts commit 9e557501fa
.
2022-06-06 21:05:15 +03:00
Andrew Dolgov
8ef816d8f8
feeds-tree: move external onClick dojo/method to PrefFeedTree class
2022-06-06 09:31:37 +03:00
Andrew Dolgov
6436dd16f9
filter-tree: move external dojo/method to PrefFilterTree class
2022-06-06 09:29:16 +03:00
Andrew Dolgov
dd983e5de1
prefs: move external filter tree onload method (which checks for inactive feeds, etc.) to FilterTree class
2022-06-05 11:47:21 +03:00
Andrew Dolgov
fc84712135
pref-filters: add a button to hide or show rules in the filter list
2022-06-05 11:41:28 +03:00
Andrew Dolgov
9457bb090a
fix PHP8 undefined array key warning when resetting prefs to defaults
2022-06-05 11:14:42 +03:00
Andrew Dolgov
5adedcd3d0
fix custom-set site URLs never used while updating feeds
2022-05-29 08:02:12 +03:00
Andrew Dolgov
b0059d3f88
when determining feed-specific favicon, instead of using first match or generic fallback, go through entire list of determined favicon URLs
2022-05-28 22:27:59 +03:00
Hardway Hou
9e557501fa
trivia: coding style
2022-05-24 20:49:01 +08:00
Hardway Hou
b91ffae292
minor: Support html content in mailer.php
2022-05-24 10:09:46 +08:00
Andrew Dolgov
1b3e655f89
use CURLAUTH_BASIC by default for password-protected feeds, keeping
...
CURLAUTH_ANY as a fallback in case we got a 403.
2022-05-23 08:43:04 +03:00
Siemenskun
3406a16025
Fix typo
2022-05-22 02:02:56 +03:00
Siemenskun
d33d026b12
Fix xml parsing error
...
Move re-requesting logic before parsing response body, otherwise it puts HTTP headers into XML body
2022-05-22 01:46:46 +03:00
Andrew Dolgov
2654b3c6be
disable some pointless startup sanity checks when running under docker
2022-04-03 19:39:34 +03:00
Andrew Dolgov
4250386ba5
set last_login_update session variable immediately when logging in
2022-03-29 13:52:22 +03:00
Andrew Dolgov
385da287d8
rewrite_relative: deal with undefined path warning
2022-03-22 19:43:32 +03:00
Andrew Dolgov
0345e9d3f6
rewrite_relative: use isset() to check for relative path
2022-03-22 16:18:22 +03:00
Andrew Dolgov
e35a4a1306
tests: add stub autoloader, add a few more rewrite_relative tests
2022-03-22 14:32:32 +03:00
Andrew Dolgov
1c4f7ab3b8
* add phpunit as a dev dependency
...
* add some basic tests for UrlHelper::rewrite_relative()
* fix UrlHelper::rewrite_relative() to work better on non-absolute
relative URL paths
2022-03-22 12:24:31 +03:00
David Edler
de1e218a83
various fixes vor php 8.1 compatibility
...
Cherry-picked from https://git-gitea.tt-rss.org/fox/tt-rss/pulls/56 ,
while excluding changes in vendor/ (causes compatiblity issues with
PHP<8 [1]) and strftime-related ones (already re-applied in
https://git-gitea.tt-rss.org/fox/tt-rss/pulls/66 ).
[1] https://community.tt-rss.org/t/support-for-php-8-1/5089/9
2022-03-09 00:46:15 +08:00
Andrew Dolgov
39c0bd378a
getAllCounters: set default value if frontend doesn't pass label or feed id count
2022-02-25 12:41:53 +03:00
Andrew Dolgov
f7e2f62022
fix Feeds::_get_counters() used improperly as a replacement for
...
getFeedUnread()
2022-02-20 12:48:38 +03:00
Andrew Dolgov
77f39d65b5
* Feeds::_get_counters - fix retrieving unread for tags
...
* mark several symbols as @deprecated properly
* replace uses of (deprecated) getFeedUnread() with Feeds::_get_counters()
2022-02-20 11:04:40 +03:00
Andrew Dolgov
168dc6fe57
rewrite_relative: prevent php warning when checking for unset content type in EXTRA_SCHEMES_BY_CONTENT_TYPE
2022-02-18 16:44:03 +03:00
Andrew Dolgov
74a247fc5c
rewrite_relative: whitelist specific schemes for URLs with 'known' content-types i.e. specified for enclosures
2022-02-17 22:38:38 +03:00
Andrew Dolgov
89ef98e57e
allow running as root in a container environment
2022-02-17 17:32:02 +03:00
Felix Eckhofer
cc30198b3d
Replace deprecated `strftime`
2022-02-03 16:13:01 +01:00
Schrottfresse
931e33c381
Add workaround for boolean values being intergers with MySQL/PHP 8.1
2022-01-28 08:37:29 +01:00
Andrew Dolgov
c57ebf2c10
fix filter last_triggered not updating
2022-01-25 22:33:13 +03:00
Richard Tollerton
aaccf89501
update_rss_feed: juxtapose pdo and ORM commit on timestamp update
...
If for whatever reason $pdo holds a DDL lock on ttrss_entries, it could
block ORM's save, leading to a deadlock. To work around this, call
$pdo->commit() before ORM::for_table()->save().
2022-01-13 23:39:49 -06:00
Andrew Dolgov
c3482fbe6b
generate a warning if plugin-generated content of HOOK_ARTICLE_BUTTON or _LEFT_BUTTON can't be parsed as valid XML
2022-01-06 10:37:03 +03:00
Andrew Dolgov
1818fc11a5
fetch: return HTTP code when no curl_error() is available
2021-12-23 17:32:44 +03:00
Andrew Dolgov
6971ca08b2
remove deprecated LOG_ constants
2021-12-23 17:32:27 +03:00
Andrew Dolgov
7aeaa1b039
rssutils: rewrite several invocations of (deprecated) rewrite_relative_url() to UrlHelper::rewrite_relative()
2021-12-20 08:03:30 +03:00
Andrew Dolgov
40b2356be2
filters:
...
* add filter action to ignore feed-provided tags
* simplify handling of various filter-provided tags
* bump schema to 146
2021-12-20 07:56:16 +03:00
Andrew Dolgov
720b318796
* fox.form.Select: add several properties allowing it to better
...
imitate other controls like DropDownButton, etc.
* rework several main toolbar items to use fox.form.Select instead of
other controls
* replace HOOK_HEADLINE_TOOLBAR_SELECT_MENU_ITEM with
HOOK_HEADLINE_TOOLBAR_SELECT_MENU_ITEM2 because of markup change (option
instead of menuitem)
* PluginHost: add some explicit typecasts to make intellephense shut up
2021-12-14 21:53:45 +03:00
wn_
0726a9d820
Handle another potential 'SUM()' null situation in Feeds.
2021-12-14 12:50:53 +00:00
wn_
ddc81b2c89
Add a note on why ed74c43f18
was needed.
2021-12-14 12:47:25 +00:00