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
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
399678a14e
add PluginHost.HOOK_ARTICLE_EXPORT_FEED
2016-03-01 14:39:36 +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
b87744534a
add plugin-based filter actions (see example plugin in attic)
...
bump schema
2015-08-11 23:28:42 +03:00
Andrew Dolgov
5914f31981
pluginhost: mention that update task & housekeeping hooks are for global plugins only
2015-06-15 21:41:55 +03:00
Andrew Dolgov
ca5d39e866
pluginhost: assume plugins.local exists
2015-06-05 18:10:17 +03:00
Andrew Dolgov
7c0a2ab202
pluginhost: allow loading user plugins from plugins.local
2015-06-05 17:54:52 +03:00
Andrew Dolgov
945346cbff
add HOOK_RENDER_ENCLOSURE & af_youtube_embed plugin
2015-04-21 14:07:20 +03:00
Andrew Dolgov
7eb87b80d5
add pluginhost HOOK_HEADLINES_BEFORE (refs #814 )
2014-08-19 14:24:34 +04:00
wltb
01465325b4
Add subscribe hook, give more information to fetch_feed hook
2014-05-19 14:06:52 +02:00
Dave Zaikos
2bb11658a8
Added HOOK_FORMAT_ENCLOSURES plugin hook.
...
Runs HTML and enclosures array through a plugin hook when rendering an article's enclosures in format_article_enclosures(). Allows plugins to override handling of how enclosures are presented by either filtering the array of enclosures, or generating the HTML to add to the article content.
2014-05-12 00:59:27 -04:00
Rob Hoelz
baaf4c3043
Make search mechanism pluggable
...
Currently, TinyTinyRSS can use raw SQL or the Sphinx search engine
for searching. It would be nice if other search engines (such as
Xapian) could be used, or if features of the underlying SQL engine
(such as MySQL's FULLTEXT indexes) could be leveraged. This commit
makes searching into a plugin hook, falling back to the builtin behavior
if no search plugin is active. The Sphinx search behavior has been
broken out into a plugin.
2014-04-23 04:49:54 +00:00
Andrew Dolgov
84e36b61a3
make_init_params: add plugins
2014-03-14 15:06:37 +04:00
Dave Zaikos
a96bb3d88a
Fixed a bug in PluginHost::del_hook() where the parameters passed to array_search() were in the incorrect order.
2014-01-25 02:18:27 -05:00
Andrew Dolgov
8e47022036
add hook_house_keeping
2013-08-02 14:06:18 +04:00
justauser
891e36f57e
Changes to add a new hook: HOOK_QUERY_HEADLINES. An example is provided.
2013-06-27 11:18:23 -04:00
Andrew Dolgov
14c84904fe
pluginhost: allow html tags in plugin storage
2013-05-27 14:03:14 +04:00
Andrew Dolgov
ee65bef405
add HOOK_FETCH_FEED
2013-05-20 15:26:53 +04:00
Rasmus Lerdorf
6f7798b643
Fixing bugs found by static analysis
2013-05-07 00:35:10 -07:00
Andrew Dolgov
d48398e647
pluginhost: remove session cache for storage
2013-04-28 18:17:58 +04:00
Andrew Dolgov
8cefe38a0a
add HOOK_PREFS_SAVE_FEED
2013-04-26 14:23:18 +04:00
Andrew Dolgov
057177eb2c
add HOOK_PREFS_EDIT_FEED
2013-04-26 14:21:08 +04:00
Andrew Dolgov
106a3de91c
plugins: bump API version
2013-04-19 17:31:56 +04:00
Andrew Dolgov
ddf28801e4
implement plugin API version compatibility check
2013-04-19 17:26:22 +04:00
Andrew Dolgov
726bd48e8c
better handle get_link() enabled plugins crashing on load
2013-04-19 17:20:03 +04:00
Andrew Dolgov
48ed517e8d
pref_prefs: remove second argument from the constructor
2013-04-19 08:40:19 +04:00
Andrew Dolgov
1ffe3391f9
make pluginhost a singleton
2013-04-18 12:27:34 +04:00
Andrew Dolgov
d9c85e0f11
classes: use OO DB interface
2013-04-17 20:12:14 +04:00
Andrew Dolgov
a42c55f02b
fix blank character after opening bracket in function calls
2013-04-17 18:34:18 +04:00
Andrew Dolgov
6322ac79a0
remove $link
2013-04-17 16:48:41 +04:00
Andrew Dolgov
b8c7f8357d
do not try to load plugins which aren't directories
2013-04-16 20:20:40 +04:00
Andrew Dolgov
79f9bef767
add support for plugins adding API methods
2013-04-12 08:18:43 +04:00
Andrew Dolgov
ccb2b8dd42
add HOOK_ARTICLE_LEFT_BUTTON
2013-04-09 16:46:56 +04:00
Daniel Andersson
4785420034
Add hook to add explanations of hotkey actions via plugins.
2013-04-02 09:05:17 +02:00
Andrew Dolgov
ceb7847108
add HOOK_TOOLBAR_BUTTON, HOOK_ACTION_ITEM, HOOK_HEADLINE_TOOLBAR_BUTTON
2013-04-01 18:06:09 +04:00
Andrew Dolgov
4cf0f9a900
greaderimport: add command line mode
2013-03-28 18:37:36 +04:00
Andrew Dolgov
a413f53ebf
add experimental base for plugin vfeeds (3 pane mode not yet
...
implemented)
2013-03-27 16:15:25 +04:00
Andrew Dolgov
3972bf5981
db_escape_string: specify link parameter for consistency; sessions: do not force-close db connection in _close()
2013-03-22 09:14:55 +04:00
Andrew Dolgov
b6604c9613
add HOOK_RENDER_ARTICLE_API ( closes #608 )
2013-03-21 18:19:23 +04:00
Andrew Dolgov
764555ff8a
rework update.php to use getopt; allow --task parameter
2013-03-21 14:48:47 +04:00
Andrew Dolgov
e9b86f0a1c
reimplement HOOK_SANITIZE (plugs before final removal of harmful tags)
2013-03-19 19:00:18 +04:00
Andrew Dolgov
be124dc236
Revert "add experimental HOOK_SANITIZE"
...
This reverts commit 2130fe7a18
.
2013-03-19 00:00:13 +04:00
Andrew Dolgov
2130fe7a18
add experimental HOOK_SANITIZE
2013-03-18 22:26:36 +04:00
Andrew Dolgov
be17885789
pluginhost: add get_debug()/set_debug() for plugins to detect if debugging is allowed
2013-02-26 19:30:19 +04:00
Andrew Dolgov
017401ddce
implement HOOK_FEED_FETCHED
2013-02-23 18:38:50 +04:00
Andrew Dolgov
84d952f141
implement article render hooks
2013-02-23 16:01:51 +04:00
Andrew Dolgov
e938b1de11
rename plugin main class files
2012-12-30 13:36:40 +04:00
Andrew Dolgov
e218c5f56f
main ui: action-based hotkey system, add swap_jk plugin
2012-12-28 10:46:53 +04:00
Andrew Dolgov
5d9abb1e11
add plugin storage table to schema; add ability to clear plugin data
2012-12-27 19:20:36 +04:00
Andrew Dolgov
d8a1d2a25b
add experimental key/value storage for plugins
2012-12-27 16:55:25 +04:00
Andrew Dolgov
0f28f81f89
move authentication modules to plugins/
2012-12-27 15:14:44 +04:00
Andrew Dolgov
699daf5856
add several HOOK_PREFS_TAB_SECTION hook points
2012-12-27 01:13:18 +04:00
Andrew Dolgov
d2a421e3cb
more work on user-selectable plugins; properly process system and user plugins
2012-12-25 10:02:08 +04:00
Andrew Dolgov
de612e7a38
experimental support for per-user plugins (bump schema)
2012-12-25 00:45:10 +04:00
Andrew Dolgov
7a866114e1
add -list-plugins option; about sections to plugins
2012-12-24 15:39:42 +04:00
Andrew Dolgov
41b82aa4b9
add HOOK_UPDATE_TASK
2012-12-24 14:27:15 +04:00