Andrew Dolgov
d3940b6259
fix a bunch of warnings related to generated feeds
4 years ago
Andrew Dolgov
481bd76100
pref helpers: move some methods to their own sections
4 years ago
Andrew Dolgov
6af83e3881
drop ENABLE_GZIP_OUTPUT; system prefs: load php info only if needed
4 years ago
Andrew Dolgov
e6624cf631
fix a few more session-related warnings
4 years ago
Andrew Dolgov
157675d9fd
prefs: fix published shared URL dialog
4 years ago
Andrew Dolgov
ad7842c98a
RIP tag cloud: last of the vanilla popup dialog system
4 years ago
Andrew Dolgov
03b85248e6
move some dialogs to xhr loading
4 years ago
Andrew Dolgov
71dfc83466
force _ENABLED_PLUGINS to string when passed to pluginhost
4 years ago
Andrew Dolgov
3268364693
more dialog-related cleanup
4 years ago
Andrew Dolgov
3d11c61f32
* OPML import: don't reload everything, just feed tree
...
* dialogs: use auto-destroying dialog for almost all dialogs instead of destroying them manually
* some general dialog-related cleanup
4 years ago
Andrew Dolgov
8f8675a26a
* filters: remove duplicate code, overall cleanup
...
* check if some tres exist before trying to reload them
4 years ago
Andrew Dolgov
699186f430
Merge branch 'master' of git.tt-rss.org:fox/tt-rss
4 years ago
fox
a718b692a0
Merge pull request 'Add defaults to api.php variables' ( #1 ) from klempin/tt-rss:fix/undefined-content into master
...
Reviewed-on: https://git.tt-rss.org/fox/tt-rss/pulls/1
4 years ago
Philip Klempin
ace19c0790
Add defaults to api.php variables
4 years ago
Andrew Dolgov
0f7af07c6e
edit filter dialog: cleanup
4 years ago
Andrew Dolgov
20fb056323
remove customizecss from csrf-ignored methods
4 years ago
Andrew Dolgov
bf6d0f2817
various dialog-related fixes; stop referring to many dialogs by name; move filter test initial dialog to client side
4 years ago
Andrew Dolgov
72e38bfe1f
rework a few more dialogs to use App.dialogOf()
4 years ago
Andrew Dolgov
d466284fab
* customizeCSS: client dialog
...
* remove hardcoded width from most dialogs (move to css)
* add helper to easily get dialog from its widget
* rework some dialog buttons to use current object instead of calling dialog by name
4 years ago
Andrew Dolgov
83b0738b04
opml import: no more iframe, use client dialog
4 years ago
Andrew Dolgov
3134d71b8f
fix typo introduced by 4182018cb7
4 years ago
Andrew Dolgov
eac7ad5d34
remove explainError server-side dlg
4 years ago
Andrew Dolgov
4182018cb7
generated feed: use client dialog
4 years ago
Andrew Dolgov
1a680d4eae
publishedOPML: use client dialog
4 years ago
Andrew Dolgov
848bc57f29
disable themes in safe mode; rework safe mode warning/login prompt
4 years ago
Andrew Dolgov
74986d1ac6
shorten pref tab names; make log-alert clickable
4 years ago
Andrew Dolgov
09e9f34bb4
add UserHelper::find_user_by_login() and rewrite some user checks to invoke it instead of going through PDO
4 years ago
Andrew Dolgov
7af8744c85
authentication: make logins case-insensitive (force lowercase)
4 years ago
Andrew Dolgov
e7e73193fe
fix warning in profile edit dialog (2)
4 years ago
Andrew Dolgov
2505ae43a9
fix warning in profile edit dialog
4 years ago
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
4 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