Andrew Dolgov
a1ca62af50
cache schema version better
2021-02-25 21:42:05 +03:00
Andrew Dolgov
22ae284db4
reduce overall amount of unnecessary database queries
2021-02-25 21:27:16 +03:00
Andrew Dolgov
c96172fa04
use constants in get_pref()/set_pref()
2021-02-25 14:49:58 +03:00
Andrew Dolgov
5aa05c90e1
pref-prefs: use constants instead of hardcoded strings
2021-02-25 14:45:11 +03:00
Andrew Dolgov
553548b689
request label counters conditionally
2021-02-24 15:07:31 +03:00
Andrew Dolgov
e468e5a589
cats_of: enforce owner_uid
2021-02-24 10:09:08 +03:00
Andrew Dolgov
6ea1430a04
no special counter handling for catchupAll
2021-02-24 10:01:39 +03:00
Andrew Dolgov
e6505b7d83
_cats_of: only request parents if needed
2021-02-24 09:56:59 +03:00
Andrew Dolgov
d6203bf350
try to calculate counters conditionally based on feed ids
2021-02-24 09:47:26 +03:00
Andrew Dolgov
8d2e3c2528
drop errors.php and simplify error handling
2021-02-23 22:26:07 +03:00
Andrew Dolgov
211f699aa0
migrate the rest into Config::
2021-02-22 22:35:27 +03:00
Andrew Dolgov
e4107ac952
wip: initial for config object
2021-02-22 21:47:48 +03:00
Andrew Dolgov
be4e7b1340
fix several issues reported by phpstan
2021-02-22 14:41:09 +03:00
Andrew Dolgov
545bcc3e4b
bookmarklets: cleanup some more markup
2021-02-20 08:49:40 +03:00
Andrew Dolgov
cf249d7e8c
modify classname helpers to use element.classList; fix feed debugger & share--get
2021-02-19 19:29:43 +03:00
Andrew Dolgov
737cffc241
render feed icon markup on the client
2021-02-19 17:40:11 +03:00
Andrew Dolgov
d445530fa0
format note on the client
2021-02-19 17:15:22 +03:00
Andrew Dolgov
e73779fec1
render tags on the client
2021-02-19 15:31:50 +03:00
Andrew Dolgov
131f34648d
render headline labels on the client
2021-02-19 15:03:48 +03:00
Andrew Dolgov
c088e9d9d8
get rid of a few more prototype-isms
2021-02-18 22:23:06 +03:00
Andrew Dolgov
b16abc157e
* App: rename hidden to hidden_tag
...
* search: use client dialog
* add some form field helpers
2021-02-17 19:34:54 +03:00
Andrew Dolgov
92cb91e2e2
search dialog: bring back id of language dropdown
2021-02-17 16:33:28 +03:00
Andrew Dolgov
7fad6ce651
move rgb/hsl functions to their own namespace
2021-02-16 17:07:23 +03:00
Andrew Dolgov
bdbbdbb0ed
rework controls to accept parameters as array
2021-02-16 16:59:21 +03:00
Andrew Dolgov
1f5d81b77c
use a few more control helpers for checkboxes
2021-02-16 15:19:42 +03:00
Andrew Dolgov
d7127cead3
feed debugger: use hidden helpers; add button helpers
2021-02-16 14:42:27 +03:00
Andrew Dolgov
26d6b84a57
add namespaced controls with unified naming; deprecated old-style control shortcuts
2021-02-16 14:23:00 +03:00
Andrew Dolgov
88f7c4f1a5
feeds/view: fix php8 warning
2021-02-16 10:11:58 +03:00
Andrew Dolgov
9f55454f63
remove the rest of db.php; rename some leftover methods in feeds
2021-02-15 16:51:35 +03:00
Andrew Dolgov
166f2d4666
diskcache: unify naming
2021-02-15 16:11:30 +03:00
Andrew Dolgov
257efb43c6
article: unify naming
2021-02-15 15:52:28 +03:00
Andrew Dolgov
020f062a76
feeds: unify naming
2021-02-15 15:43:07 +03:00
Andrew Dolgov
6b006a18e7
subscribe to feed: use client dialog
2021-02-15 15:21:41 +03:00
Andrew Dolgov
82adb01307
render enclosures on the client
2021-02-15 14:10:46 +03:00
Andrew Dolgov
9f31381bb6
renderToolbar: support empty data i.e. dashboard feed
2021-02-15 07:46:24 +03:00
Andrew Dolgov
a2e688fcb2
render headline-specific toolbar on the client
2021-02-14 22:17:13 +03:00
Andrew Dolgov
15fd23c374
use shortcut echo syntax for php templates
2021-02-14 09:15:51 +03:00
Andrew Dolgov
bf6d0f2817
various dialog-related fixes; stop referring to many dialogs by name; move filter test initial dialog to client side
2021-02-12 10:35:13 +03:00
Andrew Dolgov
72e38bfe1f
rework a few more dialogs to use App.dialogOf()
2021-02-12 09:56:27 +03:00
Andrew Dolgov
4182018cb7
generated feed: use client dialog
2021-02-11 22:04:39 +03:00
Andrew Dolgov
7ae0e8d9c5
rewrite some more hooks in classes/feeds
2021-02-08 23:10:22 +03:00
Andrew Dolgov
345dbb3521
rewrite some more hooks
2021-02-08 22:46:01 +03:00
Andrew Dolgov
b6e1a5c91a
fix several warnings reported by phpstan
2021-02-06 17:19:07 +03:00
Andrew Dolgov
5849a39820
af_redditimgur: don't try to load empty html; fix a warning in update debugger
2021-02-06 10:31:06 +03:00
Andrew Dolgov
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
5f733604f0
purge_feed: limit debugging to LOG_VERBOSE
2020-12-20 23:11:26 +03: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
83962a8561
feed debugger: allow setting log level to LOG_EXTENDED
2020-12-12 22:17:23 +03: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
d06cc8267b
queryFeedHeadlines: bring back DISTINCT for a limited set of columns
2020-12-07 16:59:48 +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
38a7a1da88
hide uninteresting errors in several DOMDocument->loadHTML() invocations
2020-10-01 13:20:07 +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
215f388992
move timestamp-related stuff to a separate class
2020-09-23 13:04:26 +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
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
a4525d31b2
replace FALSE with false so that static analyzer shuts up about it
2020-09-17 19:02: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
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
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
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
d01ad09800
eslint-related fixes; move a few things from global context to App
2020-06-05 07:44:57 +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
5f30061c92
properly calculate marked counters for feeds in nested categories
2020-02-20 15:54:40 +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
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
9c0235ab66
show current unread counter on headlines toolbar if sidebar is hidden
2019-12-12 07:37:28 +03:00
Andrew Dolgov
565547f5a1
php 7.4 deprecation-related fixes
2019-12-06 07:27:22 +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
133c2b482b
move rewrite_cached_urls to DiskCache::rewriteUrls()
2019-08-13 12:46:57 +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
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
84d43a1b44
catchup_feed: invoke HOOK_SEARCH if necessary
2019-05-07 06:57:28 +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
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
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