Andrew Dolgov
9e1459d5db
pref/prefs: fix warning when in non-default profile
4 years ago
Andrew Dolgov
d630a92c40
fix 2 warnings in feed editor
4 years ago
Andrew Dolgov
2f8efab275
api: one more php8 warning
4 years ago
Andrew Dolgov
a5819569f2
pluginhost: a few more warnings and type hints
4 years ago
Andrew Dolgov
6a25bc53ef
api: pass hook object payload by reference
4 years ago
Andrew Dolgov
3655e7aaf1
api: fix some php8 warnings (4)
4 years ago
Andrew Dolgov
aba028a375
api: fix some php8 warnings (3)
4 years ago
Andrew Dolgov
f6f0f21664
make ARTICLE_KIND_ constants class members
4 years ago
Andrew Dolgov
0871a51cb4
api: fix some php8 warnings (2)
4 years ago
Andrew Dolgov
63a90d26f3
api: fix some php8 warnings
4 years ago
Andrew Dolgov
7ae0e8d9c5
rewrite some more hooks in classes/feeds
4 years ago
Andrew Dolgov
345dbb3521
rewrite some more hooks
4 years ago
Andrew Dolgov
6c8ccd2acc
front page log checker: filter out idiotic GD warning
4 years ago
Andrew Dolgov
9f3de2d24c
login: fix profile warning
4 years ago
Andrew Dolgov
07408ac222
opml: normalize class name
4 years ago
Andrew Dolgov
d91eae9c7e
pluginhost: add some type hints
4 years ago
Andrew Dolgov
7eb860af61
even more hooks
4 years ago
Andrew Dolgov
6e57fd77af
db: add type hints
4 years ago
Andrew Dolgov
a14873d5b4
more hooks, also add type hint for PluginHost::getInstance()
4 years ago
Andrew Dolgov
54bbd08f38
some more hooks
4 years ago
Andrew Dolgov
ca4c93c6b9
pluginhost: note hook function prototypes
4 years ago
Andrew Dolgov
7874f6ac58
remove PHPMD.UnusedFormalParameter
4 years ago
Andrew Dolgov
a341a838b1
pluginhost: deny hook registration to plugins which lack relevant implementation methods
4 years ago
Andrew Dolgov
51d2deeea9
fix hierarchy of authentication modules, make everything extend Auth_Base and implement hook_auth_user() for pluginhost
4 years ago
Andrew Dolgov
fc2e0bf67b
log viewer: disable previous page on page 1
4 years ago
Andrew Dolgov
fa2ebcd0a2
api: rewrite a few more hooks
4 years ago
Andrew Dolgov
363b3629a4
rewrite a few more hooks
4 years ago
Andrew Dolgov
3b52cea811
move some old-style handlers to new callback ones
4 years ago
Andrew Dolgov
1d5c8ee500
prefs: fix user plugins shown by incorrect criteria
4 years ago
Andrew Dolgov
1eb1629d9e
pluginhost: rework run_hooks() to be shorter, add callback variant; implement exception handling for both
4 years ago
Andrew Dolgov
20b56b5b23
pluginhost: catch errors while loading plugin source code
4 years ago
Andrew Dolgov
4165834f80
pluginhost: catch fatal errors in plugin init
4 years ago
Andrew Dolgov
d293cbd5a9
fix several warnings related to feed editor
4 years ago
Andrew Dolgov
0a788da2d2
dlg: fix unset param warning
4 years ago
Andrew Dolgov
3ad820e083
oops, remove unneeded warnings
4 years ago
Andrew Dolgov
479da5aa86
jimIcon: hide GD warning
4 years ago
Andrew Dolgov
3f972f8fed
public/subscribe: fix warnings
4 years ago
Andrew Dolgov
41fc03287e
fix even more warnings reported by phpstan
4 years ago
Andrew Dolgov
c94f1b6ff8
fix some more warnings reported by phpstan
4 years ago
Andrew Dolgov
b6e1a5c91a
fix several warnings reported by phpstan
4 years ago
Andrew Dolgov
ce2335deaf
pref-users: css fixes
4 years ago
Andrew Dolgov
d8de10d78a
error log: fix severity dropdown
4 years ago
Andrew Dolgov
73e697a0df
fix some warnings in prefs (filters, users)
4 years ago
Andrew Dolgov
73070544ca
error log: make it more readable
4 years ago
Andrew Dolgov
5cfc5914f2
log viewer: show total pages
4 years ago
Andrew Dolgov
5849a39820
af_redditimgur: don't try to load empty html; fix a warning in update debugger
4 years ago
Andrew Dolgov
ce489a724b
fix a few more warnings
4 years ago
Andrew Dolgov
10392ecc28
event log: add pagination
4 years ago
Andrew Dolgov
9fdeb58fd3
check a few more php8 warnings
4 years ago
Andrew Dolgov
a544123b59
fix clean() for arrays and user plugin list
4 years ago
Andrew Dolgov
6e774a58fe
more php8 fixes mostly related to login
4 years ago
Andrew Dolgov
403dca154c
initial WIP for php8; bump php version requirement to 7.0
4 years ago
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)
4 years ago
Andrew Dolgov
25520e9784
Select... dropdown: replace dijit Select with DropDownButton, simplify layout
...
PluginHost: add HOOK_HEADLINE_TOOLBAR_SELECT_MENU_ITEM
Headlines.onActionChanged: removed
4 years ago
Andrew Dolgov
bc0d50e892
remove show as feed from Select dropdown in main toolbar
4 years ago
Andrew Dolgov
b2993bcd30
remove menu options to manually un/archive articles
4 years ago
Andrew Dolgov
ee4b7bebe8
pluginhost: load_data: check schema last
4 years ago
Andrew Dolgov
40f38fc87f
pluginhost: load plugin data automatically (also marks load_data method as private)
4 years ago
Andrew Dolgov
f67f0f864b
HOOK_ARTICLE_EXPORT_FEED: also pass owner_uid
4 years ago
JustAMacUser
fadf4dec96
Include tags for HOOK_ARTICLE_EXPORT_FEED.
4 years ago
Andrew Dolgov
33a5ecd2ce
feed editor: show purge interval correctly if FORCE_ARTICLE_PURGE is set
4 years ago
Andrew Dolgov
4e3ef7a4dd
get_user_ip: remove REMOTEADDR for the time being
4 years ago
Andrew Dolgov
a8302fb253
use X-Real-IP headers if possible while authenticating
4 years ago
Andrew Dolgov
8cc07bc8bd
event log: add severity filtering
4 years ago
Andrew Dolgov
6da576dbe4
BLACKLISTED_TAGS: use textarea for editing; normalize value when saving
4 years ago
Andrew Dolgov
f59c567831
update_rss_feed: fix BLACKLISTED_TAGS not working properly, simplify tag-related code
4 years ago
Andrew Dolgov
5f733604f0
purge_feed: limit debugging to LOG_VERBOSE
4 years ago
wn_
d2db58de4f
Switch from 'vsprintf' to 'sprintf' in another place.
4 years ago
fox
ef7e679363
Merge branch 'feature/php8' of wn/tt-rss into master
4 years ago
Andrew Dolgov
b4b2ba99ef
purge_feed: shorten one log message
4 years ago
Andrew Dolgov
f05f9b4252
purge_feed: add more debugging output
4 years ago
Andrew Dolgov
9b7338e807
feed editor: properly show global purging interval as disabled
4 years ago
Andrew Dolgov
83962a8561
feed debugger: allow setting log level to LOG_EXTENDED
4 years ago
wn
62da307ef1
Use correct 'sprintf' function and other minor fixes in Pref_Feeds.
4 years ago
wn
a1f8d6941b
Remove duplicate block in 'classes/pref/filters.php'.
...
Also a minor tweak to getting the search filter.
4 years ago
wn
8c4ca7c8ef
Fix some 'isset' checks in 'classes/pref/prefs.php'.
4 years ago
wn
95d0cb4953
Handle potential absence of a URL path in UrlHelper.
4 years ago
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
4 years ago
Andrew Dolgov
7608f3d7b0
Merge branch 'master' of git.fakecake.org:tt-rss
4 years ago
Andrew Dolgov
2edfcbbd85
get_article_image: add support for ARTICLE_KIND_ALBUM
4 years ago
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
4 years ago
Andrew Dolgov
d06cc8267b
queryFeedHeadlines: bring back DISTINCT for a limited set of columns
4 years ago
Andrew Dolgov
e40b79ab33
get_article_image: return basic kind to which flavor image belongs
4 years ago
Andrew Dolgov
db3fcb861b
viewfeed: reintroduce timestamps, fix debugging, fix some indents
4 years ago
Andrew Dolgov
20af8d5caf
queryFeedHeadlines: properly define for a few more variables
4 years ago
Andrew Dolgov
1580748c17
queryFeedHeadlines: make sure feed_check_qpart is always defined
4 years ago
Andrew Dolgov
904d5f7a3b
queryFeedHeadlines: no longer select DISTINCT headlines for performance reasons (this also removes _HEADLINES_QUERY_NO_DISTINCT)
4 years ago
Andrew Dolgov
e9673eb13d
experimental: add optional _HEADLINES_QUERY_NO_DISTINCT to disable DISTINCT keyword in queryFeedHeadlines query
4 years ago
Andrew Dolgov
8089fcc762
feed editor: also show default value for purge interval
4 years ago
Andrew Dolgov
d48460969d
feed editor: show actual value of default update interval
4 years ago
Andrew Dolgov
d1ee30d1ba
prevent horizontal scrolling in filter editor dialog if rules are very long
4 years ago
Andrew Dolgov
328d7b55c8
URLHelper: fix E_DEPRECATED error related to idn_to_ascii()
4 years ago
John Aylward
01c0d4bbfd
allow audio to be sent to client from the cache
4 years ago
JustAMacUser
f782ee46ad
Fix incorrect parenthesis placement in `count()`.
4 years ago
Andrew Dolgov
f1fd5e8db1
mark feed as having an error if update task fails (and no last error is already stored for this feed)
4 years ago
Andrew Dolgov
935f163919
api: catchupfeed: allow passing 'mode' (optional), bump api version
4 years ago
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)
4 years ago
Andrew Dolgov
38a7a1da88
hide uninteresting errors in several DOMDocument->loadHTML() invocations
4 years ago
Andrew Dolgov
8a02a728c8
add DAEMON_UNSUCCESSFUL_DAYS_LIMIT tunable (defaults to 30 days)
4 years ago
Andrew Dolgov
e641547d37
set ttrss_feeds.last_successful_update as needed
4 years ago
Andrew Dolgov
15e8ee3471
housekeeping: add task to cleanup orphan feed icons
4 years ago
Andrew Dolgov
82bc740363
Logger::log - allow specifying errno
...
bump severity of PDO exception log messages to E_USER_WARNING
4 years ago
Andrew Dolgov
3b17c45887
exclude E_USER_NOTICE from recent events icon
4 years ago
Andrew Dolgov
23d20847a3
update_rss_feed: fallback to previous method if passthru() is not available
4 years ago
Andrew Dolgov
c70e26db31
validate url: feed urlencoded() URL to filter_var() only
4 years ago
Andrew Dolgov
7c8bed0524
accept -1 as a valid exit code for per-feed update processes
4 years ago
Andrew Dolgov
335dcd3bf9
don't mention last_updated in non-zero failure error message because that's not what it means
4 years ago
Andrew Dolgov
3534b8dfa7
improve logging for per-feed update task failures
4 years ago
Andrew Dolgov
74cd60d7cc
update_rss_feed: don't return as if failed on http 304
4 years ago
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
4 years ago
Andrew Dolgov
0761533d0a
lock per-feed update processes based on feed ID to reduce possibilty
...
of concurrent updates
4 years ago
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
4 years ago
Andrew Dolgov
e993d4feb2
Merge branch 'master' of git.fakecake.org:tt-rss
4 years ago
Andrew Dolgov
71e9f70b8a
search_to_sql: use per-user default language instead of hardcoded english if isn't specified explicitly
4 years ago
Andrew Dolgov
d0ed7890df
prev: add missing class
4 years ago
Andrew Dolgov
215f388992
move timestamp-related stuff to a separate class
4 years ago
Andrew Dolgov
05744bb474
fix updater never scheduling feeds for update if they never been updated before while having default update interval set
4 years ago
Andrew Dolgov
8fb2baecdc
another hack for validation of URLs with invalid characters
4 years ago
Andrew Dolgov
a897c4165b
validate URLs: convert IDN to punycode before passing URL to filter_var()
4 years ago
Andrew Dolgov
6811d0bde2
use self:: in some places to invoke static methods from the same class
4 years ago
Andrew Dolgov
b5710baf34
- don't fail on non-ascii characters when validating URLs
...
- fix IDN hostnames not being converted properly
4 years ago
Andrew Dolgov
ab6aa0ad3e
fix previous re: resolve_redirects
4 years ago
Andrew Dolgov
74568df4ff
remove a lot of stuff from global context (functions.php), add a few helper classes instead
4 years ago
Andrew Dolgov
3dd4169b5f
clarify some URL validation-related error messages
4 years ago
Andrew Dolgov
4785f21316
update_rss_feed: log effective URL after fetching
...
validate_url: treat scheme as case-insensitive
4 years ago
Andrew Dolgov
05ef9aac2f
update URL pointing to version.json
4 years ago
Andrew Dolgov
03a337a660
add basic safe mode which doesn't load any user plugins
4 years ago
Andrew Dolgov
a4525d31b2
replace FALSE with false so that static analyzer shuts up about it
4 years ago
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
4 years ago
Andrew Dolgov
37f41a5246
forgotpass: use type strict comparison for reset token
4 years ago
Andrew Dolgov
e3adacc588
fix several cases of Db class being invoked as wrong name (as DB)
4 years ago
Andrew Dolgov
89d53a7f49
fix typo in previous
4 years ago
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
4 years ago
Andrew Dolgov
9d3c794983
subscribe: allow pre-filling feed URL if passed via query string
4 years ago
Andrew Dolgov
33fdde249e
pass CSRF token to opml import and feed icon replace dialogs
4 years ago
Andrew Dolgov
42b5564d1e
editarticletags: load dialog via XHR
4 years ago
Andrew Dolgov
0706a328a4
handler: default base csrf_ignore() to false
4 years ago
Andrew Dolgov
0a142912d3
backend handler: require CSRF, remove obsolete code
4 years ago
Andrew Dolgov
154417d80b
public/logout: require valid CSRF token
4 years ago
Andrew Dolgov
cbcb10a272
Feeds: load quickaddfeed and search dialogs via XHR w/ CSRF protection
4 years ago
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
4 years ago
Andrew Dolgov
e670ac2ee5
require CSRF token for Article/redirect
4 years ago
Andrew Dolgov
7e50c6c4b5
- enable CSRF support earlier
...
- remove rpc/sanityCheck from CSRF-excluded calls
4 years ago
Andrew Dolgov
79f102c25d
af_proxy_http: never print received data directly, always redirect to cached_url
...
cache/getUrl: basename() passed filename just in case
4 years ago
Andrew Dolgov
4a074111b5
user preferences: forbid < and > characters when changing passwords (were silently stripped on save because of clean())
4 years ago
Andrew Dolgov
da98ba662e
public/subscribe: require valid CSRF token when validating the form
4 years ago
Andrew Dolgov
c3d14e1fa5
- fix multiple vulnerabilities in af_proxy_http
...
- fix vulnerability in rewrite_relative_url() which prevented some URLs from being properly absolutized
- fetch_file_contents: validate all URLs before requesting them
- validate URLs: explicitly whitelist http and https scheme, forbid everything else
- DiskCache/cached_url: only serve whitelisted content types (images, video)
- simplify filename/URL handling code, remove and consolidate some less-used functions
4 years ago
Andrew Dolgov
a922b3cc6d
order_to_override_query: allow HOOK_HEADLINES_CUSTOM_SORT_OVERRIDE plugins to override built-in sorting
4 years ago
Andrew Dolgov
67f02e2aa7
properly return counters for labels with zero assigned articles
...
refs https://community.tt-rss.org/t/label-counter-doesnt-update-when-count-goes-down-to-zero/3766
4 years ago
Rodney Stromlund
88ced02622
Silence php 7.2 error message generated in `session_set_cookie_params`.
4 years ago
Andrew Dolgov
ddf9227dc4
pluginhost: allow overriding default sort modes via HOOK_HEADLINES_CUSTOM_SORT_MAP etc
4 years ago
Andrew Dolgov
dfa65e9374
move order_by to SQL override logic into a separate function
4 years ago
Andrew Dolgov
48be005774
instead of taking batch timestamp and score (?) into account, make oldest first sorting work consistently with newest first - i.e. rely on feed-provided timestamp
4 years ago
Andrew Dolgov
05a47e5cf4
OPML: export/import per-feed purge interval
4 years ago
Paco Esteban
c4ee0e25a1
more int/string type mismatches on getCategories
4 years ago
Paco Esteban
3da618e0ea
make sure all ints are casted (to int) on getCategories
4 years ago
fox
68b78ecd3d
Merge branch 'bugfix/invalid-opml' of wn/tt-rss into master
4 years ago
Andrew Dolgov
b6372a846d
when exporting OPML via web UI, add user login to the filename
4 years ago
Andrew Dolgov
fa653f5a43
prefs: show disabled filters properly on mysql
4 years ago
Andrew Dolgov
2996a3942f
prefs: show root of filter tree as enabled so it's not grayed out
4 years ago
wn_
614d3ac1bf
Properly check if OPML file was loaded during import.
4 years ago
Andrew Dolgov
c352e872e9
core: pass found enclosures to HOOK_ARTICLE_FILTER
...
af_redditimgur: remove enclosures if we found something to embed because it's going to be a low-res thumbnail
4 years ago
Andrew Dolgov
6eb94f1e13
better support for image srcset attributes as discussed in https://community.tt-rss.org/t/problem-with-img-srcset/3519
5 years ago
Andrew Dolgov
d01ad09800
eslint-related fixes; move a few things from global context to App
5 years ago
Andrew Dolgov
c8cc845d5b
when removing favicon, reset its auto-refresh timer
5 years ago
Andrew Dolgov
06d2c65193
calculate_article_hash: don't die() on previous, woops
5 years ago
Andrew Dolgov
3a142cbf58
calculate_article_hash: ignore some useless or read-only fields (i.e. GUID) when calculating hash
5 years ago
Andrew Dolgov
cd1f3cb8cc
* store UID in article hashed GUID separately so it could be migrated cleanly to a different instance
...
* store resulting GUID as a JSON object so it could be extended easier if needed
5 years ago
Andrew Dolgov
7a2e9bef77
add --opml-export to update.php
5 years ago
Andrew Dolgov
c275a0cd33
DiskCache: append fake file extension when sending cached files based on mime type to make saving files easier
5 years ago
Andrew Dolgov
3a4b9249a9
DiskCache: properly deal with srcset attributes
5 years ago
Andrew Dolgov
4a00f96733
remove unneeded var_dump()
5 years ago
Andrew Dolgov
6573541873
* add HOOK_ENCLOSURE_IMPORTED
...
* pass feed id to HOOK_FEED_PARSED
5 years ago
Andrew Dolgov
44b1f0fcc0
search: add support for label:XXX search keyword
...
Labels: enforce case-insensitive lookups when creating/looking for labels
5 years ago
Andrew Dolgov
1f2a721905
allow overriding built-in templates via templates.local
5 years ago
lllusion3418
ec1b0befc7
add support for video[@src] in media cache
...
it's a valid alternative to a source[@src] child element:
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video
5 years ago
lllusion3418
cdde23b4dc
actually download <video> posters to media cache
...
video[@poster] is already supported in the rewriting logic but never
actually downloaded
5 years ago
lllusion3418
b4287a2e98
fix url rewriting for videos with poster and src
...
if a poster attribute was present only that would have been rewritten
and the (arguably more important) src attribute would be left as-is
5 years ago
Andrew Dolgov
208e02c47d
PluginHost/save_data: use separate PDO connection to prevent issues with nested transactions
5 years ago
Andrew Dolgov
bcbc5ccc78
batchSubscribe: use validationtextarea
5 years ago
Andrew Dolgov
f24ece85a6
add validationtextarea control, use it for filter match editor
5 years ago
Andrew Dolgov
8645f36c5b
filter test dialog: pass contents via xhr POST
5 years ago
Andrew Dolgov
bdb1e475e7
external subscribe dialog: support dark theme
5 years ago
Andrew Dolgov
b2876f6c72
share anything dialog: support dark theme
5 years ago
Andrew Dolgov
4ab3854aed
don't generate default.css, replace with themes/light.css as a default root CSS file
5 years ago
Andrew Dolgov
5f30061c92
properly calculate marked counters for feeds in nested categories
5 years ago
Andrew Dolgov
60288f02e8
1. feedtree: show counters for marked articles if view-mode == marked
...
2. hide/show relevant counter nodes using css
3. cleanup some counter-related code
4. compile default css into light theme to prevent cache-related issues
5 years ago
Andrew Dolgov
5b6d9cee29
prefs layout fixes:
...
1. prevent layout breakage when using an authenticator which doesn't allow changing passwords
2. show explanatory messages when OTP or password changing is not available
3. allow app (API) passwords when using any auth module
5 years ago
Andrew Dolgov
47135160d1
getCategoryCounters: properly handle categories which don't have any stored feeds/articles
5 years ago
Andrew Dolgov
88d4324e32
mark primary button in the default password dialog
5 years ago
Andrew Dolgov
776fe4768b
default password warning: fix close button, don't crash if dialog is recreated (on feed tree reload etc)
5 years ago
Andrew Dolgov
0e9e1ad112
getCategoryUnread: return correct unread count for labels category
5 years ago
Andrew Dolgov
cdd2b6fd22
getCategoryChildrenUnread: fix typo
5 years ago
Andrew Dolgov
a6ced36189
getCategoryCounters: properly calculate counters for child subcategory entries
...
getCategoryUnread: cleanup
5 years ago
Andrew Dolgov
a64b8a7fdb
getCategoryUnread: don't return unread counters for Special category because it doesn't make a lot of sense to do so
5 years ago
Andrew Dolgov
2f6741e49a
getFeedCounters: pass parameter correctly to PDO
5 years ago
Andrew Dolgov
6080cca9ca
scrap counter cache system; rework counters to sum() booleans instead
5 years ago
Andrew Dolgov
3b29e865b0
support night mode in feed debugger
5 years ago
Andrew Dolgov
aa56bcaf44
support night mode when using share by URL
5 years ago
Andrew Dolgov
f47998f569
generate_syndicated_feed: use local media in generated feeds if it is available
5 years ago