aboutsummaryrefslogtreecommitdiffhomepage
path: root/plugins
diff options
context:
space:
mode:
authorArthurHoaro <arthur@hoa.ro>2016-10-14 13:22:58 +0200
committerArthurHoaro <arthur@hoa.ro>2016-11-05 14:30:13 +0100
commitbaec9c402873a716497b591b9756bf5b2c46ed9b (patch)
tree33ae9c12bdcce378ca08973f553df15a50c00e8c /plugins
parentb3c039b02f9608802d0ba2cf5b5742caa3b9d430 (diff)
downloadShaarli-baec9c402873a716497b591b9756bf5b2c46ed9b.tar.gz
Shaarli-baec9c402873a716497b591b9756bf5b2c46ed9b.tar.zst
Shaarli-baec9c402873a716497b591b9756bf5b2c46ed9b.zip
New init function for plugins, supports errors reporting
All plugins can optionally add an init function named `pluginname_init()` which is called when the plugin is loaded. This function is aware of the config, and can return initialization errors, which are displayed in the header template. Note that the previous error system hack no longer work.
Diffstat (limited to 'plugins')
-rw-r--r--plugins/demo_plugin/demo_plugin.php17
-rw-r--r--plugins/readityourself/readityourself.php19
-rw-r--r--plugins/wallabag/wallabag.php19
3 files changed, 47 insertions, 8 deletions
diff --git a/plugins/demo_plugin/demo_plugin.php b/plugins/demo_plugin/demo_plugin.php
index 8f675cc4..15482fe0 100644
--- a/plugins/demo_plugin/demo_plugin.php
+++ b/plugins/demo_plugin/demo_plugin.php
@@ -15,6 +15,23 @@
15 */ 15 */
16 16
17/** 17/**
18 * Initialization function.
19 * It will be called when the plugin is loaded.
20 * This function can be used to return a list of initialization errors.
21 *
22 * @param $conf ConfigManager instance.
23 *
24 * @return array List of errors (optional).
25 */
26function demo_plugin_init($conf)
27{
28 $conf->get('toto', 'nope');
29
30 $errors[] = 'This a demo init error.';
31 return $errors;
32}
33
34/**
18 * Hook render_header. 35 * Hook render_header.
19 * Executed on every page redering. 36 * Executed on every page redering.
20 * 37 *
diff --git a/plugins/readityourself/readityourself.php b/plugins/readityourself/readityourself.php
index 4bfcf501..961c5bda 100644
--- a/plugins/readityourself/readityourself.php
+++ b/plugins/readityourself/readityourself.php
@@ -8,10 +8,21 @@
8// it seems kinda dead. 8// it seems kinda dead.
9// Not tested. 9// Not tested.
10 10
11$riyUrl = $conf->get('plugins.READITYOUSELF_URL'); 11/**
12if (empty($riyUrl)) { 12 * Init function, return an error if the server is not set.
13 $GLOBALS['plugin_errors'][] = 'Readityourself plugin error: '. 13 *
14 'Please define the "READITYOUSELF_URL" setting in the plugin administration page.'; 14 * @param $conf ConfigManager instance.
15 *
16 * @return array Eventual error.
17 */
18function readityourself_init($conf)
19{
20 $riyUrl = $conf->get('plugins.READITYOUSELF_URL');
21 if (empty($riyUrl)) {
22 $error = 'Readityourself plugin error: '.
23 'Please define the "READITYOUSELF_URL" setting in the plugin administration page.';
24 return array($error);
25 }
15} 26}
16 27
17/** 28/**
diff --git a/plugins/wallabag/wallabag.php b/plugins/wallabag/wallabag.php
index ec09c8a1..641e4cc2 100644
--- a/plugins/wallabag/wallabag.php
+++ b/plugins/wallabag/wallabag.php
@@ -6,10 +6,21 @@
6 6
7require_once 'WallabagInstance.php'; 7require_once 'WallabagInstance.php';
8 8
9$wallabagUrl = $conf->get('plugins.WALLABAG_URL'); 9/**
10if (empty($wallabagUrl)) { 10 * Init function, return an error if the server is not set.
11 $GLOBALS['plugin_errors'][] = 'Wallabag plugin error: '. 11 *
12 'Please define the "WALLABAG_URL" setting in the plugin administration page.'; 12 * @param $conf ConfigManager instance.
13 *
14 * @return array Eventual error.
15 */
16function wallabag_init($conf)
17{
18 $wallabagUrl = $conf->get('plugins.WALLABAG_URL');
19 if (empty($wallabagUrl)) {
20 $error = 'Wallabag plugin error: '.
21 'Please define the "WALLABAG_URL" setting in the plugin administration page.';
22 return array($error);
23 }
13} 24}
14 25
15/** 26/**