squirrelmail/plugins/demo/setup.php
2025-01-03 11:47:03 -08:00

124 lines
2.7 KiB
PHP

<?php
/**
* SquirrelMail Demo Plugin
* @copyright 2006-2025 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id$
* @package plugins
* @subpackage demo
*/
/**
* Register this plugin with SquirrelMail
*
* @return void
*
*/
function squirrelmail_plugin_init_demo()
{
//FIXME: put *ALL* SM hooks in here... which includes template_construct hooks for any templates that have plugin output sections in them... and put them all in the right order
//FIXME: many hooks have examples in the original demo plugin in trunk/plugins/demo
global $squirrelmail_plugin_hooks;
//FIXME: this hook not yet implemented below
$squirrelmail_plugin_hooks['login_cookie']['demo']
= 'demo_login_cookie';
//FIXME: not all of the above hooks are yet implemented below
$squirrelmail_plugin_hooks['login_bottom']['demo']
= 'demo_login_bottom';
//FIXME: this template may have more plugin output sections that are not yet implemented below
$squirrelmail_plugin_hooks['template_construct_page_header.tpl']['demo']
= 'demo_page_header_template';
$squirrelmail_plugin_hooks['optpage_register_block']['demo']
= 'demo_option_link';
$squirrelmail_plugin_hooks['configtest']['demo']
= 'demo_check_configuration';
}
/**
* Returns info about this plugin
*
* @return array An array of plugin information.
*
*/
function demo_info()
{
return array(
'english_name' => 'Demo',
'version' => 'CORE',
'summary' => 'This plugin provides test/sample code for many of the hook points in the SquirrelMail core.',
'details' => 'This plugin provides test/sample code for many of the hook points in the SquirrelMail core.',
'requires_configuration' => 0,
'requires_source_patch' => 0,
);
}
/**
* Returns version info about this plugin
*
*/
function demo_version()
{
$info = demo_info();
return $info['version'];
}
/**
* Add link to menu at top of content pane
*
* @return void
*
*/
function demo_page_header_template()
{
include_once(SM_PATH . 'plugins/demo/functions.php');
return demo_page_header_template_do();
}
/**
* Inserts an option block in the main SM options page
*
* @return void
*
*/
function demo_option_link()
{
include_once(SM_PATH . 'plugins/demo/functions.php');
demo_option_link_do();
}
/**
* Validate that this plugin is configured correctly
*
* @return boolean Whether or not there was a
* configuration error for this plugin.
*
*/
function demo_check_configuration()
{
include_once(SM_PATH . 'plugins/demo/functions.php');
return demo_check_configuration_do();
}