Andrew Dolgov
9e8d69739f
add two helper account access levels:
...
- read only - can't subscribe to more feeds, feed updates are skipped
- disabled - can't login
define used access levels as UserHelper constants and refactor code to
use them instead of hardcoded numbers
2021-11-10 20:44:51 +03:00
wn_
72cf4f1f0d
Address PHPStan warning in 'classes/feeds.php'.
...
------ ------------------------------------
Line classes/feeds.php
------ ------------------------------------
8 Property Feeds::$params is unused.
------ ------------------------------------
2021-11-01 21:10:27 +00:00
Andrew Dolgov
76d8b1bf6f
HOOK_ARTICLE_BUTTON/HOOK_ARTICLE_LEFT_BUTTON: only try to parse markup if its actually there
2021-10-26 15:45:12 +03:00
Andrew Dolgov
933913410c
css: make plugin button container a flexbox
...
backend: pass plugin button generated code through domdocument to ensure
its correctness; set data-plugin-name attribute on children to make
them sortable via css
2021-10-24 20:11:49 +03:00
Andrew Dolgov
41245da8a6
pluginhost: update comments for HOOK_ constants to use phpdoc syntax; add HOOK_PRE_SUBSCRIBE
2021-10-22 13:24:10 +03:00
Andrew Dolgov
145fc31625
feed tree context menu: add an entry to open originating website
2021-10-10 22:08:17 +03:00
Andrew Dolgov
8ed927dbd2
OPML: multiple fixes
...
- remove unused integer indexes when exporting filters as JSON
- fix warning when importing filters without rules
- properly assign category IDs for category filter rules
- fix warning: check if outline attributes like xmlUrl are set before trying to use them
- fix warning: don't try to use libxml_disable_entity_loader on PHP 8
2021-09-08 09:04:15 +03:00
Andrew Dolgov
b2f888e386
include archived articles (which lack associated feed id) when browsing by tag
2021-05-07 19:15:10 +03:00
wn_
5d5c034a90
Adjust quotation marks in search query before 'str_getcsv'.
...
This moves a potential first quotation mark to before the associated keyword to ensure 'str_getcsv' groups the key and value correctly. Without this 'str_getcsv' would split on potential spaces within the quoted value.
2021-03-27 00:18:05 +00:00
Andrew Dolgov
ac6a59914b
nsfw: support API clients
2021-03-07 13:22:38 +03:00
Andrew Dolgov
217922899d
set some more type hints
2021-03-06 15:23:54 +03:00
Andrew Dolgov
270f0c3132
general cleanup, set some type hints
2021-03-06 15:19:31 +03:00
Andrew Dolgov
6f93c45c28
use orm in some more places; prevent _get_cat_title from hitting the db for uncategorized
2021-03-02 20:07:31 +03:00
Andrew Dolgov
c4eaab8a31
feeds/_add_cat: use ORM
2021-03-02 10:24:15 +03:00
Andrew Dolgov
7cf12233d7
use ORM when subscribing feeds
2021-03-02 10:11:42 +03:00
Andrew Dolgov
2005a7bf4f
revise behavior of Feeds::_cat_of
2021-03-02 09:36:44 +03:00
Andrew Dolgov
84d8b08d1f
use orm for feed access keys
2021-03-02 08:26:37 +03:00
Andrew Dolgov
031ee47a3e
don't try to pass string literal NOW() to ORM as a timestamp
2021-03-01 23:07:20 +03:00
Andrew Dolgov
b150e46a52
revert back load_filters-related changes
2021-03-01 22:25:41 +03:00
Andrew Dolgov
56f658711f
use orm for a bunch of short feed/cat queries
2021-03-01 20:25:53 +03:00
Andrew Dolgov
8b1a2406e6
userhelper: use orm for a few more user-related things
2021-03-01 19:32:27 +03:00
Andrew Dolgov
afc7142250
move all $fetch globals to UrlHelper
2021-02-28 10:12:57 +03:00
Andrew Dolgov
cf5c7c4f29
feeds/add: hide php8 warning
2021-02-27 14:16:49 +03:00
Andrew Dolgov
6d06450649
don't rely only on label_cache contents when displaying headline labels
2021-02-27 10:58:11 +03:00
Andrew Dolgov
d577eb898c
when browsing by tags, return same set of columns as normally
2021-02-26 15:45:30 +03:00
Andrew Dolgov
4896874bda
_get_headlines: don't try to use _SESSION uid
2021-02-26 13:52:16 +03:00
Andrew Dolgov
3ab664f846
feeds/view: silence view_mode warning
2021-02-26 10:02:25 +03:00
Andrew Dolgov
f3d4bae32e
add an option to disable DISTINCT on headlines query (unless it's Labels category)
2021-02-26 09:57:34 +03:00
Andrew Dolgov
56b10fea18
pass translations to frontend as a json object
2021-02-26 09:21:17 +03:00
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