Commit Graph

2432 Commits

Author SHA1 Message Date
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
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
2020-09-14 19:46:52 +03:00
Andrew Dolgov a922b3cc6d order_to_override_query: allow HOOK_HEADLINES_CUSTOM_SORT_OVERRIDE plugins to override built-in sorting 2020-09-11 07:48:22 +03:00
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
2020-08-29 08:41:52 +03:00
Rodney Stromlund 88ced02622 Silence php 7.2 error message generated in `session_set_cookie_params`. 2020-08-14 10:47:46 -05:00
Andrew Dolgov ddf9227dc4 pluginhost: allow overriding default sort modes via HOOK_HEADLINES_CUSTOM_SORT_MAP etc 2020-08-13 12:23:27 +03:00
Andrew Dolgov dfa65e9374 move order_by to SQL override logic into a separate function 2020-08-13 11:52:32 +03:00
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 2020-08-11 13:29:09 +03:00
Andrew Dolgov 05a47e5cf4 OPML: export/import per-feed purge interval 2020-08-10 11:57:39 +03:00
Paco Esteban c4ee0e25a1 more int/string type mismatches on getCategories 2020-08-01 16:30:10 +02:00
Paco Esteban 3da618e0ea make sure all ints are casted (to int) on getCategories 2020-07-31 16:15:16 +02:00
fox 68b78ecd3d Merge branch 'bugfix/invalid-opml' of wn/tt-rss into master 2020-07-01 14:48:02 +00:00
Andrew Dolgov b6372a846d when exporting OPML via web UI, add user login to the filename 2020-07-01 10:02:24 +03:00
Andrew Dolgov fa653f5a43 prefs: show disabled filters properly on mysql 2020-07-01 09:49:53 +03:00
Andrew Dolgov 2996a3942f prefs: show root of filter tree as enabled so it's not grayed out 2020-07-01 09:48:27 +03:00
wn_ 614d3ac1bf Properly check if OPML file was loaded during import. 2020-06-27 15:06:08 -05:00
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
2020-06-24 22:54:14 +03:00
Andrew Dolgov 6eb94f1e13 better support for image srcset attributes as discussed in https://community.tt-rss.org/t/problem-with-img-srcset/3519 2020-06-15 11:58:59 +03:00
Andrew Dolgov d01ad09800 eslint-related fixes; move a few things from global context to App 2020-06-05 07:44:57 +03:00
Andrew Dolgov c8cc845d5b when removing favicon, reset its auto-refresh timer 2020-05-22 15:06:52 +03:00
Andrew Dolgov 06d2c65193 calculate_article_hash: don't die() on previous, woops 2020-05-17 17:44:32 +03:00
Andrew Dolgov 3a142cbf58 calculate_article_hash: ignore some useless or read-only fields (i.e. GUID) when calculating hash 2020-05-17 17:42:37 +03:00
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
2020-05-17 14:01:16 +03:00
Andrew Dolgov 7a2e9bef77 add --opml-export to update.php 2020-05-13 12:07:31 +03:00
Andrew Dolgov c275a0cd33 DiskCache: append fake file extension when sending cached files based on mime type to make saving files easier 2020-05-12 13:28:54 +03:00
Andrew Dolgov 3a4b9249a9 DiskCache: properly deal with srcset attributes 2020-04-29 19:29:36 +03:00
Andrew Dolgov 4a00f96733 remove unneeded var_dump() 2020-04-29 11:35:02 +03:00
Andrew Dolgov 6573541873 * add HOOK_ENCLOSURE_IMPORTED
* pass feed id to HOOK_FEED_PARSED
2020-04-29 11:33:39 +03:00
Andrew Dolgov 44b1f0fcc0 search: add support for label:XXX search keyword
Labels: enforce case-insensitive lookups when creating/looking for labels
2020-04-04 14:34:08 +03:00
Andrew Dolgov 1f2a721905 allow overriding built-in templates via templates.local 2020-03-13 14:40:35 +03:00
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
2020-03-12 11:08:39 +01:00
lllusion3418 cdde23b4dc actually download <video> posters to media cache
video[@poster] is already supported in the rewriting logic but never
actually downloaded
2020-03-12 11:08:33 +01:00
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
2020-03-12 11:08:24 +01:00
Andrew Dolgov 208e02c47d PluginHost/save_data: use separate PDO connection to prevent issues with nested transactions 2020-03-10 08:14:00 +03:00
Andrew Dolgov bcbc5ccc78 batchSubscribe: use validationtextarea 2020-02-28 14:03:29 +03:00
Andrew Dolgov f24ece85a6 add validationtextarea control, use it for filter match editor 2020-02-28 13:53:45 +03:00
Andrew Dolgov 8645f36c5b filter test dialog: pass contents via xhr POST 2020-02-28 12:16:54 +03:00
Andrew Dolgov bdb1e475e7 external subscribe dialog: support dark theme 2020-02-27 13:40:32 +03:00
Andrew Dolgov b2876f6c72 share anything dialog: support dark theme 2020-02-27 13:38:24 +03:00
Andrew Dolgov 4ab3854aed don't generate default.css, replace with themes/light.css as a default root CSS file 2020-02-22 16:22:44 +03:00
Andrew Dolgov 5f30061c92 properly calculate marked counters for feeds in nested categories 2020-02-20 15:54:40 +03:00
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
2020-02-20 14:14:45 +03:00
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
2020-02-18 11:51:04 +03:00
Andrew Dolgov 47135160d1 getCategoryCounters: properly handle categories which don't have any stored feeds/articles 2020-01-27 15:45:04 +03:00
Andrew Dolgov 88d4324e32 mark primary button in the default password dialog 2020-01-25 13:08:29 +03:00
Andrew Dolgov 776fe4768b default password warning: fix close button, don't crash if dialog is recreated (on feed tree reload etc) 2020-01-25 13:02:11 +03:00
Andrew Dolgov 0e9e1ad112 getCategoryUnread: return correct unread count for labels category 2020-01-25 12:53:10 +03:00
Andrew Dolgov cdd2b6fd22 getCategoryChildrenUnread: fix typo 2020-01-25 10:00:22 +03:00
Andrew Dolgov a6ced36189 getCategoryCounters: properly calculate counters for child subcategory entries
getCategoryUnread: cleanup
2020-01-25 09:57:28 +03:00
Andrew Dolgov a64b8a7fdb getCategoryUnread: don't return unread counters for Special category because it doesn't make a lot of sense to do so 2020-01-24 15:54:01 +03:00
Andrew Dolgov 2f6741e49a getFeedCounters: pass parameter correctly to PDO 2020-01-24 14:27:24 +03:00
Andrew Dolgov 6080cca9ca scrap counter cache system; rework counters to sum() booleans instead 2020-01-24 14:25:31 +03:00
Andrew Dolgov 3b29e865b0 support night mode in feed debugger 2020-01-19 10:56:49 +03:00
Andrew Dolgov aa56bcaf44 support night mode when using share by URL 2020-01-19 10:51:08 +03:00
Andrew Dolgov f47998f569 generate_syndicated_feed: use local media in generated feeds if it is available 2020-01-13 17:02:14 +03:00
Andrew Dolgov b1c5ebdace API/getVersion: don't try to use removed VERSION constant 2020-01-05 09:42:57 +03:00
Andrew Dolgov fdb1fc7608 get_version: fix commit/timestamp lost on subsequent invocations because of misbehaving caching 2019-12-20 18:17:05 +03:00
Andrew Dolgov 72d0fac80c remove version.php and VERSION global constant, do version-related things in a slightly less ridiculous way 2019-12-18 14:27:40 +03:00
Andrew Dolgov df464e3d0d update app password notice 2019-12-17 14:58:31 +03:00
Andrew Dolgov 9c0235ab66 show current unread counter on headlines toolbar if sidebar is hidden 2019-12-12 07:37:28 +03:00
Andrew Dolgov 76dd74e0d9 add a hidden tweakable which forbids changing passwords 2019-12-06 17:45:22 +03:00
Andrew Dolgov ac95ab4a65 user css dialog: allow saving and applying CSS without closing the dialog 2019-12-06 14:02:30 +03:00
Andrew Dolgov 565547f5a1 php 7.4 deprecation-related fixes 2019-12-06 07:27:22 +03:00
Andrew Dolgov f30287be65 versioning changes
- remove VERSION_STATIC - https://community.tt-rss.org/t/versioning-changes-for-trunk/2974
- report git commit/timestamp properly by invoking git instead of trying to parse .git/HEAD etc
- remove git-related global constants used when checking for updates
2019-12-05 13:23:54 +03:00
Andrew Dolgov d15f0349bf remove hardcoded iframe domain whitelist, make iframe script whitelisting configurable by plugins (HOOK_IFRAME_WHITELISTED) 2019-11-27 11:52:51 +03:00
Andrew Dolgov e5b7b145e5 cache media: set referrer to source URL when fetching images 2019-11-25 09:48:24 +03:00
Andrew Dolgov 304d3a0b88 tag-related fixes
1. move tag sanitization to feedparser common item class
2. enforce length limit on tags when parsing
3. support multiple tags passed via one dc:subject and other such elements, parse them as a comma-separated list
4. sort resulting tag list to prevent different order between feed updates
5. remove some duplicate code related to tag validation
6. allow + symbol in tags
2019-11-20 18:56:34 +03:00
Andrew Dolgov 8c3efd51ec reset domain hit quota on feed update start 2019-11-17 13:17:21 +03:00
Andrew Dolgov 63ce7ea705 add a plugin page warning for plugins using HOOK_FEED_FETCHED, etc 2019-11-14 07:01:45 +03:00
Andrew Dolgov 0d7b10469b update_rss_feed: add specific logging for HOOK_FETCH_FEED, HOOK_FEED_FETCHED, HOOK_FEED_PARSED handlers 2019-11-14 06:39:45 +03:00
Andrew Dolgov 5bb8dad631 is_gzipped: don't try to strpos() over entire buffer 2019-11-12 07:11:10 +03:00
Andrew Dolgov f75fb6bd75 Merge branch 'master' of git.fakecake.org:tt-rss 2019-11-01 15:40:15 +03:00
Andrew Dolgov 266a805bfe line endings + remove : from headings 2019-11-01 15:40:08 +03:00
Andrew Dolgov 05dffcff6f OTP stuff: update notice wording a bit 2019-11-01 15:27:24 +03:00
Andrew Dolgov 812a6c9f16 auth_internal: fix indents 2019-11-01 15:25:40 +03:00
Andrew Dolgov 249130e58d implement app password checking / management UI 2019-11-01 15:03:57 +03:00
Andrew Dolgov 68b0380118 add placeholder authentication via app passwords if service is passed
forbid logins via regular passwords for services
remove AUTH_DISABLE_OTP
2019-11-01 13:03:06 +03:00
Andrew Dolgov 88cd9e586e add placeholder UI plumbing for app passwords 2019-11-01 12:23:11 +03:00
Andrew Dolgov 904ecc31e2 allow using OTP without GD 2019-11-01 10:32:58 +03:00
Andrew Dolgov 647c7c45eb allow article filters to modify num_comments 2019-10-25 14:37:00 +03:00
Andrew Dolgov 2820f41a4b add notification for OTP being disabled 2019-10-09 09:10:43 +03:00
Andrew Dolgov ef514bc4bd add notifications for mail and password changes
update and shorten some other message templates
2019-10-09 09:04:51 +03:00
jc 8fd11fd53a Add const HOOK_FEED_TREE 2019-10-07 13:46:31 +00:00
jc a243979aaf Add const HOOK_FEED_TREE 2019-10-07 13:44:57 +00:00
Andrew Dolgov 4e05008aac update_rss_feed: force cast initial timestamp value to integer 2019-09-30 11:41:07 +03:00
Rodney Stromlund 958c4dc124 Removed extra php end tag that was showing in the page title 2019-09-17 09:11:30 -05:00
Andrew Dolgov b0d67cd3d0 rework previous to pass unformatted timestamp to plugin, and deal with formatting later
also, move timestamp-related debugging output after plugin handler
2019-09-11 14:04:59 +03:00
Andrew Dolgov 94a12b9674 pass formatted entry timestamp to article filters and allow them to modify it 2019-09-11 11:43:40 +03:00
Andrew Dolgov 06393750c7 headline grouping:
1. block grouping for specific feeds where it doesn't make a lot of sense to do so or flat list fits better (archived, recently read)
2. block per-week grouping for feeds where feed-first grouping makes more sense (fresh, starred, published)
2019-08-30 10:16:38 +03:00
Andrew Dolgov 12a542977e makefeedtree: properly calculate feed total amount in no-categories mode 2019-08-21 19:32:27 +03:00
Andrew Dolgov 667836ec7c SQL logger: log some parameters 2019-08-20 08:09:05 +03:00
Andrew Dolgov 3e4701116d af_readability: add missing file 2019-08-16 15:29:24 +03:00
Andrew Dolgov 865c54abcb fix get_method_url() to use correct method parameter 2019-08-15 20:27:21 +03:00
Andrew Dolgov 10c63ed582 pluginhost: add helper methods to get private/public pluginmethod endpoint URLs 2019-08-15 20:23:45 +03:00
Andrew Dolgov e46ed1ff97 API/getHeadlines: fix order of returned feeds to be consistent with main UI 2019-08-15 19:06:38 +03:00
Andrew Dolgov 0e3b71c535 public/pluginhandler: log invalid requests 2019-08-15 17:17:25 +03:00
Andrew Dolgov 7f8946f14e pluginhost: implement priority-based system for running hooks 2019-08-15 15:34:09 +03:00
Andrew Dolgov 5648b836aa HOOK_ARTICLE_IMAGE: allow hooks to modify article content 2019-08-15 10:22:33 +03:00
Andrew Dolgov 75ab1f05f9 DiskCache::rewriteUrls() - remove img[@srcset] 2019-08-15 09:30:28 +03:00
Andrew Dolgov 9d852e052c add HOOK_ARTICLE_IMAGE for Article::get_article_image() 2019-08-15 09:04:42 +03:00
Andrew Dolgov ffb842f752 Article::get_article_image() - provide cached URLs if possible 2019-08-14 17:21:07 +03:00
Andrew Dolgov 150b040dad Article::get_article_image() - set default to "" instead of "false" 2019-08-14 17:07:01 +03:00
Andrew Dolgov d4df57e1a4 Article::get_article_image() - also return stream URI if possible 2019-08-14 17:04:14 +03:00
Andrew Dolgov 68e2b05f65 * move get_article_image to Article; implement better og:image detection (similar to android app)
* pass article image to API clients in headlines row object
2019-08-14 16:55:38 +03:00
Andrew Dolgov c34726b2b2 consistency: use DiskCache->exists() to check for present files 2019-08-14 12:52:41 +03:00
Andrew Dolgov 6914ad1f74 retire MIN_CACHE_FILE_SIZE 2019-08-14 12:44:50 +03:00
Andrew Dolgov 84974c60a7 RSSUtils::cache_media, cache_enclosures: use DiskCache 2019-08-14 12:15:56 +03:00
Andrew Dolgov 39f459eb04 public/cached_url: forbid sending files with extensions 2019-08-14 10:45:46 +03:00
Andrew Dolgov 3c075bfd21 DiskCache: more strict checking for input filenames, getUrl() is no longer static 2019-08-14 09:49:18 +03:00
Andrew Dolgov fdb6066bf6 * HOOK_ENCLOSURE_ENTRY: pass article_id to handler
* DiskCache: multiple fixes; support isWritable() for cache entries, set content-disposition for send()
* public/cached_url: allow selecting files from sub-caches other than images
* plugins/Cache_Starred_Images: rework to use DiskCache, can be enabled per-user, properly handles article enclosures, etc
2019-08-13 16:40:21 +03:00
Andrew Dolgov bed695b127 DiskCache::expire: support .no-auto-expiry to prevent automatic cache maintenance 2019-08-13 14:18:14 +03:00
Andrew Dolgov 19b9b27662 expire_cached_files to DiskCache::expire() 2019-08-13 14:13:42 +03:00
Andrew Dolgov 133c2b482b move rewrite_cached_urls to DiskCache::rewriteUrls() 2019-08-13 12:46:57 +03:00
Andrew Dolgov b1dd38f880 add DiskCache.getUrl() and use it in a bunch of places 2019-08-13 12:39:21 +03:00
Andrew Dolgov 7602819b98 add DiskCache.send; switch af_zz_imgproxy to use DiskCache 2019-08-13 12:20:53 +03:00
Andrew Dolgov 82694bd6ce add DiskCache.isWritable 2019-08-13 12:15:43 +03:00
Andrew Dolgov 86308b30ea add classes/diskcache 2019-08-13 12:04:36 +03:00
Andrew Dolgov 6825aaff55 update SSL certificate wiki link 2019-08-02 08:03:20 +03:00
Andrew Dolgov aa40a268f0 parser: support multiple dc:creator elements (returns as comma-separated list) 2019-08-02 06:22:42 +03:00
Andrew Dolgov 4edfb526e1 change version.json endpoint URL 2019-08-01 11:51:27 +03:00
Andrew Dolgov e8523733b0 filter dialog: add inline regexp checker 2019-07-12 12:40:42 +03:00
Andrew Dolgov 86a014f23b add placeholder Filters.filterDlgCheckRegExp 2019-07-12 10:47:18 +03:00
Andrew Dolgov ea30061cce public: fix share() returning random unshared articles if uuid is not given 2019-07-05 16:02:51 +03:00
Andrew Dolgov 088fcf8131 move more globals to more appropriate places
set libxml to always use internal errors
2019-06-20 08:40:02 +03:00
Andrew Dolgov 4fa9aee4e7 move several more global functions to more appropriate classes 2019-06-20 08:14:06 +03:00
Andrew Dolgov 6d746453c7 get_feeds_from_html: remove XML preamble hack
move several related helper functions to Feeds class
2019-06-20 07:51:48 +03:00
Andrew Dolgov 270b39a337 queryFeedHeadlines: support start_ts when browsing by tag 2019-06-18 13:10:32 +03:00
Andrew Dolgov d36b64d8a7 event log: simplify styles, prevent horizontal scrolling
sql logger: clip context length to 8kb
2019-05-31 10:31:43 +03:00
Andrew Dolgov 905f038610 search dialog: display active query if searching already 2019-05-20 07:59:53 +03:00
Andrew Dolgov 09f520eda2 fix search query test statement stopping valid modifiers like unread: from working 2019-05-20 07:12:43 +03:00
Andrew Dolgov de713035fd when subscribing, check for valid html content type before checking if requested document has HTML doctype/start element 2019-05-16 10:07:22 +03:00
Andrew Dolgov 9423d72f6c parser: force libxml error messages to valid utf8 2019-05-12 10:13:22 +03:00
Andrew Dolgov 84d43a1b44 catchup_feed: invoke HOOK_SEARCH if necessary 2019-05-07 06:57:28 +03:00
Andrew Dolgov 4b74491b8b feed tree: set placeholder feed unread value to -1 2019-05-06 09:32:08 +03:00
Andrew Dolgov bf5dfc444e sql logger: ensure error string and context are valid UTF8 before trying to insert it 2019-05-01 08:38:52 +03:00
Andrew Dolgov fda475bd93 af_readability: fix HOOK_GET_FULL_TEXT not being installed because plugin init() is called before load_data() 2019-05-01 08:12:47 +03:00
Andrew Dolgov ccc0315ef0 better tsquery support:
1. report query syntax errors properly
2. fall back to implicit &-joining only if no joiners are detected in user query, otherwise permit full tsquery syntax
2019-04-30 14:39:08 +03:00
Andrew Dolgov 1cd9b3c866 prevent a fatal error on an invalid tsquery syntax 2019-04-29 21:15:49 +03:00
Andrew Dolgov 6955b2e02d plugins: add HOOK_GET_FULL_TEXT which may be used to provide full text extraction to core code and other plugins, instead of trying to invoke af_readability specifically 2019-04-17 08:32:35 +03:00
fox 525298569e Merge branch 'hotkeys-focus' of suraia/tt-rss into master 2019-04-14 14:15:13 +00:00
Michael Kuhn e38fcd6dea Fix button focus issues
This change introduces derived classes for ComboButton, DropDownButton
and Select that make sure that buttons do not remain focused after their
menus are closed. This allows using hotkeys after closing them.
2019-04-14 12:01:52 +02:00
zeed e397caa82a update the tsvector_combined when create_published_article
https://discourse.tt-rss.org/t/create-published-article-doesnt-update-the-tsvector-combined/2277
2019-04-14 06:01:09 +00:00
Michael Kuhn 4a2a90c980 Fix focus issues with hotkeys
Since making use of keypress in addition to keydown, hotkeys did not
work in certain scenarios, including clicking on the feed tree expanders
or empty spaces of the toolbar.

This issue is caused by dijit.Tree and dijit.Toolbar implementing the
_KeyNavMixin, which explicitly stops propagation of keypress events.

This change contains two main fixes plus a smaller hotfix:
1. It overrides _onContainerKeydown and _onContainerKeypress for
   fox.FeedTree (which inherits from dijit.Tree).
2. It adds fox.Toolbar, which overrides _onContainerKeydown,
   _onContainerKeypress and focus. This fixes hotkeys being swallowed
   and the first focusable child receiving focus when clicking on an
   empty space of the toolbar.
3. It adds the same handling of keydown and keypress to the prefs hotkey
   handler as is done in the main hotkey handler.
2019-04-13 22:34:57 +02:00
Andrew Dolgov dee1614d0a db_prefs: return null if requested key is unset 2019-04-10 13:39:55 +03:00
Andrew Dolgov e31e9ae04d db_prefs: don't report missing prefs if die_on_error is false 2019-04-10 13:39:07 +03:00
Andrew Dolgov ed22473272 feed editor: use DEFAULT_SEARCH_LANGUAGE as a default per-feed dropdown value 2019-04-10 13:08:32 +03:00
Andrew Dolgov c936cc3a1f use DEFAULT_SEARCH_LANGUAGE to generate tsvector index if per-feed language is not specified, also use it as default value on search form for convenience 2019-04-10 13:03:26 +03:00
Andrew Dolgov 1a484ec3f5 feedparser: remove horrible hacks for feeds with broken encoding 2019-04-01 09:02:05 +03:00
Andrew Dolgov 656475ec78 digest text mode excerpt: use ellipsis fit for plain text 2019-03-26 08:51:36 +03:00
Andrew Dolgov 4e1eeb0488 digest text mode: fix article excerpt source 2019-03-26 08:08:50 +03:00
Andrew Dolgov 671f4cee65 domdocument: remove old meta charset unicode hacks, replace with shorter xml preamble utf8 hack (on loadhtml where it makes sense)
af_readability: better (?) charset hack for non-unicode pages
2019-03-21 21:08:02 +03:00
Andrew Dolgov 3bd3324e5a update: add option to send digests 2019-03-21 07:44:39 +03:00
Andrew Dolgov 6ae0a3dd3e share: further improve og:description excerpt logic, minor layout stuff 2019-03-19 20:41:38 +03:00
Andrew Dolgov 74e8661351 share: decode entities in metadata fields so that length limits would make more sense 2019-03-19 15:53:32 +03:00
Andrew Dolgov 375c4c28a0 Merge branch 'master' of git.fakecake.org:tt-rss 2019-03-16 15:35:18 +03:00
Andrew Dolgov eab568065f enable excerpt for text digest 2019-03-16 15:35:11 +03:00
Andrew Dolgov 33a2d5f8e4 update_rss_feed: set basic feed info if site_url is blank 2019-03-15 14:00:09 +03:00
Andrew Dolgov 019f4578bc fix feed icon upload not working, rework form to use FormData/ajax 2019-03-14 09:08:44 +03:00
fox 95e70320a6 Merge branch 'to_combined' of suraia/tt-rss into master 2019-03-10 07:08:30 +00:00
Andrew Dolgov 241d646fba batch subscribe: stop dialog from being submitted twice 2019-03-10 09:20:46 +03:00
Michael Kuhn dd9e93384e Fix to_address being logged twice 2019-03-09 20:09:16 +01:00
Andrew Dolgov a34509c8ae Merge branch 'master' of git.fakecake.org:tt-rss 2019-03-08 10:12:06 +03:00
Andrew Dolgov 19f162dbe3 css: insensitive -> text-muted 2019-03-08 10:11:57 +03:00
Andrew Dolgov 5373b2fe0a hotkey help: remove more info button 2019-03-07 12:27:18 +03:00
Andrew Dolgov a1f8322871 further update CLI schema updater layout to make it more readable 2019-03-07 06:54:05 +03:00
Andrew Dolgov 44858ca2dd Merge branch 'master' of git.fakecake.org:tt-rss 2019-03-07 06:45:04 +03:00
Andrew Dolgov e91223ec7d update CLI schema updater with newer warnings 2019-03-07 06:44:59 +03:00
Andrew Dolgov 609662d48c oops, fix typo 2019-03-06 22:48:10 +03:00
Andrew Dolgov 91cfd9c391 dbupdater: add mysql transaction warning 2019-03-06 22:46:31 +03:00
Andrew Dolgov 69a691f4e1 cleanup old feed browser cache 2019-03-06 20:12:44 +03:00
Andrew Dolgov 371325a899 remove feed editor private checkbox 2019-03-06 20:07:23 +03:00
Andrew Dolgov 0b74db5ad7 remove feedbrowser (other feeds) 2019-03-06 20:02:06 +03:00
Andrew Dolgov 0881d0a00d some dbupdater improvements; fix schema 136 syntax for mysql 2019-03-06 19:42:27 +03:00
Andrew Dolgov 0d04e21006 updater: rollback on error 2019-03-06 19:09:28 +03:00
Andrew Dolgov 38e01270d8 archived feeds: expire old entries (schema bump) 2019-03-06 19:06:05 +03:00
Andrew Dolgov 26c226c8e4 dbupdater: catch PDO exception instead of internal errors since we're using those now; log queries while updating 2019-03-06 19:05:44 +03:00
Andrew Dolgov 6d0c9bb784 only log sent mail if _LOG_SENT_MAIL is set 2019-03-06 08:55:10 +03:00
Andrew Dolgov 16a9bdc387 make_password: generate longer passwords by default, use better random function if available 2019-03-05 20:16:50 +03:00
Andrew Dolgov ef6d2b8a4e update notifications to make them more visible
cleanup some minor stuff in pref-users
2019-03-05 20:09:06 +03:00
Andrew Dolgov 1f2c769c5a editfeed: mark save button 2019-03-05 19:41:44 +03:00
Andrew Dolgov 614a4b3b4a pluginhost: remove plugin gettext helpers (moved to plugin base class) 2019-03-05 10:26:23 +03:00
Andrew Dolgov c1175070a2 add P_sprintf 2019-03-05 10:01:08 +03:00
Andrew Dolgov b9309b1822 filters: show inverse status in list 2019-03-05 08:52:45 +03:00
Andrew Dolgov 6e920903b9 OPML:
1. remove unnecessary data from exported filters
2. fix import of filter rules matching on categories
2019-03-05 07:31:05 +03:00
Andrew Dolgov 5b3a73e574 login: switch to absolute redirect urls 2019-03-04 20:38:39 +03:00
Andrew Dolgov 925065b1fe Revert "login: only allow relative URLs in return="
This reverts commit c68ac04020.
2019-03-04 07:02:58 +03:00
Andrew Dolgov 6ec602e1a4 digestTest: don't display empty digest when not logged in 2019-03-04 07:00:20 +03:00
Andrew Dolgov c68ac04020 login: only allow relative URLs in return= 2019-03-03 07:53:42 +03:00
Andrew Dolgov cc57ed3775 public/subscribe: add basic dialog to enter feed urls 2019-03-03 06:18:19 +03:00
Andrew Dolgov 79945082b3 Merge branch 'master' of git.tt-rss.org:fox/tt-rss 2019-03-02 17:57:32 +03:00
Andrew Dolgov da1b3e3ba1 digest: add ARTICLE_LABELS 2019-03-02 17:57:25 +03:00
Andrew Dolgov 72fcc81919 support per-plugin locale directories 2019-03-01 14:25:24 +03:00
Andrew Dolgov a130da2d1a add layout hack to unify heights of plugin fieldsets 2019-02-26 15:03:33 +03:00
Andrew Dolgov 8819272db1 prefs-set -> prefs 2019-02-25 19:22:20 +03:00
Andrew Dolgov cbd119c7a3 pref-prefs: fix markup 2019-02-25 19:11:17 +03:00
Andrew Dolgov 52d77dee62 plugin list: update layout 2019-02-25 17:15:05 +03:00
Andrew Dolgov 32db1cb872 OPML: include (and import) ttrss per-feed update interval and sort order 2019-02-25 14:06:26 +03:00
Andrew Dolgov 25671ad567 logger/sql: limit maximum context length on mysql because mysql 2019-02-24 07:26:14 +03:00
Andrew Dolgov 54c1b5c611 fill in some missing doctypes; use short doctype where it wasn't 2019-02-23 13:49:40 +03:00
Andrew Dolgov 7724aa9b7c pref-users: fix typo which stopped search from working; quote style stuff 2019-02-23 08:01:29 +03:00
fox e72243edfd Merge branch 'master' of DLange/tt-rss into master 2019-02-23 04:54:57 +00:00
Andrew Dolgov dab81ff7d0 feed editor: fix missing <section> breaking checkbox fieldsets 2019-02-22 12:19:37 +03:00
Andrew Dolgov a366da90a6 add label.inline 2019-02-22 12:13:41 +03:00
DLange a539baece2 Fix warning after icon has successfully been moved. 2019-02-22 08:53:18 +01:00
Andrew Dolgov a0636ccc90 Revert "Fix warning after icon has successfully been moved."
This reverts commit 8b73b9812d.
2019-02-22 10:50:28 +03:00
Andrew Dolgov e535a063ca Merge branch 'master' of git.tt-rss.org:fox/tt-rss 2019-02-22 10:49:06 +03:00
Andrew Dolgov 335147e572 dialogs: use semantic markup instead of dlgsec stuff
continue unifying quoting style for html strings
2019-02-22 10:48:56 +03:00
DLange 8b73b9812d Fix warning after icon has successfully been moved. 2019-02-22 07:25:09 +01:00
Andrew Dolgov 7dbf63693b prefs small update 2019-02-22 06:58:06 +03:00
Andrew Dolgov c2fa0c4416 try to organize preferences better, shorten some descriptions 2019-02-21 22:08:23 +03:00
Andrew Dolgov 4e253add8c UI: add some more info links to relevant wiki pages; minor layout updates 2019-02-21 16:21:16 +03:00
Andrew Dolgov c78425b386 feed edit dialog: add interval label 2019-02-21 14:05:40 +03:00
Andrew Dolgov 1dbfbcfae1 batchSubscribe: use common markup 2019-02-21 13:57:18 +03:00
Andrew Dolgov 26e57604c0 simplify layout of search and subscribe dialogs 2019-02-21 13:22:31 +03:00
Andrew Dolgov d60038d48b simplify some public.php prompts; prevent from submitting forgotpass form repeatedly if check succeeds 2019-02-21 12:50:15 +03:00
Andrew Dolgov 4db13b8a17 simplify preference layout, remove some unnecessary css classes 2019-02-21 12:35:40 +03:00
Andrew Dolgov 3880a17e57 pref-prefs: rework personal info tab, remove ugly table markup 2019-02-20 17:21:32 +03:00
Andrew Dolgov 580f8c0883 enlarge feed title 2019-02-20 15:13:47 +03:00
Andrew Dolgov f8836ec080 search dialog fixes
pgsql: get FTS languages list from the database
2019-02-20 15:12:37 +03:00
Andrew Dolgov 063b4f535a filter rule & label dialog updates 2019-02-20 14:58:09 +03:00
Andrew Dolgov 4d9141d762 simplify dlgSec-related markup 2019-02-20 14:37:59 +03:00
Andrew Dolgov 6701497879 public.php: markup cleanup 2019-02-20 13:12:55 +03:00
Andrew Dolgov be322d6fc8 cleanup sharepopup dialog 2019-02-20 13:05:12 +03:00
Andrew Dolgov d9e20f8b16 update external subscribe dialog 2019-02-20 12:32:52 +03:00
Andrew Dolgov 205a75dfb9 prefs: show phpinfo on system tab 2019-02-20 08:51:48 +03:00
Andrew Dolgov 9e7bbf6809 debugger: use narrow fieldsets for checkboxes 2019-02-19 21:24:00 +03:00
Andrew Dolgov 5ce55faa3b installer: reduce margins; misc fixes 2019-02-19 21:23:03 +03:00
Andrew Dolgov 55d2e5871a feed debugger: dojoify controls 2019-02-19 21:00:15 +03:00
Andrew Dolgov 420e71280a dbupdater: dojoify, add some missing translations 2019-02-19 20:55:02 +03:00
Andrew Dolgov f7a4a45bde pwd reset: use dijit controls 2019-02-19 20:43:45 +03:00
Andrew Dolgov 59df261fb8 forgotpass: slightly better anti-bot protection 2019-02-19 20:25:48 +03:00
Andrew Dolgov 8cd7f31bde utility css updates 2019-02-19 19:46:09 +03:00
Andrew Dolgov c11f32ac38 center and rework some utility screens 2019-02-19 14:59:29 +03:00
Andrew Dolgov 13e7e775a3 update_rss_feed: mark_unread_on_update should take into account catchup filter action and entry_force_catchup 2019-02-06 22:56:14 +03:00
Andrew Dolgov 1124c3f00a label display: fix unneeded nested container in headlines, increase overall minimalism, fix label element typo (div1) 2019-02-01 12:42:27 +03:00
Andrew Dolgov 8b26b8629f headlines-frame: set is-vfeed attribute if result is virtual feed 2019-01-16 21:33:59 +03:00
Andrew Dolgov b1f9ebe46e get_article_image: ignore data: schema images, other minor fixes 2019-01-10 08:42:31 +03:00
Andrew Dolgov eb48aa5840 mailer.php: to_address/to_name was used instead of from_address/from_name 2019-01-09 16:49:35 +03:00
Andrew Dolgov 0517b88cce rpc, catchupfeed: return counters immediately so that frontend can figure out next unread feed correctly 2019-01-03 10:47:41 +03:00
Andrew Dolgov 734af3357d fix user plugins not saving properly in non-default profiles 2018-12-26 22:04:35 +03:00
Andrew Dolgov 55ef85adc0 parser: clean() attribute values by default (except content) 2018-12-26 10:16:11 +03:00
Andrew Dolgov 949bfa3457 add minor clean()-ing on some rss feed values 2018-12-26 09:58:28 +03:00
Andrew Dolgov e70d42237a edit options after subscribe: use correct method name 2018-12-25 16:22:12 +03:00
Andrew Dolgov 4729bdb132 queryFeedHeadlines: fix published field not returned when browsing by tag 2018-12-25 16:19:42 +03:00
Andrew Dolgov 215c9f0f88 fail better if Feeds.view() data failed encoding to JSON 2018-12-24 12:28:11 +03:00
Andrew Dolgov eedd402807 rssutils: don't gzdecode() stuff 2018-12-21 17:52:41 +03:00
Andrew Dolgov a5517fe857 fetch_file_contents: decompress gzipped data
af_readability: remove utf8 preamble hack
2018-12-21 17:50:16 +03:00
Andrew Dolgov 7867f3efa4 prepare_headlines_digest: do not use PDO constants by reference 2018-12-21 08:26:03 +03:00
Andrew Dolgov 51b069a1ee display filter tree rules as a list 2018-12-19 12:08:06 +03:00
Andrew Dolgov 5f1b39f7dc filter tree: don't crash on search, also search by filter titles 2018-12-19 09:04:04 +03:00
Andrew Dolgov 59d1fd481d mailer: set utf-8 content type 2018-12-17 11:55:21 +03:00
Andrew Dolgov 5c481fb249 rpc/checkforupdates: restrict to administrative access level 2018-12-16 19:08:41 +03:00
Andrew Dolgov 957c44d177 rework git update checking to be initiated by frontend, outside of runtime info output 2018-12-16 19:05:37 +03:00
Andrew Dolgov b66deb3240 rpc/getAllCounters: return seq 2018-12-15 13:17:51 +03:00
Andrew Dolgov 8c49689fda filter test results: remove table bloat 2018-12-14 17:44:53 +03:00
Andrew Dolgov 958fbfedb6 rssutils: check if returned data is in gzip format before trying to decode it 2018-12-14 14:55:36 +03:00
JustAMacUser 4b2f3039d2 Properly report filter plugin time (re-fixes PR 98). 2018-12-12 21:30:16 -05:00
Andrew Dolgov d53cdaf815 requestCounters: remove cooldown 2018-12-12 20:06:44 +03:00
JustAMacUser 53602096b9 Fixed misplaced bracket. 2018-12-12 11:47:36 -05:00
Andrew Dolgov eda4ac2a2b add fallback colors for headline feed titles based on feed name if favicon color is not available 2018-12-12 07:57:37 +03:00
Andrew Dolgov b6a021461d add night_base so that output files would generate properly, etc 2018-12-11 21:06:02 +03:00
Andrew Dolgov be49b77b14 Revert "use codeflask for user css editor"
This reverts commit daa43e0572.
2018-12-11 20:48:17 +03:00
Andrew Dolgov 66d3dcbc7d update user css info line 2018-12-11 14:31:07 +03:00
Andrew Dolgov daa43e0572 use codeflask for user css editor 2018-12-11 14:25:41 +03:00
Andrew Dolgov f3c04fc5d8 sync modified scores via mutation observer 2018-12-11 10:30:32 +03:00
Andrew Dolgov 25ca144bb7 score: get correct classes for rows/score icons on the client 2018-12-11 10:00:54 +03:00
Andrew Dolgov 93dfdb2fcd exp: tweak headline label styles 2018-12-10 21:39:12 +03:00
Andrew Dolgov 96fccefa62 update hotkey help dialog a bit 2018-12-10 08:37:24 +03:00
Andrew Dolgov d0d05e4079 zoom mode: hide .attachments 2018-12-10 07:20:13 +03:00
Andrew Dolgov a5813bb766 mysql: use date_format() for yyiw part in queryFeedHeadlines() 2018-12-09 20:38:02 +03:00
Michael Kuhn 3484ad2aaf Use IYYY in combination with IW
Otherwise, we could end up with a wrong date, see:
https://community.oracle.com/thread/997899
2018-12-09 18:28:15 +01:00
Andrew Dolgov 6a6af964df feed template, ARTICLE_OG_IMAGE: set as optional 2018-12-09 17:18:29 +03:00
Andrew Dolgov 851f62dc4a syndicated feeds:
1. properly reset enclosure template variables if there's no enclosures
2. add ARTICLE_OG_IMAGE which sets flavor image for article using common code with article render etc
2018-12-09 17:07:17 +03:00
Andrew Dolgov 607ede512f center previously centered text on single line dialog panels 2018-12-09 16:27:29 +03:00
Andrew Dolgov fa538a6c86 implement year-week sorting window if headlines buffer is grouped by feed titles 2018-12-09 13:35:37 +03:00
Andrew Dolgov 703351c79e remove theme supports-version etc checking 2018-12-09 11:37:26 +03:00
Andrew Dolgov b2c079893b move Article::format_article() to Handler_Public 2018-12-09 11:13:02 +03:00
Andrew Dolgov 966fe6d612 #sharepopup: update css 2018-12-09 10:56:39 +03:00
fox 9545fc6c84 Merge branch 'fix-ambiguous-id' of chtitux/tt-rss into master 2018-12-09 01:29:08 +00:00
Andrew Dolgov 8f5b5ae09e if not enabled, set content_preview to "" instead of null 2018-12-09 04:24:48 +03:00
Théophile Helleboid - chtitux c70dc852a1 Be explicit when id column is ambiguous 2018-12-08 22:36:03 +01:00
Andrew Dolgov f3737c0b24 update_rss_feed: add log message if article is filtered out
combine filters: fix crash on missing global function
2018-12-08 17:01:30 +03:00
Andrew Dolgov bd66a9ef28 render article on the client using headlines data 2018-12-08 09:32:14 +03:00
Andrew Dolgov 41e967136f format headlines list: normalize booleans for pdo mysql 2018-12-08 08:23:18 +03:00
Andrew Dolgov 4e06b94f76 format_article_enclosures: i don't think we need so many <hr>s 2018-12-07 23:22:30 +03:00
Andrew Dolgov 811e1514a3 remove uuid from headlines JSON output 2018-12-07 22:14:32 +03:00
Andrew Dolgov 3b7a9219f6 viewfeed: cleanup unneeded stuff from server JSON output 2018-12-07 21:52:41 +03:00
Andrew Dolgov 76885fc5ad viewfeed: general code cleanup 2018-12-07 21:22:51 +03:00
Andrew Dolgov 8f75b06835 implement feed grouping display, remove unneeded server vgrlf passing 2018-12-07 21:11:50 +03:00
Andrew Dolgov 0b84d1d0dc viewfeed: add orig_feed object 2018-12-07 18:38:27 +03:00
Andrew Dolgov 95f63e121a note that HOOK_FORMAT_ARTICLE_CDM is dead for now 2018-12-07 18:35:50 +03:00
Andrew Dolgov e075e6141b json-viewfeed updates 2018-12-07 18:24:56 +03:00
Andrew Dolgov 249c93a228 initial for js templates 2018-12-07 16:00:11 +03:00
Andrew Dolgov a68b150601 remove separate classes for various panels, unify under .panel
remove a few other unnecessary css classes/ids
2018-12-07 14:03:33 +03:00
Andrew Dolgov 4fdcc923f0 prefs: reload on user theme change 2018-12-07 10:35:46 +03:00
Andrew Dolgov 1e3a53c037 do not try to update filter triggers if nothing was triggered (properly this time) 2018-12-06 23:12:20 +03:00
Andrew Dolgov 5780a5d501 do not try to update filter triggers if nothing was triggered 2018-12-06 23:05:02 +03:00
Andrew Dolgov 4cbc62d2a5 article note format updates 2018-12-06 20:55:51 +03:00
Andrew Dolgov 3e4326e34d add ttrss_filters2.last_triggered (bump schema version) 2018-12-06 19:37:20 +03:00
Andrew Dolgov a01c33d654 add HOOK_FILTER_TRIGGERED (for filter debugging) 2018-12-06 19:15:00 +03:00
Andrew Dolgov e9cf8e8e35 normalize archived articles output in headlines 2018-12-06 19:00:11 +03:00
Andrew Dolgov 369bac525b simplify zoom mode display 2018-12-06 16:42:21 +03:00
Andrew Dolgov 26c074ed7e rework article header to use flexbox 2018-12-06 16:35:57 +03:00
Andrew Dolgov b4c2b26822 remove collapse.png 2018-12-06 15:28:11 +03:00
Andrew Dolgov 0b8cbc9156 remove some bitmaps and rework stuff using it to use iconfont instead 2018-12-06 15:22:52 +03:00
Andrew Dolgov 15d05e8a26 night.css: do not import default less theme statically
remove themes/default.php (not needed)
compact.css: fixes
2018-12-06 14:49:33 +03:00
Andrew Dolgov d2d2cb7e7d rework scoring display, JS processing and icons 2018-12-06 14:23:45 +03:00
Andrew Dolgov 8b2286305e and again 2018-12-06 13:18:14 +03:00
Andrew Dolgov 1de1426114 Revert "change fresh feed icon"
This reverts commit 69da55b945.
2018-12-06 13:16:53 +03:00
Andrew Dolgov 69da55b945 change fresh feed icon 2018-12-06 13:13:25 +03:00
Andrew Dolgov 4aa11fe78d set some alt-info buttons; fix missing default submit for create filter dialog 2018-12-06 13:04:39 +03:00
Andrew Dolgov 814e49f8f7 add icons to accordion panels in preferences
fix typo in pref-prefs closing panel tag
2018-12-06 08:56:28 +03:00
Andrew Dolgov fd10614f5d labels: unfortunately we can't rely on caption to selectively clear label_cache (because of json unicode encoding) so clean it completely if label is updated 2018-12-06 08:29:32 +03:00
Andrew Dolgov 0a41c1a6e1 update label rendering (and editor) 2018-12-06 08:26:52 +03:00
Andrew Dolgov 19e24b4fe2 force cast profile id to integer when assigning to session variable 2018-12-06 07:08:54 +03:00
Andrew Dolgov c700345c96 trgm: use vector icon, replace recently read icon 2018-12-05 22:48:14 +03:00
Andrew Dolgov a0b1664620 prefs: change user icon 2018-12-05 21:40:46 +03:00
Andrew Dolgov cad6d1d7fd various icon updates; use new icons in feed tree 2018-12-05 20:26:27 +03:00
Andrew Dolgov 8c5c762a85 some more icon styling updates + user control panel 2018-12-05 16:58:00 +03:00
Andrew Dolgov f3e6e12d46 various minor updates re: icons 2018-12-05 16:48:29 +03:00
Andrew Dolgov b16c57d29c replace plugin.png with scalable icon 2018-12-05 16:37:09 +03:00
Andrew Dolgov a0778577ac remove pub_{set,unset}.png usage in main code 2018-12-05 14:18:03 +03:00
Andrew Dolgov cbd7328cb4 minor fixes to pub/mark icons etc 2018-12-05 14:11:40 +03:00
Andrew Dolgov b65d8384c2 update headlines to use vector icons 2018-12-05 13:58:18 +03:00
Andrew Dolgov 89b213b4bb initial for material-icons 2018-12-05 10:50:50 +03:00
Andrew Dolgov edd348b16c rework not-cdm headline rows to use flex-box 2018-12-05 09:08:02 +03:00
Andrew Dolgov 88c2da72d5 combined mode: use flex-box for header/footer layout 2018-12-05 08:31:13 +03:00
Andrew Dolgov 2621180b54 in three panel mode, attach context menu to the title, instead of entire headlines row 2018-12-05 07:34:16 +03:00
Andrew Dolgov 29c890b495 login form: use dojo, remove profile hacks 2018-12-04 23:17:35 +03:00
Andrew Dolgov 2ab097b2e5 initial work for flat modern theme 2018-12-04 22:24:31 +03:00
Andrew Dolgov 6befff30d7 updates for flat theme (mostly disable old dijit overrides) 2018-12-04 19:03:42 +03:00
Andrew Dolgov f81df37c36 wrap plugin list into border container, like prefs (2) 2018-12-04 15:33:20 +03:00
Andrew Dolgov 0880100f6a wrap plugin list into border container, like prefs 2018-12-04 15:31:21 +03:00
Andrew Dolgov 31e79317b3 normalize various font sizes and families between prefs & main UI
change some dialogs layout a bit to maybe become more readable
2018-12-04 15:22:22 +03:00
Andrew Dolgov 0b8fef8262 combined unexpanded: respect 'SHOW_CONTENT_PREVIEW' preference 2018-12-04 10:47:50 +03:00
Andrew Dolgov 197e80add6 fix several issues related to profile being set to a non-numeric value 2018-12-04 10:47:01 +03:00
Andrew Dolgov 27b93988e7 add placeholder loading indicator to CDM entries
restore missing "originally from" for archived articles
2018-12-03 20:05:11 +03:00
Andrew Dolgov e76d1fb995 plugins: mail, mailto: remove code from global context 2018-12-03 14:21:50 +03:00
Andrew Dolgov 4d4034091a prefs: Prefs global -> Helpers 2018-12-03 12:46:00 +03:00
Andrew Dolgov b3bc638a9f refactor OPML export/import code to be less horrible 2018-12-03 12:26:49 +03:00
Andrew Dolgov 78cc470193 remove some plugin JS code out of global context 2018-12-03 10:51:14 +03:00
wn_ 6f9307aa9a Also fix the 'Create label' `onclick` 2018-12-02 16:15:31 -06:00
wn_ 6100392bd5 Fix an `onclick` (`Article.editArticleTags` --> `Article.editTags`) 2018-12-02 16:02:03 -06:00
Andrew Dolgov 5ead558e43 move Utils to AppBase where it belongs 2018-12-02 22:08:18 +03:00
Andrew Dolgov eeb49d375c uploadIconHandler -> CommonDialogs 2018-12-02 20:57:51 +03:00
Andrew Dolgov 526389b2d3 update notify_* calls to use Notify 2018-12-02 20:56:30 +03:00
Andrew Dolgov d9c5c93cef move some more stuff out of common.js
rework client-side cookie functions a bit
limit dojo cachebust based on server scripts modification time
remove param_escape()
2018-12-02 20:07:57 +03:00
Andrew Dolgov ad1b6f0a86 bring back excerpts in unexpanded mode 2018-12-02 19:04:53 +03:00
Andrew Dolgov 3a6dae9203 prefs: more of the same, really 2018-12-02 16:29:00 +03:00
Andrew Dolgov b9869dbc01 prefs: remove some more stuff from global context (user management, etc) 2018-12-02 16:17:36 +03:00
Andrew Dolgov 58e54282d3 prefs: move more global functions into matching classes 2018-12-02 15:30:07 +03:00
Andrew Dolgov f26d404890 prefs: move other tree-related functions to respective trees 2018-12-02 12:03:28 +03:00
Andrew Dolgov 60cd467694 embed some pref-feed helper functions into the tree 2018-12-02 11:50:53 +03:00
Andrew Dolgov 2e985d1733 move some label helper functions to prefLabelTree 2018-12-02 11:34:57 +03:00
Andrew Dolgov e23b6e397d prefs: store active tab for reload, remove most old table row functions 2018-12-02 11:25:32 +03:00
Andrew Dolgov 874560db54 remove obsolete row selection functions
move getUrlParam() to Utils
2018-12-02 10:33:58 +03:00
Andrew Dolgov 2f85b50e36 remove toggleSelectListRow2() 2018-12-02 10:16:25 +03:00
Andrew Dolgov 0a18d0b1ed Feeds: shorten some method names
finally rename "view as rss"
2018-12-02 08:57:22 +03:00
Andrew Dolgov 6e625555c9 Headlines: shorten selectArticles 2018-12-02 08:34:08 +03:00
Andrew Dolgov 3678315bea Article, Headlines: shorten several method names 2018-12-02 08:32:13 +03:00
Andrew Dolgov 1e2d4410d3 move some more shared stuff to CommonDialogs, Filters, and Utils 2018-12-01 22:39:29 +03:00
Andrew Dolgov cc26be0793 migrate tt-rss.js contents to App 2018-12-01 21:51:00 +03:00
Andrew Dolgov ab0fadf60d fix vfeed group title CSS in not combined mode 2018-12-01 21:08:15 +03:00
Andrew Dolgov 642c37ea61 further effocts to wrap JS stuff into objects 2018-12-01 21:01:53 +03:00
Andrew Dolgov 4bed9be57d js-ification: start on some common dialogs 2018-12-01 18:25:32 +03:00
Andrew Dolgov 97df81d8d9 even more objectification of JS 2018-12-01 17:54:16 +03:00
Andrew Dolgov d86ddbc635 further objectification of JS code 2018-12-01 17:21:26 +03:00
Andrew Dolgov 049a37aa0e WIP reshuffling of JS global context into separate logical objects 2018-12-01 17:05:35 +03:00
Andrew Dolgov 195180b64d minor refactoring: normalize some function names; cleanup; etc 2018-12-01 11:18:35 +03:00
Andrew Dolgov 8d190d539b CLI tools: fix --quiet not working if --log is unset 2018-12-01 10:05:26 +03:00
Andrew Dolgov a2ef54cd92 toggleMark, togglePub: refactor implementation
shorten marked/published img CSS classes
2018-12-01 08:20:09 +03:00
Andrew Dolgov 5aa9c60494 bring back (debloated) version of unexpanded combined mode 2018-12-01 01:03:01 +03:00
Andrew Dolgov 2e01a1d41d css updates; night theme fixes for changed CSS classes 2018-11-30 17:42:38 +03:00
Andrew Dolgov 07fd4f8d9d minor css fixes (mostly for zoom mode) 2018-11-30 17:22:30 +03:00
Andrew Dolgov add558e7e5 rework some styles related to three panel mode 2018-11-30 15:54:38 +03:00
Andrew Dolgov 8359ca6dad combined mode (and more) css class name updates 2018-11-30 15:48:17 +03:00
Andrew Dolgov 5f211e37a4 remove FTITLE- id 2018-11-30 14:53:58 +03:00
Andrew Dolgov 67cdf4cf12 remove some unnecessary element IDs
rework plugins/note to use xhrJson()
2018-11-30 14:39:06 +03:00
Andrew Dolgov b9585004e6 packed headlines: no point in using JSON here 2018-11-30 13:56:33 +03:00
Andrew Dolgov 7673331850 headlines: remove collapseBtn 2018-11-30 13:53:58 +03:00
Andrew Dolgov 9563e3bcd6 remove expandable CDM headlines 2018-11-30 13:51:54 +03:00
Andrew Dolgov c8c9a26f30 move to simpler CDM handling of encoded content (instead of CENCW... etc) 2018-11-30 13:26:41 +03:00
Andrew Dolgov ef129fed2a some more xhrPost refactoring (batchEditSave WIP) 2018-11-30 10:48:50 +03:00
Andrew Dolgov fc0a3050eb use xhrPost is even more places! 2018-11-30 09:23:51 +03:00
Andrew Dolgov 3ad9944d5e fix missing sprintf() argument 2018-11-30 09:19:00 +03:00
Andrew Dolgov c10a43069e debug logging system rework:
* support various logging levels per-message
 * remove hacks like debug_suppress, DAEMON_EXTENDED_DEBUG, etc
 * _debug() is kept as a compatibility shim for plugins
2018-11-30 08:34:29 +03:00
Andrew Dolgov ed1262d55a oops, remove useless db_escape_string() in article class (and nsfw plugin) 2018-11-29 23:04:12 +03:00
Andrew Dolgov 4508e3103d some more eslint-related stuff 2018-11-29 21:03:55 +03:00
Andrew Dolgov 79c5035920 reset password: use updated mailer parameters properly 2018-11-26 12:44:36 +03:00
Andrew Dolgov 2d54eb1a87 remove cache/simplepie 2018-11-23 12:31:47 +03:00
Andrew Dolgov e08990f753 mailer: fix indents 2018-11-22 16:55:37 +03:00
Andrew Dolgov ac5e55c2bd mailer: return 0 if plugin requested to stop (-1) 2018-11-22 16:39:10 +03:00
Andrew Dolgov 55bf4bc1d3 mailer: split to/from name/addresses 2018-11-22 16:36:10 +03:00
Andrew Dolgov 57932e1837 remove PHPMailer and related directives from config.php-dist; add pluggable Mailer class 2018-11-22 14:45:14 +03:00
Andrew Dolgov 253dbd4856 generate_syndicated_feed: add support for virtual feeds provided by plugins 2018-11-07 14:21:39 +03:00
Andrew Dolgov 22366ccc5b db_prefs: fix cache never being used on read(); remove unnecessary
sprintf()s to integer
2018-11-03 21:52:38 +03:00
Andrew Dolgov 3a0292303e php: remove trailing whitespaces 2018-11-03 15:08:43 +03:00
Andrew Dolgov 2c940c4861 better handle PDOExceptions during open transaction in feed update 2018-11-03 15:00:58 +03:00
Andrew Dolgov 5f66f872b6 fix session write handler always assuming that database entry exists and failing silently if it doesn't; remove session cookie-related hacks 2018-10-16 14:07:42 +03:00
Andrew Dolgov f8fc1ac543 login: check for stale session in login handler, instead of authenticate_user() 2018-10-16 11:39:12 +03:00
Andrew Dolgov f730d7bb0a another attempt to enforce session ID regeneration on login 2018-10-16 09:11:32 +03:00
Andrew Dolgov 65e98f4086 force regenerate session id on successful login, remove previous blank SID check 2018-10-15 15:47:50 +03:00
Andrew Dolgov bb84330234 Logger_SQL: use separate PDO connection 2018-09-10 21:49:31 +03:00
Andrew Dolgov 80fd79ca30 Logger->log() allow passing context (defaults to '') 2018-09-10 21:32:10 +03:00
Andrew Dolgov 4f17c3f977 Logger: add implementation for logger->log(message) 2018-09-10 21:26:28 +03:00
Andrew Dolgov 665495b94b cache_media: only touch() local file if it's writable 2018-09-10 16:17:12 +03:00
Andrew Dolgov d4fef36237 rewrite per-feed/global strip images to strip media 2018-09-07 10:24:46 +03:00
Andrew Dolgov 62d0060aa1 update_daemon_common: do not abort entire batch if PDOException happens when processing individual feeds 2018-09-03 13:03:35 +03:00
Andrew Dolgov 01d22e255f PDO: switch error reporting to exceptions 2018-09-03 12:30:26 +03:00
Andrew Dolgov 2ab49fec9a API: getHeadlines: return feed_id for Archived entries as 0 instead of null to be consistent with requested feed_id 2018-08-29 15:13:07 +03:00
Andrew Dolgov a291a0c00f API: oops, forgot that headlines could be requested for a tag 2018-08-29 12:55:03 +03:00
Andrew Dolgov 70e180e887 API: getHeadlines: check for feed_id correctly 2018-08-29 12:53:33 +03:00
Andrew Dolgov 54727f9534 parser: move media:element handling to feeditem_common; use media:content @media attribute to generate placeholder content-type if not specified 2018-08-21 07:01:26 +03:00
fox 8ab77d19ef Merge branch 'pullreq-enclosure-content-type' of tkappe/tt-rss into master 2018-08-21 03:47:39 +00:00
Andrew Dolgov 2aef804f4b split transparent rewriting of locally cached media URLs to execute after both sanitize() and HOOK_RENDER_ARTICLE to allow plugins work on original source URLs consistently 2018-08-20 12:12:32 +03:00
Tobias Kappé ac8a0e7dc6 Differentiate enclosures based on content type.
Some RSS feeds contain multiple enclosures with the same URL. When the first of
these is not recognized as an image, later entries are not added to the
database as rows in ttrss_enclosures. This change differentiates enclosures
based on their content type, so an entry can have multiple enclosure types with
the same URL (but possibly a different content type).
2018-08-18 17:17:30 +01:00
Andrew Dolgov 04ad631a08 Merge branch 'master' of git.fakecake.org:tt-rss 2018-08-17 10:11:53 +03:00
Andrew Dolgov 88adf3da1b send_local_file: add application/octet-stream hack
cached_url: return original requested filename to save as
2018-08-16 12:16:51 +03:00
Andrew Dolgov 163b50b15f cache_media: only show downloading debug message when actually downloading 2018-08-16 11:56:51 +03:00
Andrew Dolgov 611aeb7197 add debug stdout logger 2018-08-15 15:08:31 +03:00
Andrew Dolgov 069aea5989 remove FEED_CRYPT_KEY and everything related to it
always assume auth_pass_encrypted is false
2018-08-13 15:59:24 +03:00
Andrew Dolgov eb43d9f4a8 fix previous to not crash if document first child is not a DOMElement or whatever 2018-08-12 19:27:04 +03:00
Tobias Kappé a377d5c981 Determine language for atom entry without a loop. 2018-08-12 16:17:13 +01:00
Tobias Kappé 3bbaf902ab Sanitize language obtained for an entry. 2018-08-12 16:12:34 +01:00
Tobias Kappé 22a866edb5 Store language of entries as indicated by the feed. 2018-08-12 15:27:26 +01:00
Andrew Dolgov 32c0c07cc1 pluginhost: implement basic autoloader for classes bundled with plugins (uses vendor/ layout) 2018-08-07 14:36:45 +03:00
BtbN 2b8afd4942 Only strip utf8mb4 if mysql_charset != utf8mb4
If a user has fixed their database properly utf8mb4 works just fine allowing emoji and other 4 byte unicode characters to work.
2018-08-04 13:07:32 +00:00
Andrew Dolgov 6e6c3a878d update_rss_feed: limit maximum length of tsvector data because of pgsql limitations 2018-07-10 14:08:55 +03:00
Andrew Dolgov 310c18e6bb move OTPHP to vendor/; additionally move Base32 class to OTPHP namespace 2018-06-20 18:27:34 +03:00
Andrew Dolgov f5302247c6 share: add support for og:image, etc. metadata for shared articles 2018-05-29 22:04:02 +03:00
MatthieuS 5d95676ecc Call the subscription hook from the plugins even if fetch_file_contents returned no data
This allows a plug-in to override the fetch when the core fetch method fails for some feeds (eg. Tumblr feeds when requested from an EU IP).
2018-05-23 09:00:04 +00:00
Andrew Dolgov 66fe33e769 bump date_updated when updated article data is saved to exclude it from purging (because it is still present in the originating feed) 2018-05-20 10:41:08 +03:00
Andrew Dolgov 963c22646b pass tsvector data as a named parameter on article update, remove escaping hacks 2018-04-03 13:57:27 +03:00
Andrew Dolgov 4fa64e8446 filter dialog: remove placeholder 2018-03-21 14:02:06 +03:00
Andrew Dolgov e794e434da filter dialog: add tooltip re: filter syntax 2018-03-21 13:38:36 +03:00
tsia 551f3c2c85 fixed "reset to defaults" in preferences 2018-03-15 16:26:50 +00:00
Andrew Dolgov 0a8cdd4b9c remove firefox feed subscribe integration code (obsolete) 2018-03-14 18:15:21 +03:00
Andrew Dolgov c9a5e5aa28 feed editor: expose site_url for editing 2018-03-01 15:43:40 +03:00
Andrew Dolgov f1415df47c prefs: expand feed tree if displaying search results 2018-02-26 11:58:53 +03:00
Andrew Dolgov 5edf4b73a4 add a workaround to support numeric tags 2018-02-11 10:24:24 +03:00
Andrew Dolgov f6269d1bc4 add special class for feeds with disabled updates 2018-02-08 13:54:06 +03:00
Andrew Dolgov a340b29ba9 pref-feeds: disable tree autoexpand 2018-02-04 09:36:56 +03:00
Andrew Dolgov 67bf38afda savefeedorder, savefilterorder: do not use clean() on json payload 2018-02-04 09:33:28 +03:00
Andrew Dolgov 7f4a404566 include: convert some spaces to tabs 2018-01-30 10:44:31 +03:00
Andrew Dolgov 102a01354b strip utf8mb4 characters in enclosures on mysql 2018-01-29 23:24:11 +03:00
jsoares 26ad257de5 Fixed time stamping of new unmarked/unpublished articles 2018-01-22 22:41:24 +00:00
Colin Vidal c217de557f rpc: addfeed: gets login and pass only if need_auth is checked.
Because of browser form auto-completion, the hidden field login and
password can be automatically filled when adding a feed. It would
enable feed authentication even if the user doesn't click on need_auth
button.
2018-01-14 20:55:39 +01:00
Andrew Dolgov c30f5e1811 subscribe_to_feed: force-cast login and password to string 2018-01-05 06:50:37 +03:00
immanuelfodor 09be7cdd73 binding statement named param instead of positional replacement 2018-01-02 06:30:22 +00:00
Andrew Dolgov 8dedacf497 remove synchronous feed refreshing on ForceUpdate 2017-12-31 07:37:49 +03:00
Tianon Gravi bbc4d4bf34 treat OPML-imported feeds without a title the same as a batch import 2017-12-29 15:33:01 -08:00
Francesco Turco 1a7277570b fix two-factor authenticaton 2017-12-22 12:29:25 +01:00
Andrew Dolgov d4c05d0be2 update_rss_feed: don't try to use quoted NOW() in query 2017-12-18 18:27:23 +03:00
Andrew Dolgov 6fb5f17be6 pluginhost: always return an array in get_all() 2017-12-17 19:06:18 +03:00
Andrew Dolgov bed2d6e054 force-cast some variables used in queries to integer
do not display SQL query in headlines debug mode
2017-12-17 16:24:13 +03:00
Andrew Dolgov d0cce0c7a4 isdefaultpassword: use method_exists() to check for check_password 2017-12-15 12:15:15 +03:00
Andrew Dolgov 0f05147531 properly highlight search keywords containing forward slash 2017-12-15 08:33:59 +03:00
simonp 5f19596651 Fix typo from previous pull request 2017-12-14 18:43:42 +01:00
Benjamin Collet 44c6a04b61 Check if the auth module supports check_password() method before using it 2017-12-14 18:02:37 +01:00
Andrew Dolgov 9390ddeae2 fix single user mode login failing because of isdefaultpassword() 2017-12-14 19:27:55 +03:00
Andrew Dolgov 1bf468ba1a pref-prefs: set button classes 2017-12-11 18:50:00 +03:00
Andrew Dolgov 121ac0481f filter rule/action dialogs: set default action 2017-12-11 18:46:27 +03:00
Andrew Dolgov ef1feb3610 subscribe dialog: add primary action 2017-12-11 18:43:53 +03:00
Andrew Dolgov 05e81655c3 user editor: add primary action 2017-12-11 18:41:32 +03:00
Andrew Dolgov 6fb5ce5e35 add some primary dialog actions; update css 2017-12-11 18:36:36 +03:00
Andrew Dolgov 5f7be9957f filter,label dlg: use default action 2017-12-11 18:23:30 +03:00
Andrew Dolgov 320a3ba529 search form: set default action 2017-12-11 18:14:45 +03:00
Andrew Dolgov f70d456a5b Merge branch 'master' of git.tt-rss.org:git/tt-rss into pdo-experimental 2017-12-11 12:54:30 +03:00
fox c463a95dca Merge branch 'master' of dim0x69/tt-rss into master 2017-12-11 09:47:04 +00:00
dim0x69 e58a14de72 Check return value from Plugins 2017-12-11 09:41:45 +00:00
fox 9306918767 Merge branch 'pda-rss-now' of richm/tt-rss into pdo-experimental 2017-12-11 04:01:28 +00:00
Richard Mortimer aa16334f1f Include NOW() in prepared SQL for rssutils.php 2017-12-10 23:05:52 +00:00
Andrew Dolgov 1c1fc17120 synchronous feed update: catch PDO exceptions as to not break headlines output 2017-12-10 21:10:19 +03:00
Andrew Dolgov 83a052f1fa pdo_connect: catch exception on create 2017-12-10 09:27:07 +03:00
Andrew Dolgov f8db5bb4db installer: use PDO, improve wording for some notices
PDO wrapper: allow working with blank DB_HOST
2017-12-10 09:20:52 +03:00
Andrew Dolgov 8e1450aa15 update previous to only affect mysql 2017-12-05 22:46:18 +03:00
Andrew Dolgov f76f773a16 purge_orphans: limit maximum number of deleted articles 2017-12-05 22:37:50 +03:00
Andrew Dolgov 99b23daee6 opml_import_filter: remove debugging 2017-12-05 10:18:54 +03:00
Andrew Dolgov 8f92a67e6f some (very minor) code cleanup in feeds class 2017-12-04 10:39:50 +03:00
Andrew Dolgov 003a7447c3 format_headlines_list: prevent warning on first_id changed check 2017-12-04 10:26:22 +03:00
Andrew Dolgov 92175a8371 setpref: remove nl2br() 2017-12-04 08:27:25 +03:00
Andrew Dolgov e6532439d6 force strip_tags() on all user input unless explicitly allowed 2017-12-03 23:35:38 +03:00
Andrew Dolgov 7c6f7bb0aa fix some minor issues found by code analyzer 2017-12-03 23:08:04 +03:00
Andrew Dolgov fa3bcfa379 queryfeedheadlines: there's no need to quote order_by/override_order
else: feedicon cache busting etc
2017-12-03 22:49:57 +03:00
Andrew Dolgov 5f5b0de423 style feed icon and opml file upload controls 2017-12-03 22:35:12 +03:00
Andrew Dolgov 229c139c6a ccache: properly recalculate counters for uncategorized 2017-12-03 21:34:57 +03:00
Andrew Dolgov 342e8a9eeb move feeds cache directory to cache/feeds 2017-12-03 21:01:35 +03:00
Andrew Dolgov 7c0eb1b621 add defaultPasswordWarning nag dialog 2017-12-03 20:46:27 +03:00
Andrew Dolgov 31e2811a63 ttrss_zoom: fix CSS 2017-12-03 19:55:19 +03:00
Andrew Dolgov 2f0623c9a5 db: return adapter on get(), remove IDB wrapper 2017-12-03 14:54:15 +03:00
Andrew Dolgov df5d2a0665 pluginhost: do not connect via legacy DB api until requested
log all initiated legacy database connections
2017-12-03 14:49:18 +03:00
Andrew Dolgov 2cf93c046c pref-users: fix sorting the table 2017-12-03 13:54:31 +03:00
Andrew Dolgov 28040002f3 pdo connection string: properly check for DB_PORT 2017-12-03 13:37:43 +03:00
Andrew Dolgov 1f16f9b8ae feed debugger: only allow debugging users own feeds 2017-12-03 13:35:18 +03:00
Andrew Dolgov 93e70e36c2 force article content/etc to string when updating to avoid failing null constraint check 2017-12-03 13:32:24 +03:00
Andrew Dolgov b51d44a5e6 further stylesheet simplification related fixes (2) 2017-12-03 13:26:26 +03:00
Andrew Dolgov 09bc54c690 further stylesheet simplification related fixes 2017-12-03 13:25:34 +03:00
Andrew Dolgov 5e68e24679 css/less updates 2017-12-03 12:50:07 +03:00
Andrew Dolgov 4dc3f7e779 api: do not use sql_bool_to_bool() 2017-12-03 11:06:49 +03:00
Andrew Dolgov 69563c96b4 plugin base: add type hint to init(host) 2017-12-03 10:11:32 +03:00
Andrew Dolgov 49a888ecce rssutils: forbid question marks in tsvector data, PDO gets confused sometimes even by quoted ?s 2017-12-03 10:10:01 +03:00
Andrew Dolgov 64312bfd71 feeds: remove sql_bool_to_bool() 2017-12-03 09:44:08 +03:00
Andrew Dolgov b6f3562d1e plugin base class: init pdo object
plugins/share: use PDO
2017-12-03 09:43:18 +03:00
Andrew Dolgov 187abfe732 main classes: remove sql_bool_to_bool() kludge 2017-12-03 09:35:59 +03:00
Andrew Dolgov 8ff3cbb32e filters: remove sql_bool_to_bool()
checkbox_to_sql_bool: return ints (???)
2017-12-03 09:26:11 +03:00
Andrew Dolgov e4291ba12f otpenable: use pdo prepare() 2017-12-03 09:10:14 +03:00
Andrew Dolgov 731ecac530 completeLabels: use prepare() not query() 2017-12-03 09:06:43 +03:00
Andrew Dolgov 7d960ce7e9 auth_internal: use PDO + other fixes 2017-12-03 00:18:08 +03:00
fox ab1960cf13 Merge branch 'upstream/pdo-experimental' of JustAMacUser/tt-rss into pdo-experimental 2017-12-02 19:50:00 +00:00
Andrew Dolgov bfccff11c4 filter rule saving fix 2017-12-02 22:47:47 +03:00
JustAMacUser 1a05210933 Fixed PDO query to prepared statement in API::updateArticles. 2017-12-02 14:08:55 -05:00
Andrew Dolgov bf6db17b8f feeds: use PDO 2017-12-02 16:07:03 +03:00
Andrew Dolgov 2e52e4fd7a feeds: more PDo stuff 2017-12-02 15:53:32 +03:00
Andrew Dolgov e4befe6bf4 fix label cache being double escaped on save
remove some old-style escaping
2017-12-02 15:47:53 +03:00
Andrew Dolgov 7a1872c1e0 feeds: more PDO stuff 2017-12-02 15:36:32 +03:00
Andrew Dolgov b5bf9a0ff3 remove long forgotten stuff related to feed debugging actionbar 2017-12-02 15:12:39 +03:00
Andrew Dolgov 91d679667e feeds: PDO progress 2017-12-02 15:04:11 +03:00
Andrew Dolgov da9ea57d1c checkbox to sql bool related changes, some more boolean fixes 2017-12-02 14:07:48 +03:00
Andrew Dolgov 7ccb4e91ff boolean handling changes which probably won't break everything 2017-12-02 14:02:01 +03:00
Andrew Dolgov 248c62a1cc filters: fix limit/offset for test dialog 2017-12-02 13:54:18 +03:00
Andrew Dolgov bf4a79eaa9 prefs: start PDO switchover 2017-12-02 13:49:35 +03:00
Andrew Dolgov f594717d18 filters: use PDO 2017-12-02 13:28:13 +03:00
Andrew Dolgov 21295a52aa labels: PDO 2017-12-02 12:45:33 +03:00
Andrew Dolgov c2418a559b pref-users: PDO 2017-12-02 12:23:41 +03:00
Andrew Dolgov 93ca6c95b8 pref-system: PDO 2017-12-02 12:03:39 +03:00
Andrew Dolgov 7039370368 pref-prefs: PDO 2017-12-02 12:01:56 +03:00
Andrew Dolgov f8108cc28d pluginhost: save_data() fixes 2017-12-02 11:31:02 +03:00
Andrew Dolgov 8af94f1292 pluginhost: use PDO 2017-12-02 11:25:43 +03:00
Andrew Dolgov 0500e14cc2 update_rss_feed: transaction lock article processing 2017-12-02 11:16:33 +03:00
Andrew Dolgov 0567016b40 rssutils: PDO 2017-12-02 09:56:34 +03:00
Andrew Dolgov afcb105f4e rssutils: start PDO switch 2017-12-02 08:38:57 +03:00
Andrew Dolgov 1d92297a96 dbupdater: use PDO 2017-12-02 01:28:30 +03:00
Andrew Dolgov c949a9282e OPML: use PDO; minor fixes 2017-12-02 01:08:30 +03:00
Andrew Dolgov 4102eb843f sql logger: pdo 2017-12-02 00:13:28 +03:00
Andrew Dolgov c1c08aed39 labels: PDO 2017-12-02 00:06:17 +03:00
Andrew Dolgov fbe7cb0a48 rpc: switch to PDO 2017-12-01 23:49:14 +03:00
Andrew Dolgov 9652fa6b66 API: small fix 2017-12-01 22:49:12 +03:00
Andrew Dolgov 3467e1fd7c api: switch to PDO 2017-12-01 22:46:22 +03:00
Andrew Dolgov dd90eefae1 PDO: set unicode for mysql and other connection params 2017-12-01 22:14:54 +03:00
Andrew Dolgov aee3f0e6d9 fix typo 2017-12-01 22:07:39 +03:00
Andrew Dolgov 7fc303e6ab query feed headlines: fix limit/offset 2017-12-01 21:07:55 +03:00
Andrew Dolgov cb13089af1 public: use PDO headlines result (2) 2017-12-01 20:57:55 +03:00
Andrew Dolgov dc393a580b public: use PDO headlines result 2017-12-01 20:57:05 +03:00
Andrew Dolgov 3623ebb1a1 feeds: handle escaping 2017-12-01 20:52:30 +03:00
Andrew Dolgov c9b6ca8b70 feeds: remove escaping 2017-12-01 20:26:51 +03:00
Andrew Dolgov b5791f11c5 queryfeedheadlines: PDOize (1) 2017-12-01 20:25:13 +03:00
Andrew Dolgov 29f1908e03 feeds: right before queryfeedheadlines() 2017-12-01 20:15:25 +03:00
Andrew Dolgov cc9450c309 ccache, misc: fixes
feeds: start PDO transition
2017-12-01 19:42:02 +03:00
Andrew Dolgov 1271407eea public: partial conversion to PDO, misc fixes 2017-12-01 18:57:34 +03:00
Andrew Dolgov fbde19580c db_prefs: PDO 2017-12-01 18:40:48 +03:00
Andrew Dolgov abf94f00b4 digest: use PDO 2017-12-01 18:31:23 +03:00
Andrew Dolgov 9ead64f6d8 dlg: PDO 2017-12-01 18:16:58 +03:00
Andrew Dolgov 933ff559e6 ccache: PDO 2017-12-01 18:03:33 +03:00
Andrew Dolgov a25ac0d7c8 counters: PDO 2017-12-01 17:47:29 +03:00
Andrew Dolgov c9d5c26041 auth/base: PDO
functions: fix small pdo-related bug
2017-12-01 17:40:53 +03:00
Andrew Dolgov 2c57df75ff article: remove db_escape..() 2017-12-01 17:35:22 +03:00
Andrew Dolgov d0e73ed8ae article: switch to PDO 2017-12-01 17:33:59 +03:00
Andrew Dolgov 2e46b434da pdo: set warnings 2017-12-01 16:56:15 +03:00
Andrew Dolgov c39ee27235 article: start pdo 2017-12-01 15:31:16 +03:00
Andrew Dolgov bfc54b0369 Merge branch 'pdo-experimental' of git.fakecake.org:tt-rss into pdo-experimental 2017-12-01 10:17:36 +03:00
Andrew Dolgov d9e60c0f68 Merge branch 'master' of git.fakecake.org:tt-rss into pdo-experimental 2017-12-01 10:17:18 +03:00
Andrew Dolgov e50c8eaa4e enforce unconditional requests every 6 hours even if server claims data is not modified 2017-11-30 13:12:28 +03:00
Andrew Dolgov 8adb3ec472 add some WIP pdo stuff 2017-11-30 12:28:07 +03:00
Andrew Dolgov ca82bb03c8 rm db_stmt 2017-11-30 11:53:21 +03:00
Andrew Dolgov 99bda9cc12 add some starting pdo glue 2017-11-30 10:47:42 +03:00
Andrew Dolgov 9dd336a2c3 generate base css files using lessc 2017-11-29 18:55:12 +03:00
dim0x69 5395526444 add HOOK_UNSUBSCRIBE_FEED 2017-11-27 11:46:46 +01:00
Andrew Dolgov 2352c320c2 fix possible sql injection in public/forgotpass 2017-11-20 08:48:18 +03:00
Andrew Dolgov 9d930af9e1 fetch_file_contents: improve error handling
1. if request fails get error string from http  response status line
2. do not override http error with possible CURL/php specific last error
3. fix silent php error generated while processing response headers to get last modified value
2017-10-30 13:13:10 +03:00
Andrew Dolgov 91f49ba17d api, setArticleLabel: allow JSON booleans 2017-10-15 16:47:44 +03:00
fox d320b55af9 Merge branch 'sort_title_date' of ggrandou/tt-rss into master 2017-10-13 05:53:03 +00:00
Gilles Grandou f9ad33c2d8 allows favicons to be in Windows PC BMP format 2017-10-09 22:58:00 +02:00
Gilles Grandou 81d96c0dee makes 'order by title' to sort by title and by ascending date
* this allows to chronologically browse all articles with the
  same title.
2017-10-09 22:50:03 +02:00
Andrew Dolgov 8b73bd28d8 remove apache-specific x-sendfile stuff
implement a hook (HOOK_SEND_LOCAL_FILE) which plugins may use to send files
via httpd-specific implementation to increase performance typically on larger files
2017-10-08 17:14:56 +03:00
fox b1d1bc901f Merge branch 'checkbox-feed' of dxbi/tt-rss into master 2017-10-06 06:47:54 +00:00
Felix Eckhofer cc50affb62
Add checkbox for authentication in edit feed dialog
This makes the UI more consistent with the "add feed" dialog and
prevents overzealous password-managers from leaking the login password.
2017-10-06 08:37:37 +02:00
Andrew Dolgov 51b521c326 fix batch feed editor using wrong SQL syntax when saving feed password
remove uses of auth_pass_encrypted in several other places
2017-10-06 09:22:04 +03:00
wn_ 3476690cbf Only require an array of basic info from 'HOOK_FEED_BASIC_INFO'.
Removes the need for the plugin to provide feed content.

Gives plugins a chance to provide 'title' and 'site_url' basic info.
Falls back to attempting retrieval+parsing of the fetch URL if needed.
2017-09-26 20:42:33 -05:00
wn_ bec5ba93e2 Add 'HOOK_FEED_BASIC_INFO' to enable plugins to provide basic feed info.
It's expected the plugin will return content parsable by FeedParser, which
will act as an interface to the basic feed info.  In the case of a plugin
that also uses 'HOOK_FETCH_FEED', both might return the same content.

The hook signature was made somewhat similar to 'HOOK_FETCH_FEED'.
2017-09-24 19:37:49 -05:00
wn_ f3774b9d65 Use 'saveHTML' when generating HTML from a DOMDocument.
This primarily occurs when modifying article content.  If 'saveXML' is
used following 'loadHTML' there is the possibility of strangeness, such
as a self-closing anchor tag.

Note that the DOMDocument used in 'classes/feeditem/atom.php' came from
'loadXML', but we use 'saveHTML' since we're returning HTML content.
2017-09-09 13:51:59 -05:00
Andrew Dolgov 153cb6d305 add support for http 304 not modified (no timestamp calculation bullshit like last time) 2017-08-17 14:40:21 +03:00
Andrew Dolgov edefcec19d filters/edit: properly parse feed-specific legacy format filter rules 2017-08-14 22:29:50 +03:00
Andrew Dolgov ab8daa0389 use mysqli_set_charset() to set MYSQL_CHARSET 2017-08-09 08:05:52 +03:00
Andrew Dolgov 20d2195f13 rssutils: include comment count when calculating article hash 2017-08-06 20:20:39 +03:00
Andrew Dolgov 51f13e7736 get_all_labels: order by caption 2017-07-30 15:25:49 +03:00
Andrew Dolgov 5e78b0c253 do not base headlines label context submenu on feed tree labels category 2017-07-30 11:55:30 +03:00
Andrew Dolgov be61f1c45c filters dialog: do not break markup on long feed names 2017-07-09 16:39:25 +03:00
Andrew Dolgov b2d42e960b replace some usages of SELF_URL_PATH with get_self_url_prefix() 2017-07-06 23:01:44 +03:00
Andrew Dolgov 667d32fd26 remove obsolete forum plugin links
mention how to enable system plugins in the UI
2017-07-04 16:28:45 +03:00
Andrew Dolgov 7b994e4bec filters: when adding rule select all feeds by default 2017-07-02 22:55:36 +03:00
Andrew Dolgov 57a1143c9d dbupdater: fail if version file missing 2017-07-02 20:53:07 +03:00
Andrew Dolgov 02f3992a5a Revert "Revert "filters: support matching on multiple feeds/categories""
This reverts commit f5d174bda9.
2017-07-02 20:37:52 +03:00
Andrew Dolgov f5d174bda9 Revert "filters: support matching on multiple feeds/categories"
This reverts commit 0bf7e007bb.
2017-07-02 20:37:01 +03:00
Andrew Dolgov e0f51d786f Merge branch 'master' of git.fakecake.org:tt-rss 2017-07-02 20:27:31 +03:00
Andrew Dolgov 0bf7e007bb filters: support matching on multiple feeds/categories
opml: update filter export/import for new format
2017-07-02 20:27:21 +03:00
Andrew Dolgov c053b97697 pref/feeds: start user category ordering from 1
api, getFeeds: send subcategory order_id
2017-06-26 16:29:57 +03:00
Andrew Dolgov e130b283a7 db prefs: ignore cache when preference requested for specified UID (in case cached value of a different profile is stored)
prefs: show (and set) enabled plugins for default profile only
2017-06-24 14:29:07 +03:00
Andrew Dolgov 93af11cb7a update_daemon_common: do not escape feed_url twice, remove some comments and stuff 2017-06-13 20:09:33 +03:00
Andrew Dolgov 6fd0399694 tunables:
* add CACHE_MAX_DAYS as a tunable generic expiry interval for various cached files
* add some comments to tunables in functions.php
* rename _MIN_CACHE_FILE_SIZE to MIN_CACHE_FILE_SIZE
* respect MIN_CACHE_FILE_SIZE setting in a few more places where content is cached
2017-05-29 23:14:42 +03:00
Andrew Dolgov e50a647916 add HOOK_FORMAT_ARTICLE & HOOK_FORMAT_ARTICLE_CDM
Feeds::format_headlines_list: add some comments for cdm article closing tags
2017-05-26 23:22:00 +03:00
Andrew Dolgov 9e381bc202 classes/Plugin: remove dbh & host fields; set init() and about() as abstract methods. 2017-05-23 21:16:30 +03:00
Andrew Dolgov 5b6ea1ef91 remove pubsubhubbub: dead 2017-05-16 10:41:20 +03:00
Andrew Dolgov 8f0a59f34a share function: remove tt-rss prefix from page title 2017-05-11 09:56:51 +03:00
Andrew Dolgov c114a2596f move add_feed_url() to pref_feeds 2017-05-11 09:07:49 +03:00
Andrew Dolgov 4fd0790804 fix DAEMON_SLEEP_INTERVAL not being defined when used
enforce minimum 60 sec spawn/sleep interval in update processes
2017-05-06 10:54:14 +03:00
Andrew Dolgov e6c886bf66 wrap rssfuncs into rssutils class 2017-05-05 18:10:07 +03:00
Andrew Dolgov 65af3b2cbb move counter stuff to a separate class 2017-05-05 11:54:31 +03:00
Andrew Dolgov 40f4a7aa6b feeditem_common: add get_element() 2017-05-05 09:21:10 +03:00
Andrew Dolgov 7c9b5a3fe4 move label stuff to Labels class
fix some unresolved functions
2017-05-04 15:57:40 +03:00
Andrew Dolgov c2f0f24e4c move digest stuff to Digest class 2017-05-04 15:41:38 +03:00
Andrew Dolgov 0086a89740 move some label stuff to labels.php
move getfeedcategory() to Feeds
2017-05-04 15:36:36 +03:00
Andrew Dolgov 4a0da0e5bf move get_article_labels to Article 2017-05-04 15:26:21 +03:00
Andrew Dolgov 2ed0d6c433 move counter cache to a separate class
fix references to get_article_tags
2017-05-04 15:22:57 +03:00
Andrew Dolgov aeb1abedb2 move a bunch of functions into Feeds/Article namespaces
+       static function catchupArticlesById($ids, $cmode, $owner_uid = false) {
+       static function getLastArticleId() {
+       static function queryFeedHeadlines($params) {
+       static function getParentCategories($cat, $owner_uid) {
+       static function getChildCategories($cat, $owner_uid) {

move the rest of functions2.php back to functions.php as it is of more manageable size, remove the former
2017-05-04 15:13:02 +03:00
Andrew Dolgov a230bf88a9 move to Article:
+       static function purge_orphans($do_output = false) {

move to Feeds

+       static function getGlobalUnread($user_id = false) {
+       static function getCategoryTitle($cat_id) {
+       static function getLabelUnread($label_id, $owner_uid = false) {
2017-05-04 15:00:21 +03:00
Andrew Dolgov 86a8351ca2 move the following to Feeds:
+       static function catchup_feed($feed, $cat_view, $owner_uid = false, $mode = 'all', $search = false) {
+       static function getFeedArticles($feed, $is_cat = false, $unread_only = false,
+       static function subscribe_to_feed($url, $cat_id = 0,
+       static function getFeedIcon($id) {
+       static function getFeedTitle($id, $cat = false) {
+       static function getCategoryUnread($cat, $owner_uid = false) {
+       static function getCategoryChildrenUnread($cat, $owner_uid = false) {
2017-05-04 14:50:56 +03:00
Andrew Dolgov 7e5f8d9fb3 move the following to Article:
+       static function format_article_enclosures($id, $always_display_enclosures,
+       static function format_article($id, $mark_as_read = true, $zoom_mode = false, $owner_uid = false) {
+       static function get_article_tags($id, $owner_uid = 0, $tag_cache = false) {
+       static function format_tags_string($tags) {
+       static function format_article_labels($labels) {
+       static function format_article_note($id, $note, $allow_edit = true) {
+       static function get_article_enclosures($id) {
2017-05-04 14:38:45 +03:00
Andrew Dolgov 4122da0290 move getArticleFeed to Article
move print_label_select to controls
2017-05-04 14:26:44 +03:00
Andrew Dolgov e60d5b0a84 move opml-specific get_feed_category to opml.php 2017-05-04 14:24:30 +03:00
Andrew Dolgov 3517d363d3 add api test for labels, api: fix setArticleLabel assign not handled correctly 2017-04-27 09:04:23 +03:00
Andrew Dolgov 891df34637 add some basic API unit tests 2017-04-27 00:24:17 +03:00
Andrew Dolgov ea79a0e033 remove some redundant php closing tags 2017-04-26 20:24:18 +03:00
Andrew Dolgov 7b55001eee fix various issues reported by static analysis
update gitlab-ci config
2017-04-26 15:29:22 +03:00
Andrew Dolgov 3c11159776 return result codes if DB connection or --debug-feed fails 2017-04-25 13:39:01 +03:00
Andrew Dolgov 337535416f filter by search results while marking feed as read 2017-03-31 11:21:35 +03:00
Andrew Dolgov 9c3c0ace6b rename cache images option label (rip translations) 2017-03-23 15:16:31 +03:00
Andrew Dolgov 41bead9baa remove local file extensions and generalize some method names for cached media
file extensions may still be present in urls, but are ignored by the backend

MIGRATION (if you have any cached data worth keeping, not required):
in cache/images run "rename 's/\..*$//' *" i.e. strip file extensions
2017-03-23 14:55:40 +03:00
Andrew Dolgov 63f0ed3d9c cdmClicked: do not use event.target.parents to figure out if clicked on a heading 2017-03-06 12:19:13 +03:00
Andrew Dolgov 270c0a00e5 improve JS error logging with additional stuff 2017-03-05 10:50:15 +03:00
Andrew Dolgov 1bfe1d7b31 simplify error handling
* less convoluted exception dialogs
* use window.onerror for the majority of exception catching/reporting
* remove most of now useless try/catch blocks
* report stacktrace instead of manually specified error locations
2017-03-04 14:34:44 +03:00
Andrew Dolgov b835a52814 rework the way headlines menus identify calling row 2017-02-17 09:01:45 +03:00
Andrew Dolgov 5161460048 bind headlines menu to a selector to avoid remaking it unnecessarily 2017-02-13 23:36:58 +03:00
Andrew Dolgov 58210301e0 add HOOK_ENCLOSURE_ENTRY for af_zz_imgproxy 2017-02-12 16:01:28 +03:00
Jérémy DECOOL ba2853caac Prevent target='_blank' vulnerability on dynamic link 2017-02-12 11:01:36 +01:00
Andrew Dolgov 4daaf23491 allow user plugins to expose public methods out in a limited fashion 2017-02-10 16:04:28 +03:00
Andrew Dolgov 328118d12e use print_hidden() for hidden dojo form fields 2017-02-10 14:36:21 +03:00
Andrew Dolgov 38b3998bbc af_zz_imgproxy: use inline disposition, misc updates 2017-02-10 12:37:21 +03:00
Andrew Dolgov 9c7ebaa08c cached_image: remove unnecessary basename() 2017-02-04 12:02:17 +03:00
Andrew Dolgov 0442cbb6c1 image cache: send files as content-disposition: attachment; add .png suffix to image urls 2017-02-04 11:32:24 +03:00
Andrew Dolgov 24c7e4132d subscribe dialog: do not report errors via alert()
fetch_file_contents: reset all globals on start, return error message body when not using curl
subscribe_to_feed: report if cloudflare is in the error message
2017-01-28 12:45:49 +03:00
Andrew Dolgov 22387de225 preferences: set themes dropdown to default if selected theme is missing 2017-01-26 22:37:22 +03:00
Andrew Dolgov e432b8fbe2 implement cache-busting for default theme.css
night theme: small fixes
2017-01-25 12:17:41 +03:00
Andrew Dolgov cb3f877303 reference pubsubhubbub classes using their namespace 2017-01-23 08:20:46 +03:00
Andrew Dolgov ad326dbf78 unpackVisibleHeadlines: do not iterate over all RROWs all the time 2017-01-22 20:57:16 +03:00
Andrew Dolgov 967f0619c7 force ngettext() count argument type to string 2017-01-22 10:18:43 +03:00
Andrew Dolgov 84012df5cd prefs: auto expand feed tree 2017-01-21 22:33:23 +03:00
Andrew Dolgov 6b06a609af headlines toolbar: move selection links into the dropdown 2017-01-07 17:03:58 +03:00
Andrew Dolgov 6293d3717c add toggle_sidebar plugin, remove obsolete toggle button
add PluginHost::HOOK_MAIN_TOOLBAR_BUTTON
2017-01-07 15:29:17 +03:00
Andrew Dolgov 17a8e61d2a deprecate encrypted feed passwords because mcrypt is getting removed from php 7.1
1. transparent decryption for existing installs stays for the time being
2. new passwords are not going to be encrypted even if FEED_CRYPT_KEY is defined
3. added update.php --decrypt-feeds to bulk decrypt existing encrypted passwords
4. updated install to not auto-generate crypt key
5. added warning to config.php-dist
2017-01-07 14:25:46 +03:00
Andrew Dolgov 8b8568e9a3 edit tags dialog: fix height 2017-01-04 10:40:09 +03:00
Andrew Dolgov eee818c46a ttrssmailer: include phpmailer's smtp class 2017-01-04 10:33:24 +03:00
Andrew Dolgov e4071d2544 feedparser: fix syntax error 2016-11-11 19:47:09 +03:00
Andrew Dolgov 4a5490dc58 feedparser: fix normalize_encoding() not working properly for some encodings 2016-11-11 14:08:40 +03:00
Andrew Dolgov cde8272205 parser: only try to convert encoding if mbstring actually supports it 2016-09-05 15:02:31 +03:00
John Brayton f1b3b3f330 Add feed_id to subscribeToFeed response when the code is 1 or 0.
Set the API_LEVEL to 14.
2016-08-27 10:29:25 -04:00
Andrew Dolgov e54eb40a8c remove support for legacy mysql driver 2016-08-21 14:03:35 +03:00
Andrew Dolgov a005ebb693 remove classes/db/api.php (shouldn't be there) 2016-08-19 18:33:48 +03:00
Heiko Adams 2842cf6e45 Merge branch 'master' into german-translation 2016-08-19 17:25:05 +02:00
Andrew Dolgov a84fb943b4 pre-users: disallow renaming admin user 2016-08-17 17:54:27 +03:00
Andrew Dolgov 1818614949 api: fix article guid not being passed to render article hook 2016-07-20 15:38:42 +03:00
Andrew Dolgov cfc2fe50cb fix sql error when subscribing to a feed using feed archive 2016-07-05 11:48:36 +03:00
Heiko Adams 94e3a9ab44
Merge with master 2016-05-18 14:44:39 +02:00
Andrew Dolgov c9a5903bcc disable autocomplete in subscription dialog 2016-05-18 14:48:51 +03:00
Andrew Dolgov ec21abb85d update autocomplete to "new-password" 2016-05-18 12:43:56 +03:00
Andrew Dolgov fa0e0ef315 set feed editor password fields to autocomplete=off 2016-05-18 12:31:25 +03:00
Andrew Dolgov aa4ab8e0bc remove .htaccess files 2016-05-13 09:10:54 +03:00
Andrew Dolgov 2f1a29d9c8 generate_syndicated_feed: sanitize content excerpt 2016-04-29 22:00:02 +03:00
Andrew Dolgov 977cea1438 actually check for failures properly in the dbupdater 2016-04-26 20:04:24 +03:00
Andrew Dolgov 79c891a8b7 set smallish timeout on update check, exclude update checking on initial load 2016-03-30 13:32:49 +03:00
Andrew Dolgov b6b5554db4 normalize some html5 custom attributes 2016-03-22 23:43:32 +03:00
Andrew Dolgov 2d052e42b5 getLoadedArticleIds: consider visible rows only
catchupFeedInGroup: hide articles when catching up, with caveats
2016-03-22 23:22:28 +03:00
Andrew Dolgov 9232283815 pass feed information to hook_article_export_feed 2016-03-01 14:42:15 +03:00
Andrew Dolgov 399678a14e add PluginHost.HOOK_ARTICLE_EXPORT_FEED 2016-03-01 14:39:36 +03:00
Andrew Dolgov 4f100ece19 pref_filters: sort rules by reg_exp when displaying index 2016-02-19 18:52:54 +03:00
Andrew Dolgov cc43e19b44 error handler: do not log last query, truncate error message to a smaller length 2016-02-17 16:42:13 +03:00
Andrew Dolgov 3261dbfa21 generate_syndicated_feed: pass article id to sanitize() 2016-02-11 20:12:01 +03:00
Andrew Dolgov d9de136c39 inline feed update: set feed as needing update if open_basedir is set + plugins need curl 2016-01-30 13:40:56 +03:00
Andrew Dolgov 67f3e3f942 pref-labels: remove obsolete searching code 2016-01-30 13:03:00 +03:00
Andrew Dolgov 9def554082 pref-feeds: allow searching by feed_url 2016-01-30 13:02:15 +03:00
Andrew Dolgov a5556c2471 fix item_id not being properly escaped in pref_feeds::process_category_order() (possible sql injection) 2016-01-29 17:24:59 +03:00
Andrew Dolgov 7af2e79578 create_published_article: only use readability if enabled in the plugin 2016-01-29 15:48:44 +03:00
Andrew Dolgov 666cd33360 enable support for readability (if af_readability is enabled) in shareanything bookmarklet 2016-01-29 15:38:05 +03:00
Andrew Dolgov 71b75bb7fa fix multiple issues with archived feeds 2016-01-26 19:03:05 +03:00
Andrew Dolgov 41245888f1 only stop inline feed updates with open_basedir enabled if there are any plugins that require CURL enabled
add plugin->flags() returning array with additional plugin information, currently only CURL requirement (optional)
2016-01-26 11:45:47 +03:00
Andrew Dolgov 29c92d7b08 prevent frontend updating of feeds on view if open_basedir is set to prevent plugins potentially not working correctly (i.e. if backend system has open_basedir disabled) 2016-01-23 12:13:03 +03:00
Andrew Dolgov 7d1e15c396 parser: properly support tag subtrees instead of text content for article content 2016-01-23 01:48:32 +03:00
Andrew Dolgov d2bb392bae Revert "parser: use node->c14n() instead of expecting html in nodeValue"
This reverts commit 1383514ad9.
2016-01-23 01:24:13 +03:00
Andrew Dolgov 1383514ad9 parser: use node->c14n() instead of expecting html in nodeValue 2016-01-23 01:04:24 +03:00
Andrew Dolgov 312742db6e updates: auto-disable CURL if open_basedir is enabled, notify possible issues w/ plugins 2016-01-13 18:12:31 +03:00
Andrew Dolgov 5bdcb8fd78 remove option ALLOW_DUPLICATE_POSTS as confusing/useless 2016-01-07 22:01:35 +03:00
Andrew Dolgov 9b736a20b3 do not automatically call cleanup_tags() in housekeeping tasks 2016-01-04 10:42:24 +03:00
Andrew Dolgov f61f2a2699 format_headlines_list: fix pg_num_rows() called incorrectly when firstid check failed 2015-12-05 04:04:44 +03:00
Andrew Dolgov b8619f8db0 store formatted backtrace to sql log 2015-12-04 15:58:20 +03:00
Andrew Dolgov 1bd552ee31 compat patches for php7 2015-12-04 09:29:58 +03:00
Andrew Dolgov 475d762872 logger: record last query before logged error 2015-12-03 16:15:28 +03:00
Andrew Dolgov 154f14d01b filters: do not strip_tags() on regexps 2015-12-03 10:17:32 +03:00
JustAMacUser 73c77ab0a5 Add optional (default: true), boolean "sanitize" parameter to API::getArticle() method. 2015-11-23 14:57:03 -05:00
Andrew Dolgov 19e47ad60b queryFeedHeadlines: don't check first_id when sorting by oldest first 2015-11-21 22:20:00 +03:00
Andrew Dolgov 583f163f40 don't init plugins when loading everything to make a list, duh 2015-10-08 17:02:32 +03:00
Andrew Dolgov 86d07d367c rpc, setpref: properly save settings to active profile 2015-09-26 17:31:53 +03:00
Andrew Dolgov 77e8100669 add date suffixes to opml & import_export generated files 2015-09-21 12:45:25 +03:00
Andrew Dolgov 9a35ed6709 disable filter test result highlighting for the time being 2015-09-15 20:55:08 +03:00
Andrew Dolgov 94b8ce6cec queryfeedheadlines: remove disable_offsets hack 2015-09-15 12:33:58 +03:00