X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;ds=sidebyside;f=plugins%2Fsquirrelspell%2Fmodules%2Fcheck_me.mod;h=41cfd15c8855cb6b28304d6d95e101b8e5825b48;hb=d8aa9efe1122e427f1db3736df0b6e9a4ddca831;hp=f47dfd9e89dfc7c01e0610bb360e4e99429c7f83;hpb=fb0abd31769201a87860ec54c123e3a729a38518;p=squirrelmail.git diff --git a/plugins/squirrelspell/modules/check_me.mod b/plugins/squirrelspell/modules/check_me.mod index f47dfd9e..41cfd15c 100644 --- a/plugins/squirrelspell/modules/check_me.mod +++ b/plugins/squirrelspell/modules/check_me.mod @@ -1,288 +1,442 @@ $ln". - ''; +/** + * check_me.mod + * ------------- + * Squirrelspell module. + * + * Copyright (c) 1999-2002 The SquirrelMail development team + * Licensed under the GNU GPL. For full terms see the file COPYING. + * + * This module is the main workhorse of SquirrelSpell. It submits + * the message to the spell-checker, parses the output, and loads + * the interface window. + * + * $Id$ + * + * @author Konstantin Riabitsev ($Author$) + * @version $Date$ + */ +/** + * This function makes a javascript-powered link. Not sure why + * Philippe decided to move it outside the main code, but hey. ;) + * I bet for the i18n reasons. + * + * @param $jscode Javascript code to include in the link. + * @param $title A little pop-up title to provide for the links. + * @param $link The content of the link. + * @return void, since this just draws the content. + */ +function SpellLink($jscode, $title, $link) { + echo "$link" + . ''; } -// Declaring globals for E_ALL. -global $sqspell_text, $SQSPELL_APP, $sqspell_use_app, $attachment_dir, - $username, $SQSPELL_EREG, $color; +/** + * Declaring globals for users with E_ALL set. + */ +global $SQSPELL_APP, $attachment_dir, $SQSPELL_EREG, $color; - // Now we explode the lines for three reasons: - // 1) So we can ignore lines starting with ">" (reply's) - // 2) So we can stop processing when we get to "--" on a single line, - // which means that the signature is starting - // 3) So we can add an extra space at the beginning of each line. This way - // ispell/aspell don't treat these as command characters. - $sqspell_raw_lines = explode("\n", $sqspell_text); - for ($i=0; $i" (reply's) + * 2) So we can stop processing when we get to "--" on a single line, + * which means that the signature is starting + * 3) So we can add an extra space at the beginning of each line. This way + * ispell/aspell don't treat these as command characters. + */ +$sqspell_raw_lines = explode("\n", $sqspell_text); +for ($i=0; $i&1", $sqspell_output, $sqspell_exitcode); +/** + * Remove the temp file. + */ +unlink($floc); - // Load the user dictionary. - $words=sqspell_getLang(sqspell_getWords(), $sqspell_use_app); - // define some variables. - $current_line=0; - $missed_words=Array(); - $misses = Array(); - $locations = Array(); - $errors=0; - // Now we process the output of sqspell_command (ispell or aspell - // in ispell compatibility mode, whichever). - for ($i=0; $i" + . nl2br(join("\n", $sqspell_output)) . "" + . "
" + . "
"; + sqspell_makeWindow(null, _("SquirrelSpell is misconfigured."), null, $msg); + exit; +} + +/** + * Load the user dictionary. + */ +$words=sqspell_getLang(sqspell_getWords(), $sqspell_use_app); +/** + * Define some variables to be used during the processing. + */ +$current_line=0; +$missed_words=Array(); +$misses = Array(); +$locations = Array(); +$errors=0; +/** + * Now we process the output of sqspell_command (ispell or aspell in + * ispell compatibility mode, whichever). I'm going to be scarce on + * comments here, since you can just look at the ispell/aspell output + * and figure out what's going on. ;) The best way to describe this is + * "Dark Magic". + */ +for ($i=0; $i\n". - "\n". - '' . _("SquirrelSpell Results") . ''; - if ($theme_css != '') { - echo "\n"; - } - // Load the spelling errors into JavaScript arrays - echo "\n". - "\n". - "\n"; + /** + * Locations are where those misspellings are located, line:symbol + */ + echo "var locations= new Array();\n"; + $i=0; + while (list($word, $value) = each($locations)){ + echo "locations[$i] = \"$value\";\n"; + $i++; + } - echo "\n". - ''. - " - -
"; - printf( _("Found %s errors"), $errors ); -?>

-
- - - - - - - - - - - - - - - - - - - - - - - + + +
-"; - echo $sptag . _("Line with an error:") . ''; -?> -
- -
-'; -?> - - - -'; -?> - - -
-'; -?> - - - -'; -?> - - -

- -"; + /** + * Add some strings so they can be i18n'd. + */ + echo "var ui_completed = \"" . _("Spellcheck completed. Commit changes?") + . "\";\n"; + echo "var ui_nochange = \"" . _("No changes were made.") . "\";\n"; + echo "var ui_wait = \"" + . _("Now saving your personal dictionary... Please wait.") + . "\";\n"; + - SpellLink( 'sqspellChange()', - _("Change this word"), - _("Change") ); - SpellLink( 'sqspellChangeAll()', - _("Change ALL occurances of this word"), - _("Change All") ); - SpellLink( 'sqspellIgnore()', - _("Ignore this word"), - _("Ignore") ); - SpellLink( 'sqspellIgnoreAll()', - _("Ignore ALL occurances this word"), - _("Ignore All") ); - SpellLink( 'sqspellRemember()', - _("Add this word to your personal dictionary"), - _("Add to Dic") ); -?> + /** + * Did I mention that I hate dots on the end of contcatenated lines? + * Dots at the beginning make so much more sense! + */ + echo "//-->\n" + . "\n" + . "\n" + . "\n"; + + echo "\n"; + ?> +
+ + + + + + + + - - - -" . - ''. - ' '; -?> - - -
+ + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ "; + echo $sptag . _("Line with an error:") . ''; + ?> +
+ +
+ '; + ?> + + + + '; + ?> + + +
+ '; + ?> + + + + '; + ?> + + +

+ + + + +
+

+ ' + . ' '; + ?> +
-

- -
- - +
"; - sqspell_makeWindow(null, _("No errors found"), null, $msg); - } +} else { + /** + * AREN'T YOU SUCH A KNOW-IT-ALL! + */ + $msg="
" + . "
"; + sqspell_makeWindow(null, _("No errors found"), null, $msg); +} + +/** + * For Emacs weenies: + * Local variables: + * mode: php + * End: + */ ?>