X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=plugins%2Fsquirrelspell%2Fsetup.php;h=be77225218d27da26aae29536ddc8cd90c98ef28;hp=37ca6def51d33587686c0a0c90fcd22433a44c53;hb=ea5f4b8eaf805c4cc4e9533e87d057300a7fe666;hpb=2a15152a4f24af0a189273caef1048a0764fb92b diff --git a/plugins/squirrelspell/setup.php b/plugins/squirrelspell/setup.php index 37ca6def..be772252 100644 --- a/plugins/squirrelspell/setup.php +++ b/plugins/squirrelspell/setup.php @@ -1,70 +1,87 @@ ($Author$) + * @version $Date$ + * @package plugins + * @subpackage squirrelspell + */ - /** - ** setup.php -- Squirrelspell setup file - ** - ** Copyright (c) 1999-2001 The SquirrelMail development team - ** Licensed under the GNU GPL. For full terms see the file COPYING. - ** - ** This is a standard Squirrelmail-1.2 API for plugins. - ** - ** $Id$ - **/ +/** + * Standard squirrelmail plugin initialization API. + * + * @return void + */ +function squirrelmail_plugin_init_squirrelspell() { + global $squirrelmail_plugin_hooks; + $squirrelmail_plugin_hooks['compose_button_row']['squirrelspell'] = + 'squirrelspell_setup'; + $squirrelmail_plugin_hooks['optpage_register_block']['squirrelspell'] = + 'squirrelspell_optpage_register_block'; + $squirrelmail_plugin_hooks['options_link_and_description']['squirrelspell'] = + 'squirrelspell_options'; +} +/** + * This function formats and adds the plugin and its description to the + * Options screen. + * + * @return void + */ +function squirrelspell_optpage_register_block() { + global $optpage_blocks; + /** + * soupNazi checks if this browser is capable of using the plugin. + */ + if (!soupNazi()) { /** - * This function checks whether the user's USER_AGENT is known to - * be broken. If so, returns true and the plugin is invisible to the - * offending browser. + * The browser checks out. + * Register Squirrelspell with the $optionpages array. */ - function soupNazi(){ - - global $HTTP_USER_AGENT, $SQSPELL_SOUP_NAZI; - - require_once('../plugins/squirrelspell/sqspell_config.php'); - - $soup_menu = explode( ',', $SQSPELL_SOUP_NAZI ); - return( in_array( trim( $HTTP_USER_AGENT ), $soup_menu ) ); - } - - function squirrelmail_plugin_init_squirrelspell() { - /* Standard initialization API. */ - global $squirrelmail_plugin_hooks; - - $squirrelmail_plugin_hooks['compose_button_row']['squirrelspell'] = 'squirrelspell_setup'; - $squirrelmail_plugin_hooks['options_register']['squirrelspell'] = 'squirrelspell_options'; - $squirrelmail_plugin_hooks['options_link_and_description']['squirrelspell'] = 'squirrelspell_options'; - } - - function squirrelspell_options() { - // Gets added to the user's OPTIONS page. - global $optionpages; - - if ( !soupNazi() ) { - - /* Register Squirrelspell with the $optionpages array. */ - $optionpages[] = array( - 'name' => _("SpellChecker Options"), - 'url' => '../plugins/squirrelspell/sqspell_options.php', - 'desc' => _("Here you may set up how your personal dictionary is stored, edit it, or choose which languages should be available to you when spell-checking."), - 'js' => TRUE - ); - } - } - - function squirrelspell_setup() { - /* Gets added to the COMPOSE buttons row. */ - if ( !soupNazi() ) { - /* - ** using document.write to hide this functionality from people - ** with JavaScript turned off. - */ - echo "\n"; - } - } + $optpage_blocks[] = + array( + 'name' => _("SpellChecker Options"), + 'url' => '../plugins/squirrelspell/sqspell_options.php', + 'desc' => _("Here you may set up how your personal dictionary is stored, edit it, or choose which languages should be available to you when spell-checking."), + 'js' => TRUE); + } +} +/** + * This function adds a "Check Spelling" link to the "Compose" row + * during message composition. + * + * @return void + */ +function squirrelspell_setup() { + /** + * Check if this browser is capable of displaying SquirrelSpell + * correctly. + */ + if (!soupNazi()) { + /** + * Some people may choose to disable javascript even though their + * browser is capable of using it. So these freaks don't complain, + * use document.write() so the "Check Spelling" button is not + * displayed if js is off in the browser. + */ + echo "\n"; + } +} ?>