X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=plugins%2Fdemo_plugin%2Fdemo_plugin.php;h=dd73d6a2129acd2be76a612a8b3c379f7e5bcd3f;hb=1a8ac737e52cb25a5c346232ee398f5908cee7d7;hp=f3a63b6aeb26a9a003271f981e16ac32761623d6;hpb=50142efd1b4b826f60b1e5673dba5ccbe26e0108;p=github%2Fshaarli%2FShaarli.git diff --git a/plugins/demo_plugin/demo_plugin.php b/plugins/demo_plugin/demo_plugin.php index f3a63b6a..dd73d6a2 100644 --- a/plugins/demo_plugin/demo_plugin.php +++ b/plugins/demo_plugin/demo_plugin.php @@ -2,8 +2,8 @@ /** * Demo Plugin. * - * This plugin try to cover Shaarli's plugin API entirely. - * Can be used by plugin developper to make their own. + * This plugin tries to completely cover Shaarli's plugin API. + * Can be used by plugin developers to make their own plugin. */ /* @@ -15,6 +15,8 @@ */ use Shaarli\Config\ConfigManager; +use Shaarli\Plugin\PluginManager; +use Shaarli\Render\TemplatePage; /** * In the footer hook, there is a working example of a translation extension for Shaarli. @@ -59,7 +61,7 @@ function demo_plugin_init($conf) /** * Hook render_header. - * Executed on every page redering. + * Executed on every page render. * * Template placeholders: * - buttons_toolbar @@ -72,8 +74,7 @@ function demo_plugin_init($conf) function hook_demo_plugin_render_header($data) { // Only execute when linklist is rendered. - if ($data['_PAGE_'] == Router::$PAGE_LINKLIST) { - + if ($data['_PAGE_'] == TemplatePage::LINKLIST) { // If loggedin if ($data['_LOGGEDIN_'] === true) { /* @@ -109,10 +110,10 @@ function hook_demo_plugin_render_header($data) * ], * ] * This example renders as: - *
- * - * - *
+ *
+ * + * + *
*/ $form = array( 'attr' => array( @@ -144,7 +145,7 @@ function hook_demo_plugin_render_header($data) /** * Hook render_includes. - * Executed on every page redering. + * Executed on every page render. * * Template placeholders: * - css_files @@ -168,7 +169,7 @@ function hook_demo_plugin_render_includes($data) /** * Hook render_footer. - * Executed on every page redering. + * Executed on every page render. * * Template placeholders: * - text @@ -185,7 +186,7 @@ function hook_demo_plugin_render_includes($data) */ function hook_demo_plugin_render_footer($data) { - // footer text + // Footer text $data['text'][] = '
'. demo_plugin_t('Shaarli is now enhanced by the awesome demo_plugin.'); // Free elements at the end of the page. @@ -276,7 +277,7 @@ function hook_demo_plugin_render_editlink($data) // Load HTML into a string $html = file_get_contents(PluginManager::$PLUGINS_PATH .'/demo_plugin/field.html'); - // replace value in HTML if it exists in $data + // Replace value in HTML if it exists in $data if (!empty($data['link']['stuff'])) { $html = sprintf($html, $data['link']['stuff']); } else { @@ -323,9 +324,7 @@ function hook_demo_plugin_render_tools($data) */ function hook_demo_plugin_render_picwall($data) { - // plugin_start_zone $data['plugin_start_zone'][] = '
BEFORE
'; - // plugin_end_zone $data['plugin_end_zone'][] = '
AFTER
'; return $data; @@ -347,9 +346,7 @@ function hook_demo_plugin_render_picwall($data) */ function hook_demo_plugin_render_tagcloud($data) { - // plugin_start_zone $data['plugin_start_zone'][] = '
BEFORE
'; - // plugin_end_zone $data['plugin_end_zone'][] = '
AFTER
'; return $data; @@ -371,9 +368,7 @@ function hook_demo_plugin_render_tagcloud($data) */ function hook_demo_plugin_render_daily($data) { - // plugin_start_zone $data['plugin_start_zone'][] = '
BEFORE
'; - // plugin_end_zone $data['plugin_end_zone'][] = '
AFTER
'; @@ -446,16 +441,33 @@ function hook_demo_plugin_delete_link($data) function hook_demo_plugin_render_feed($data) { foreach ($data['links'] as &$link) { - if ($data['_PAGE_'] == Router::$PAGE_FEED_ATOM) { + if ($data['_PAGE_'] == TemplatePage::FEED_ATOM) { $link['description'] .= ' - ATOM Feed' ; - } - elseif ($data['_PAGE_'] == Router::$PAGE_FEED_RSS) { + } elseif ($data['_PAGE_'] == TemplatePage::FEED_RSS) { $link['description'] .= ' - RSS Feed'; } } return $data; } +/** + * When plugin parameters are saved. + * + * @param array $data $_POST array + * + * @return array Updated $_POST array + */ +function hook_demo_plugin_save_plugin_parameters($data) +{ + // Here we edit the provided value. + // This hook can also be used to generate config files, etc. + if (! empty($data['DEMO_PLUGIN_PARAMETER']) && ! endsWith($data['DEMO_PLUGIN_PARAMETER'], '_SUFFIX')) { + $data['DEMO_PLUGIN_PARAMETER'] .= '_SUFFIX'; + } + + return $data; +} + /** * This function is never called, but contains translation calls for GNU gettext extraction. */ @@ -463,4 +475,6 @@ function demo_dummy_translation() { // meta t('A demo plugin covering all use cases for template designers and plugin developers.'); + t('This is a parameter dedicated to the demo plugin. It\'ll be suffixed.'); + t('Other demo parameter'); }