Commit Graph

1910 Commits (dcf0135285f1a515454807cdfe1e819f37a23a86)

Author SHA1 Message Date
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