Happy New Year
[squirrelmail.git] / plugins / squirrelspell / setup.php
index 654b1107a7de2fdbfa1907fae51a5ab39cacc8e1..cef4716767b827ce8297e3b2ce247220bc3f6253 100644 (file)
@@ -1,55 +1,76 @@
 <?php
 
-   /**
-    **  setup.php -- Squirrelspell setup file
-    **
-    **  Copyright (c) 1999-2002 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$
-    **/
+/**
+ * setup.php
+ *
+ * Squirrelspell setup file, as defined by the SquirrelMail-1.2 API.
+ *
+ * @author Konstantin Riabitsev <icon at duke.edu>
+ * @copyright 1999-2018 The SquirrelMail Project Team
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License
+ * @version $Id$
+ * @package plugins
+ * @subpackage squirrelspell
+ * @todo remove sqspell_ prefix from main php scripts.
+ */
 
-    function squirrelmail_plugin_init_squirrelspell() {
-        /* Standard initialization API. */
-        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';
-    }
+/**
+ * Standard SquirrelMail plugin initialization API.
+ *
+ * @return void
+ */
+function squirrelmail_plugin_init_squirrelspell() {
+  global $squirrelmail_plugin_hooks;
+  $squirrelmail_plugin_hooks['template_construct_compose_buttons.tpl']['squirrelspell'] = 
+      'squirrelspell_setup';
+  $squirrelmail_plugin_hooks['optpage_register_block']['squirrelspell'] =
+      'squirrelspell_optpage_register_block';
+  $squirrelmail_plugin_hooks['right_main_after_header']['squirrelspell'] =
+      'squirrelspell_upgrade';
+}
 
-    function squirrelspell_optpage_register_block() {
-       // Gets added to the user's OPTIONS page.
-       global $optpage_blocks;
+/**
+ * Register option block
+ *
+ * This function formats and adds the plugin and its description to the
+ * Options screen. Code moved to internal function in order to reduce
+ * setup.php size.
+ * @return void
+ */
+function squirrelspell_optpage_register_block() {
+  include_once(SM_PATH . 'plugins/squirrelspell/sqspell_functions.php');
+  squirrelspell_optpage_block_function();
+}
 
-       if ( !soupNazi() ) {
+/**
+ * Add spell check button in compose.
+ *
+ * This function adds a "Check Spelling" link to the "Compose" row
+ * during message composition.
+ * @return void
+ */
+function squirrelspell_setup() {
+  include_once(SM_PATH . 'plugins/squirrelspell/sqspell_functions.php');
+  return squirrelspell_setup_function();
+}
 
-           /* Register Squirrelspell with the $optionpages array. */
-           $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
-            );
-        }
-    }
+/**
+ * Upgrade dictionaries
+ *
+ * Transparently upgrades user's dictionaries when message listing is loaded
+ * @since 1.5.1 (sqspell 0.5)
+ */
+function squirrelspell_upgrade() {
+  include_once(SM_PATH . 'plugins/squirrelspell/sqspell_functions.php');
+  squirrelspell_upgrade_function();
+}
 
-    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 "<script type=\"text/javascript\">\n".
-                    "<!--\n".
-                    'document.write("<input type=\"button\" value=\"' .
-                        _("Check Spelling") . '\" onclick=\"window.open(\'../plugins/squirrelspell/sqspell_interface.php\', \'sqspell\', \'status=yes,width=550,height=370,resizable=yes\')\">");'. "\n" .
-                    "//-->\n".
-                    "</script>\n";
-        }
-    }
-
-?>
+/**
+ * Display SquirrelSpell version
+ * @since 1.5.1 (sqspell 0.5)
+ * @return string plugin's version
+ */
+function squirrelspell_version() {
+  return '0.5';
+}