Andrew Dolgov
a14873d5b4
more hooks, also add type hint for PluginHost::getInstance()
2021-02-08 21:06:14 +03:00
Andrew Dolgov
ca4c93c6b9
pluginhost: note hook function prototypes
2021-02-08 20:20:24 +03:00
Andrew Dolgov
a341a838b1
pluginhost: deny hook registration to plugins which lack relevant implementation methods
2021-02-08 19:16:53 +03:00
Andrew Dolgov
3b52cea811
move some old-style handlers to new callback ones
2021-02-08 16:14:48 +03:00
Andrew Dolgov
1eb1629d9e
pluginhost: rework run_hooks() to be shorter, add callback variant; implement exception handling for both
2021-02-08 14:24:45 +03:00
Andrew Dolgov
20b56b5b23
pluginhost: catch errors while loading plugin source code
2021-02-08 12:14:12 +03:00
Andrew Dolgov
4165834f80
pluginhost: catch fatal errors in plugin init
2021-02-08 12:10:25 +03:00
Andrew Dolgov
c94f1b6ff8
fix some more warnings reported by phpstan
2021-02-06 17:38:24 +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
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
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
6811d0bde2
use self:: in some places to invoke static methods from the same class
2020-09-22 14:54:15 +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
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
ddf9227dc4
pluginhost: allow overriding default sort modes via HOOK_HEADLINES_CUSTOM_SORT_MAP etc
2020-08-13 12:23:27 +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
208e02c47d
PluginHost/save_data: use separate PDO connection to prevent issues with nested transactions
2020-03-10 08:14:00 +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
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
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
7f8946f14e
pluginhost: implement priority-based system for running hooks
2019-08-15 15:34:09 +03:00
Andrew Dolgov
9d852e052c
add HOOK_ARTICLE_IMAGE for Article::get_article_image()
2019-08-15 09:04:42 +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
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
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
72fcc81919
support per-plugin locale directories
2019-03-01 14:25:24 +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
a01c33d654
add HOOK_FILTER_TRIGGERED (for filter debugging)
2018-12-06 19:15: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
57932e1837
remove PHPMailer and related directives from config.php-dist; add pluggable Mailer class
2018-11-22 14:45:14 +03:00
Andrew Dolgov
3a0292303e
php: remove trailing whitespaces
2018-11-03 15:08:43 +03:00
Andrew Dolgov
32c0c07cc1
pluginhost: implement basic autoloader for classes bundled with plugins (uses vendor/ layout)
2018-08-07 14:36:45 +03:00
Andrew Dolgov
6fb5f17be6
pluginhost: always return an array in get_all()
2017-12-17 19:06:18 +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
Andrew Dolgov
7c6f7bb0aa
fix some minor issues found by code analyzer
2017-12-03 23:08:04 +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
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
dim0x69
5395526444
add HOOK_UNSUBSCRIBE_FEED
2017-11-27 11:46:46 +01: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
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
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
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
58210301e0
add HOOK_ENCLOSURE_ENTRY for af_zz_imgproxy
2017-02-12 16:01:28 +03:00