1
0
mirror of https://tt-rss.org/git/tt-rss.git synced 2024-06-27 12:05:06 +02:00
Commit Graph

155 Commits

Author SHA1 Message Date
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
Andrew Dolgov
4412b877d0 implement HOOK_FEED_PARSED, add example plugin (refs #424) 2012-12-24 14:13:03 +04:00
Andrew Dolgov
19b3992b78 remove magpie, fix article filter plugins 2012-12-24 13:45:34 +04:00
Andrew Dolgov
73f28fe979 add support for registering update.php commands; move rest of the self-updating stuff into updater plugin 2012-12-24 09:52:15 +04:00