Andrew Dolgov
09e9f34bb4
add UserHelper::find_user_by_login() and rewrite some user checks to invoke it instead of going through PDO
2021-02-11 10:22:27 +03:00
Andrew Dolgov
7af8744c85
authentication: make logins case-insensitive (force lowercase)
2021-02-11 09:57:57 +03:00
Andrew Dolgov
e7e73193fe
fix warning in profile edit dialog (2)
2021-02-10 22:06:01 +03:00
Andrew Dolgov
2505ae43a9
fix warning in profile edit dialog
2021-02-10 22:03:08 +03:00
Andrew Dolgov
9e1459d5db
pref/prefs: fix warning when in non-default profile
2021-02-10 21:40:43 +03:00
Andrew Dolgov
d630a92c40
fix 2 warnings in feed editor
2021-02-09 15:04:01 +03:00
Andrew Dolgov
2f8efab275
api: one more php8 warning
2021-02-09 12:04:59 +03:00
Andrew Dolgov
a5819569f2
pluginhost: a few more warnings and type hints
2021-02-09 10:20:58 +03:00
Andrew Dolgov
6a25bc53ef
api: pass hook object payload by reference
2021-02-09 08:57:23 +03:00
Andrew Dolgov
3655e7aaf1
api: fix some php8 warnings (4)
2021-02-09 08:50:51 +03:00
Andrew Dolgov
aba028a375
api: fix some php8 warnings (3)
2021-02-09 08:47:41 +03:00
Andrew Dolgov
f6f0f21664
make ARTICLE_KIND_ constants class members
2021-02-09 08:24:46 +03:00
Andrew Dolgov
0871a51cb4
api: fix some php8 warnings (2)
2021-02-09 08:16:04 +03:00
Andrew Dolgov
63a90d26f3
api: fix some php8 warnings
2021-02-09 08:15:07 +03:00
Andrew Dolgov
7ae0e8d9c5
rewrite some more hooks in classes/feeds
2021-02-08 23:10:22 +03:00
Andrew Dolgov
345dbb3521
rewrite some more hooks
2021-02-08 22:46:01 +03:00
Andrew Dolgov
6c8ccd2acc
front page log checker: filter out idiotic GD warning
2021-02-08 22:15:35 +03:00
Andrew Dolgov
9f3de2d24c
login: fix profile warning
2021-02-08 22:03:27 +03:00
Andrew Dolgov
07408ac222
opml: normalize class name
2021-02-08 21:38:26 +03:00
Andrew Dolgov
d91eae9c7e
pluginhost: add some type hints
2021-02-08 21:38:09 +03:00
Andrew Dolgov
7eb860af61
even more hooks
2021-02-08 21:28:09 +03:00
Andrew Dolgov
6e57fd77af
db: add type hints
2021-02-08 21:11:56 +03:00
Andrew Dolgov
a14873d5b4
more hooks, also add type hint for PluginHost::getInstance()
2021-02-08 21:06:14 +03:00
Andrew Dolgov
54bbd08f38
some more hooks
2021-02-08 20:45:11 +03:00
Andrew Dolgov
ca4c93c6b9
pluginhost: note hook function prototypes
2021-02-08 20:20:24 +03:00
Andrew Dolgov
7874f6ac58
remove PHPMD.UnusedFormalParameter
2021-02-08 19:42:10 +03:00
Andrew Dolgov
a341a838b1
pluginhost: deny hook registration to plugins which lack relevant implementation methods
2021-02-08 19:16:53 +03:00
Andrew Dolgov
51d2deeea9
fix hierarchy of authentication modules, make everything extend Auth_Base and implement hook_auth_user() for pluginhost
2021-02-08 19:11:31 +03:00
Andrew Dolgov
fc2e0bf67b
log viewer: disable previous page on page 1
2021-02-08 17:05:50 +03:00
Andrew Dolgov
fa2ebcd0a2
api: rewrite a few more hooks
2021-02-08 17:03:34 +03:00
Andrew Dolgov
363b3629a4
rewrite a few more hooks
2021-02-08 16:52:47 +03:00
Andrew Dolgov
3b52cea811
move some old-style handlers to new callback ones
2021-02-08 16:14:48 +03:00
Andrew Dolgov
1d5c8ee500
prefs: fix user plugins shown by incorrect criteria
2021-02-08 15:41:15 +03:00
Andrew Dolgov
1eb1629d9e
pluginhost: rework run_hooks() to be shorter, add callback variant; implement exception handling for both
2021-02-08 14:24:45 +03:00
Andrew Dolgov
20b56b5b23
pluginhost: catch errors while loading plugin source code
2021-02-08 12:14:12 +03:00
Andrew Dolgov
4165834f80
pluginhost: catch fatal errors in plugin init
2021-02-08 12:10:25 +03:00
Andrew Dolgov
d293cbd5a9
fix several warnings related to feed editor
2021-02-08 11:46:43 +03:00
Andrew Dolgov
0a788da2d2
dlg: fix unset param warning
2021-02-08 09:00:29 +03:00
Andrew Dolgov
3ad820e083
oops, remove unneeded warnings
2021-02-08 08:31:06 +03:00
Andrew Dolgov
479da5aa86
jimIcon: hide GD warning
2021-02-08 08:30:04 +03:00
Andrew Dolgov
3f972f8fed
public/subscribe: fix warnings
2021-02-08 08:20:30 +03:00
Andrew Dolgov
41fc03287e
fix even more warnings reported by phpstan
2021-02-06 17:56:47 +03:00
Andrew Dolgov
c94f1b6ff8
fix some more warnings reported by phpstan
2021-02-06 17:38:24 +03:00
Andrew Dolgov
b6e1a5c91a
fix several warnings reported by phpstan
2021-02-06 17:19:07 +03:00
Andrew Dolgov
ce2335deaf
pref-users: css fixes
2021-02-06 16:24:40 +03:00
Andrew Dolgov
d8de10d78a
error log: fix severity dropdown
2021-02-06 16:16:43 +03:00
Andrew Dolgov
73e697a0df
fix some warnings in prefs (filters, users)
2021-02-06 16:13:11 +03:00
Andrew Dolgov
73070544ca
error log: make it more readable
2021-02-06 16:11:29 +03:00
Andrew Dolgov
5cfc5914f2
log viewer: show total pages
2021-02-06 15:33:19 +03:00
Andrew Dolgov
5849a39820
af_redditimgur: don't try to load empty html; fix a warning in update debugger
2021-02-06 10:31:06 +03:00
Andrew Dolgov
ce489a724b
fix a few more warnings
2021-02-06 10:23:45 +03:00
Andrew Dolgov
10392ecc28
event log: add pagination
2021-02-06 10:10:54 +03:00
Andrew Dolgov
9fdeb58fd3
check a few more php8 warnings
2021-02-06 09:51:28 +03:00
Andrew Dolgov
a544123b59
fix clean() for arrays and user plugin list
2021-02-06 00:17:41 +03:00
Andrew Dolgov
6e774a58fe
more php8 fixes mostly related to login
2021-02-06 00:12:15 +03:00
Andrew Dolgov
403dca154c
initial WIP for php8; bump php version requirement to 7.0
2021-02-05 23:41:32 +03:00
Andrew Dolgov
da0ad82c24
Archive cleanup:
...
- remove code to manually archive/unarchive articles
- remove ttrss_archived_feeds/orig_feed_id handling - the whole thing was implemented for
this data to be kept indefinitely; it doesn't make a lot of sense to deal with this stuff
now that it is expired after one month anyway (same reasons as feed browser being removed - privacy)
- remove "originally from"-related stuff because of the above
- also remove unused remaining frontend/backend code related to feed browser (rip)
2021-01-17 14:55:11 +03:00
Andrew Dolgov
25520e9784
Select... dropdown: replace dijit Select with DropDownButton, simplify layout
...
PluginHost: add HOOK_HEADLINE_TOOLBAR_SELECT_MENU_ITEM
Headlines.onActionChanged: removed
2021-01-17 11:27:07 +03:00
Andrew Dolgov
bc0d50e892
remove show as feed from Select dropdown in main toolbar
2021-01-17 10:43:29 +03:00
Andrew Dolgov
b2993bcd30
remove menu options to manually un/archive articles
2021-01-17 10:37:40 +03:00
Andrew Dolgov
ee4b7bebe8
pluginhost: load_data: check schema last
2021-01-15 08:35:05 +03:00
Andrew Dolgov
40f38fc87f
pluginhost: load plugin data automatically (also marks load_data method as private)
2021-01-15 08:32:06 +03:00
Andrew Dolgov
f67f0f864b
HOOK_ARTICLE_EXPORT_FEED: also pass owner_uid
2021-01-11 22:52:31 +03:00
JustAMacUser
fadf4dec96
Include tags for HOOK_ARTICLE_EXPORT_FEED.
2021-01-10 03:23:16 -05:00
Andrew Dolgov
33a5ecd2ce
feed editor: show purge interval correctly if FORCE_ARTICLE_PURGE is set
2021-01-07 18:16:42 +03:00
Andrew Dolgov
4e3ef7a4dd
get_user_ip: remove REMOTEADDR for the time being
2021-01-05 10:25:43 +03:00
Andrew Dolgov
a8302fb253
use X-Real-IP headers if possible while authenticating
2021-01-05 10:17:24 +03:00
Andrew Dolgov
8cc07bc8bd
event log: add severity filtering
2020-12-24 15:02:47 +03:00
Andrew Dolgov
6da576dbe4
BLACKLISTED_TAGS: use textarea for editing; normalize value when saving
2020-12-21 08:50:34 +03:00
Andrew Dolgov
f59c567831
update_rss_feed: fix BLACKLISTED_TAGS not working properly, simplify tag-related code
2020-12-20 23:12:45 +03:00
Andrew Dolgov
5f733604f0
purge_feed: limit debugging to LOG_VERBOSE
2020-12-20 23:11:26 +03:00
wn_
d2db58de4f
Switch from 'vsprintf' to 'sprintf' in another place.
2020-12-16 07:55:32 -06:00
fox
ef7e679363
Merge branch 'feature/php8' of wn/tt-rss into master
2020-12-16 11:06:48 +00:00
Andrew Dolgov
b4b2ba99ef
purge_feed: shorten one log message
2020-12-15 09:43:59 +03:00
Andrew Dolgov
f05f9b4252
purge_feed: add more debugging output
2020-12-15 08:50:01 +03:00
Andrew Dolgov
9b7338e807
feed editor: properly show global purging interval as disabled
2020-12-15 08:49:43 +03:00
Andrew Dolgov
83962a8561
feed debugger: allow setting log level to LOG_EXTENDED
2020-12-12 22:17:23 +03:00
wn
62da307ef1
Use correct 'sprintf' function and other minor fixes in Pref_Feeds.
2020-12-12 10:28:55 -06:00
wn
a1f8d6941b
Remove duplicate block in 'classes/pref/filters.php'.
...
Also a minor tweak to getting the search filter.
2020-12-12 10:28:54 -06:00
wn
8c4ca7c8ef
Fix some 'isset' checks in 'classes/pref/prefs.php'.
2020-12-12 10:28:53 -06:00
wn
95d0cb4953
Handle potential absence of a URL path in UrlHelper.
2020-12-12 10:28:53 -06:00
Andrew Dolgov
71c8d8d365
queryFeedHeadlines:
...
- there should be no need for DISTINCT query when checking for first id
- fix DISTINCT query part being undefined when browsing by tags
- add query debugging for tags
2020-12-08 17:01:19 +03:00
Andrew Dolgov
7608f3d7b0
Merge branch 'master' of git.fakecake.org:tt-rss
2020-12-08 13:55:11 +03:00
Andrew Dolgov
2edfcbbd85
get_article_image: add support for ARTICLE_KIND_ALBUM
2020-12-08 13:54:52 +03:00
Andrew Dolgov
85b788709a
setArticleTags: prevent duplicate tags being assigned if called twice
...
editTagsDlg: prevent dialot from being submitted twice
normalize_categories: filter out empty values that failed validation
2020-12-07 23:35:37 +03:00
Andrew Dolgov
d06cc8267b
queryFeedHeadlines: bring back DISTINCT for a limited set of columns
2020-12-07 16:59:48 +03:00
Andrew Dolgov
e40b79ab33
get_article_image: return basic kind to which flavor image belongs
2020-12-07 12:09:06 +03:00
Andrew Dolgov
db3fcb861b
viewfeed: reintroduce timestamps, fix debugging, fix some indents
2020-12-04 18:55:53 +03:00
Andrew Dolgov
20af8d5caf
queryFeedHeadlines: properly define for a few more variables
2020-12-04 08:59:37 +03:00
Andrew Dolgov
1580748c17
queryFeedHeadlines: make sure feed_check_qpart is always defined
2020-12-04 08:55:26 +03:00
Andrew Dolgov
904d5f7a3b
queryFeedHeadlines: no longer select DISTINCT headlines for performance reasons (this also removes _HEADLINES_QUERY_NO_DISTINCT)
2020-12-04 08:44:43 +03:00
Andrew Dolgov
e9673eb13d
experimental: add optional _HEADLINES_QUERY_NO_DISTINCT to disable DISTINCT keyword in queryFeedHeadlines query
2020-12-03 14:42:01 +03:00
Andrew Dolgov
8089fcc762
feed editor: also show default value for purge interval
2020-11-30 15:34:15 +03:00
Andrew Dolgov
d48460969d
feed editor: show actual value of default update interval
2020-11-30 15:29:22 +03:00
Andrew Dolgov
d1ee30d1ba
prevent horizontal scrolling in filter editor dialog if rules are very long
2020-11-27 12:27:12 +03:00
Andrew Dolgov
328d7b55c8
URLHelper: fix E_DEPRECATED error related to idn_to_ascii()
2020-11-14 15:13:35 +03:00
John Aylward
01c0d4bbfd
allow audio to be sent to client from the cache
2020-11-04 14:34:37 -05:00
JustAMacUser
f782ee46ad
Fix incorrect parenthesis placement in `count()`.
2020-10-29 00:52:07 -04:00
Andrew Dolgov
f1fd5e8db1
mark feed as having an error if update task fails (and no last error is already stored for this feed)
2020-10-18 16:12:58 +03:00
Andrew Dolgov
935f163919
api: catchupfeed: allow passing 'mode' (optional), bump api version
2020-10-03 10:23:21 +03:00
Andrew Dolgov
4ea407f613
when auto disabling feeds based on DAEMON_UNSUCCESSFUL_DAYS_LIMIT only consider feeds with recent attempts to update (to prevent clashes with not recently logged users, etc)
2020-10-01 15:59:40 +03:00
Andrew Dolgov
38a7a1da88
hide uninteresting errors in several DOMDocument->loadHTML() invocations
2020-10-01 13:20:07 +03:00
Andrew Dolgov
8a02a728c8
add DAEMON_UNSUCCESSFUL_DAYS_LIMIT tunable (defaults to 30 days)
2020-09-30 17:03:16 +03:00
Andrew Dolgov
e641547d37
set ttrss_feeds.last_successful_update as needed
2020-09-30 16:35:50 +03:00
Andrew Dolgov
15e8ee3471
housekeeping: add task to cleanup orphan feed icons
2020-09-29 12:46:55 +03:00
Andrew Dolgov
82bc740363
Logger::log - allow specifying errno
...
bump severity of PDO exception log messages to E_USER_WARNING
2020-09-29 10:08:54 +03:00
Andrew Dolgov
3b17c45887
exclude E_USER_NOTICE from recent events icon
2020-09-29 10:03:11 +03:00
Andrew Dolgov
23d20847a3
update_rss_feed: fallback to previous method if passthru() is not available
2020-09-28 21:19:53 +03:00
Andrew Dolgov
c70e26db31
validate url: feed urlencoded() URL to filter_var() only
2020-09-28 19:46:31 +03:00
Andrew Dolgov
7c8bed0524
accept -1 as a valid exit code for per-feed update processes
2020-09-28 16:02:59 +03:00
Andrew Dolgov
335dcd3bf9
don't mention last_updated in non-zero failure error message because that's not what it means
2020-09-28 08:32:14 +03:00
Andrew Dolgov
3534b8dfa7
improve logging for per-feed update task failures
2020-09-28 08:02:38 +03:00
Andrew Dolgov
74cd60d7cc
update_rss_feed: don't return as if failed on http 304
2020-09-27 17:13:36 +03:00
Andrew Dolgov
d4d0e976dc
update-feed: exit with non-zero exit code if update_rss_feed() failed
...
daemon: log if per-feed update task terminated with non-zero exit code
2020-09-27 16:42:45 +03:00
Andrew Dolgov
0761533d0a
lock per-feed update processes based on feed ID to reduce possibilty
...
of concurrent updates
2020-09-27 16:01:39 +03:00
Andrew Dolgov
528b387563
update individual feed in a separate process to prevent PHP fatal errors
...
(for example, OOM) from stopping the entire batch
this should also slightly increase memory budget for update processes
2020-09-27 15:58:13 +03:00
Andrew Dolgov
e993d4feb2
Merge branch 'master' of git.fakecake.org:tt-rss
2020-09-25 10:04:09 +03:00
Andrew Dolgov
71e9f70b8a
search_to_sql: use per-user default language instead of hardcoded english if isn't specified explicitly
2020-09-25 10:03:42 +03:00
Andrew Dolgov
d0ed7890df
prev: add missing class
2020-09-23 13:05:00 +03:00
Andrew Dolgov
215f388992
move timestamp-related stuff to a separate class
2020-09-23 13:04:26 +03:00
Andrew Dolgov
05744bb474
fix updater never scheduling feeds for update if they never been updated before while having default update interval set
2020-09-22 20:33:51 +03:00
Andrew Dolgov
8fb2baecdc
another hack for validation of URLs with invalid characters
2020-09-22 19:56:26 +03:00
Andrew Dolgov
a897c4165b
validate URLs: convert IDN to punycode before passing URL to filter_var()
2020-09-22 15:32:22 +03:00
Andrew Dolgov
6811d0bde2
use self:: in some places to invoke static methods from the same class
2020-09-22 14:54:15 +03:00
Andrew Dolgov
b5710baf34
- don't fail on non-ascii characters when validating URLs
...
- fix IDN hostnames not being converted properly
2020-09-22 14:37:45 +03:00
Andrew Dolgov
ab6aa0ad3e
fix previous re: resolve_redirects
2020-09-22 09:18:24 +03:00
Andrew Dolgov
74568df4ff
remove a lot of stuff from global context (functions.php), add a few helper classes instead
2020-09-22 09:04:33 +03:00
Andrew Dolgov
3dd4169b5f
clarify some URL validation-related error messages
2020-09-21 20:35:24 +03:00
Andrew Dolgov
4785f21316
update_rss_feed: log effective URL after fetching
...
validate_url: treat scheme as case-insensitive
2020-09-21 20:26:57 +03:00
Andrew Dolgov
05ef9aac2f
update URL pointing to version.json
2020-09-19 07:33:59 +03:00
Andrew Dolgov
03a337a660
add basic safe mode which doesn't load any user plugins
2020-09-18 15:48:22 +03:00
Andrew Dolgov
a4525d31b2
replace FALSE with false so that static analyzer shuts up about it
2020-09-17 19:02:27 +03:00
Andrew Dolgov
afa0023c51
don't try to update manually disabled feeds even if they haven't been updated before or are marked for a manual update
2020-09-17 15:40:50 +03:00
Andrew Dolgov
37f41a5246
forgotpass: use type strict comparison for reset token
2020-09-17 11:49:27 +03:00
Andrew Dolgov
e3adacc588
fix several cases of Db class being invoked as wrong name (as DB)
2020-09-17 09:18:03 +03:00
Andrew Dolgov
89d53a7f49
fix typo in previous
2020-09-17 08:45:17 +03:00
Andrew Dolgov
1f79d614c4
fix OTP QR code not displayed because of CSRF token passed as a query
...
parameter
use type-strict comparison when validating CSRF token on the backend
2020-09-17 08:43:39 +03:00
Andrew Dolgov
9d3c794983
subscribe: allow pre-filling feed URL if passed via query string
2020-09-16 17:20:31 +03:00
Andrew Dolgov
33fdde249e
pass CSRF token to opml import and feed icon replace dialogs
2020-09-16 06:43:55 +03:00
Andrew Dolgov
42b5564d1e
editarticletags: load dialog via XHR
2020-09-15 18:47:19 +03:00
Andrew Dolgov
0706a328a4
handler: default base csrf_ignore() to false
2020-09-15 18:16:33 +03:00
Andrew Dolgov
0a142912d3
backend handler: require CSRF, remove obsolete code
2020-09-15 18:08:08 +03:00
Andrew Dolgov
154417d80b
public/logout: require valid CSRF token
2020-09-15 16:59:11 +03:00
Andrew Dolgov
cbcb10a272
Feeds: load quickaddfeed and search dialogs via XHR w/ CSRF protection
2020-09-15 16:28:09 +03:00
Andrew Dolgov
8080c525fd
- backend: require CSRF token to be passed via POST
...
- do not leak CSRF token via GET request in feed debugger
- rework Article/redirect to use POST
2020-09-15 16:12:53 +03:00
Andrew Dolgov
e670ac2ee5
require CSRF token for Article/redirect
2020-09-15 15:35:50 +03:00
Andrew Dolgov
7e50c6c4b5
- enable CSRF support earlier
...
- remove rpc/sanityCheck from CSRF-excluded calls
2020-09-15 15:32:17 +03:00
Andrew Dolgov
79f102c25d
af_proxy_http: never print received data directly, always redirect to cached_url
...
cache/getUrl: basename() passed filename just in case
2020-09-15 08:02:28 +03:00
Andrew Dolgov
4a074111b5
user preferences: forbid < and > characters when changing passwords (were silently stripped on save because of clean())
2020-09-14 20:53:00 +03:00
Andrew Dolgov
da98ba662e
public/subscribe: require valid CSRF token when validating the form
2020-09-14 20:21:22 +03:00