From: tokul Date: Fri, 15 Jul 2005 12:44:44 +0000 (+0000) Subject: reducing size of setup.php X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=e5af0839643a1546b97c884212afa73907042465;p=squirrelmail.git reducing size of setup.php removing unneeded javascript support detection in registration of options block git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@9782 7612ce4b-ef26-0410-bec9-ea0150e637f0 --- diff --git a/plugins/squirrelspell/setup.php b/plugins/squirrelspell/setup.php index 898fa068..cceed86a 100644 --- a/plugins/squirrelspell/setup.php +++ b/plugins/squirrelspell/setup.php @@ -11,6 +11,7 @@ * @version $Id$ * @package plugins * @subpackage squirrelspell + * @todo remove sqspell_ prefix from main php scripts. */ /** @ignore */ @@ -34,101 +35,48 @@ function squirrelmail_plugin_init_squirrelspell() { } /** - * This function formats and adds the plugin and its description to the - * Options screen. + * 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() { - global $optpage_blocks; - /** - * Check if this browser is capable of using the plugin - */ - if (checkForJavascript()) { - /** - * The browser checks out. - * Register Squirrelspell with the $optpage_blocks 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); - } + include_once(SM_PATH . 'plugins/squirrelspell/sqspell_functions.php'); + squirrelspell_optpage_block_function(); } /** + * 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() { - /** - * Check if this browser is capable of displaying SquirrelSpell - * correctly. - */ - if (checkForJavascript()) { - /** - * 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"; - } + include_once(SM_PATH . 'plugins/squirrelspell/sqspell_functions.php'); + squirrelspell_setup_function(); } /** + * Upgrade dictionaries + * * Transparently upgrades user's dictionaries when message listing is loaded * @since 1.5.1 (sqspell 0.5) */ function squirrelspell_upgrade() { - // globalize configuration vars before loading config. - // Vars are not available to scripts if not globalized before loading config. - // FIXME: move configuration loading to loading_prefs hook. - global $SQSPELL_APP, $SQSPELL_APP_DEFAULT, $SQSPELL_WORDS_FILE, $SQSPELL_CRYPTO; - include_once(SM_PATH . 'plugins/squirrelspell/sqspell_config.php'); include_once(SM_PATH . 'plugins/squirrelspell/sqspell_functions.php'); - - if (! sqspell_check_version(0,5)) { - $langs=sqspell_getSettings_old(null); - $words=sqspell_getWords_old(); - sqspell_saveSettings($langs); - foreach ($langs as $lang) { - $lang_words=sqspell_getLang_old($words,$lang); - $aLang_words=explode("\n",$lang_words); - $new_words=array(); - foreach($aLang_words as $word) { - if (! preg_match("/^#/",$word) && trim($word)!='') { - $new_words[]=$word; - } - } - sqspell_writeWords($new_words,$lang); - } - // bump up version number - setPref($data_dir,$username,'sqspell_version','0.5'); - } + squirrelspell_upgrade_function(); } /** - * Function that displays internal squirrelspell version + * Display SquirrelSpell version * @since 1.5.1 (sqspell 0.5) * @return string plugin's version - * @todo remove 'cvs' part from version when plugin's code is - * stable enough */ function squirrelspell_version() { - return '0.5cvs'; + return '0.5'; } ?> \ No newline at end of file diff --git a/plugins/squirrelspell/sqspell_config.php b/plugins/squirrelspell/sqspell_config.php index 48970346..d275f32e 100644 --- a/plugins/squirrelspell/sqspell_config.php +++ b/plugins/squirrelspell/sqspell_config.php @@ -89,7 +89,7 @@ $SQSPELL_WORDS_FILE = getHashedFile($username, $data_dir, "$username.words"); /** - * Function used cheching words in user's dictionary + * Function used for checking words in user's dictionary * @global string $SQSPELL_EREG * @deprecated It is not used since 1.5.1 (sqspell 0.5) */ diff --git a/plugins/squirrelspell/sqspell_functions.php b/plugins/squirrelspell/sqspell_functions.php index ad871e31..c14b9833 100644 --- a/plugins/squirrelspell/sqspell_functions.php +++ b/plugins/squirrelspell/sqspell_functions.php @@ -13,6 +13,101 @@ * @subpackage squirrelspell */ +/** @ignore */ +if (! defined('SM_PATH')) define('SM_PATH','../../'); + +/** globalize configuration vars **/ +global $SQSPELL_APP, $SQSPELL_APP_DEFAULT, $SQSPELL_WORDS_FILE, $SQSPELL_CRYPTO; + +/** + * load plugin configuration + * @todo allow storing configuration file in config/ directory + */ +include_once(SM_PATH . 'plugins/squirrelspell/sqspell_config.php'); + +/** Hooked functions **/ + +/** + * Register option page block (internal function) + * @since 1.5.1 (sqspell 0.5) + * @return void + */ +function squirrelspell_optpage_block_function() { + global $optpage_blocks; + + /** + * Dependency on JavaScript is checked by SquirrelMail scripts + * Register Squirrelspell with the $optpage_blocks 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); +} + +/** + * This function adds a "Check Spelling" link to the "Compose" row + * during message composition (internal function). + * @since 1.5.1 (sqspell 0.5) + * @return void + */ +function squirrelspell_setup_function() { + /** + * Check if this browser is capable of displaying SquirrelSpell + * correctly. + */ + if (checkForJavascript()) { + /** + * 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"; + } +} + +/** + * Upgrade dictionaries (internal function) + * + * Transparently upgrades user's dictionaries when message listing is loaded + * @since 1.5.1 (sqspell 0.5) + */ +function squirrelspell_upgrade_function() { + global $data_dir, $username; + + if (! sqspell_check_version(0,5)) { + $langs=sqspell_getSettings_old(null); + $words=sqspell_getWords_old(); + sqspell_saveSettings($langs); + foreach ($langs as $lang) { + $lang_words=sqspell_getLang_old($words,$lang); + $aLang_words=explode("\n",$lang_words); + $new_words=array(); + foreach($aLang_words as $word) { + if (! preg_match("/^#/",$word) && trim($word)!='') { + $new_words[]=$word; + } + } + sqspell_writeWords($new_words,$lang); + } + // bump up version number + setPref($data_dir,$username,'sqspell_version','0.5'); + } +} + +/** Internal functions **/ + /** * This function is the GUI wrapper for the options page. SquirrelSpell * uses it for creating all Options pages. diff --git a/plugins/squirrelspell/sqspell_interface.php b/plugins/squirrelspell/sqspell_interface.php index 6e3b71be..a899ad03 100644 --- a/plugins/squirrelspell/sqspell_interface.php +++ b/plugins/squirrelspell/sqspell_interface.php @@ -33,7 +33,6 @@ define('SM_PATH','../../'); /* SquirrelMail required files. */ require_once(SM_PATH . 'include/validate.php'); include_once(SM_PATH . 'functions/display_messages.php'); -include_once(SM_PATH . $SQSPELL_DIR . 'sqspell_config.php'); include_once(SM_PATH . $SQSPELL_DIR . 'sqspell_functions.php'); /** diff --git a/plugins/squirrelspell/sqspell_options.php b/plugins/squirrelspell/sqspell_options.php index 5e99de8f..9003e57b 100644 --- a/plugins/squirrelspell/sqspell_options.php +++ b/plugins/squirrelspell/sqspell_options.php @@ -16,6 +16,7 @@ /** * Set a couple of constants and defaults. Don't change these, * the configurable stuff is in sqspell_config.php + * @todo do we really need $SQSPELL_DIR var? */ $SQSPELL_DIR='plugins/squirrelspell/'; $SQSPELL_CRYPTO=FALSE; @@ -29,7 +30,6 @@ define('SM_PATH','../../'); /* SquirrelMail required files. */ require_once(SM_PATH . 'include/validate.php'); include_once(SM_PATH . 'functions/display_messages.php'); -include_once(SM_PATH . $SQSPELL_DIR . 'sqspell_config.php'); include_once(SM_PATH . $SQSPELL_DIR . 'sqspell_functions.php'); /**