fix php5 mistakes and remove disabled code. disabled code might be used to make sure
[squirrelmail.git] / plugins / squirrelspell / modules / forget_me_not.mod
index eda679ab03b0cafe3029bf47a7f16f7a08f47eb3..e787a14583839d6b6a7bd7f2391f5d769db4f59b 100644 (file)
@@ -1,73 +1,62 @@
-<?php 
+<?php
 /**
- * forget_me_not.mod 
+ * forget_me_not.mod
  * ------------------
  * Squirrelspell module
  *
- * Copyright (c) 1999-2002 The SquirrelMail development team
+ * Copyright (c) 1999-2005 The SquirrelMail Project Team
  * Licensed under the GNU GPL. For full terms see the file COPYING.
  *
  * This module saves the added words into the user dictionary. Called
- * after CHECK_ME module.                                            
+ * after CHECK_ME module.
  *
- * $Id$
- *
- * @author Konstantin Riabitsev <icon@duke.edu> ($Author$)
+ * @author Konstantin Riabitsev <icon@duke.edu>
+ * @version $Id$
+ * @package plugins
+ * @subpackage squirrelspell
  */
 
-global $words, $SQSPELL_VERSION, $SQSPELL_APP_DEFFAULT, $sqspell_use_app;
+global $SQSPELL_VERSION, $SQSPELL_APP_DEFAULT;
+
+if (! sqgetGlobalVar('words',$words,SQ_POST)) {
+    $words='';
+}
+if (! sqgetGlobalVar('sqspell_use_app',$sqspell_use_app,SQ_POST)) {
+    $sqspell_use_app = $SQSPELL_APP_DEFAYLT;
+}
+
 /**
  * Because of the nature of Javascript, there is no way to efficiently
  * pass an array. Hence, the words will arrive as a string separated by
  * "%". To get the array, we explode the "%"'s.
  * Dirty: yes. Is there a better solution? Let me know. ;)
  */
-$new_words = ereg_replace("%", "\n", $words);
+$new_words = explode("%",$words);
 /**
  * Load the user dictionary and see if there is anything in it.
  */
-$words=sqspell_getWords();
-if (!$words){
-  /**
-   * First time.
-   */
-  $words_dic="# SquirrelSpell User Dictionary $SQSPELL_VERSION\n# Last "
-     . "Revision: " . date("Y-m-d") 
-     . "\n# LANG: $SQSPELL_APP_DEFAULT\n# $SQSPELL_APP_DEFAULT\n";
-  $words_dic .= $new_words . "# End\n";
+$old_words=sqspell_getLang($sqspell_use_app);
+if (empty($old_words)){
+    $word_dic = $new_words;
 } else {
-  /**
-   * Do some fancy stuff in order to save the dictionary and not mangle the
-   * rest.
-   */
-  $langs=sqspell_getSettings($words);
-  $words_dic = "# SquirrelSpell User Dictionary $SQSPELL_VERSION\n# "
-     . "Last Revision: " . date("Y-m-d") . "\n# LANG: " . join(", ", $langs) 
-     . "\n";
-  for ($i=0; $i<sizeof($langs); $i++){
-    $lang_words=sqspell_getLang($words, $langs[$i]);
-    if ($langs[$i]==$sqspell_use_app){
-      if (!$lang_words) {
-       $lang_words="# $langs[$i]\n";
-      }
-      $lang_words .= $new_words;
+    foreach($new_words as $new_word) {
+        $old_words[]=$new_word;
     }
-    $words_dic .= $lang_words;
-  }
-  $words_dic .= "# End\n";
+    // make sure that dictionary contains only unique values
+    $word_dic = array_unique($old_words);
 }
-    
+
 /**
  * Write out the file
  */
-sqspell_writeWords($words_dic);
+sqspell_writeWords($word_dic,$sqspell_use_app);
 /**
  * display the splash screen, then close it automatically after 2 sec.
  */
 $onload = "setTimeout('self.close()', 2000)";
 $msg = '<form onsubmit="return false"><div align="center">'
    . '<input type="submit" value="  '
-   . _("Close") . '  " onclick="self.close()"></div></form>';
+   . _("Close") . '  " onclick="self.close()" /></div></form>';
 sqspell_makeWindow($onload, _("Personal Dictionary Updated"), null, $msg);
 
 /**
@@ -75,6 +64,7 @@ sqspell_makeWindow($onload, _("Personal Dictionary Updated"), null, $msg);
  * Local variables:
  * mode: php
  * End:
+ * vim: syntax=php
  */
 
-?>
+?>
\ No newline at end of file