fix php5 mistakes and remove disabled code. disabled code might be used to make sure
[squirrelmail.git] / plugins / squirrelspell / modules / lang_change.mod
index 909b0441b9878a96d13e15db5c23ae6972e065bc..61d0b4936e7455dbd0f0328441590a7c4a9913e8 100644 (file)
@@ -4,95 +4,70 @@
  * ----------------
  * Squirrelspell module
  *
- * Copyright (c) 1999-2003 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 changes the international dictionaries selection
- * for the user. Called after LANG_SETUP module.                
+ * for the user. Called after LANG_SETUP module.
  *
- * $Id$
- *
- * @author Konstantin Riabitsev <icon@duke.edu> ($Author$)
- * @version $Date$
+ * @author Konstantin Riabitsev <icon@duke.edu>
+ * @version $Id$
+ * @package plugins
+ * @subpackage squirrelspell
  */
 
 global $SQSPELL_APP_DEFAULT;
 
-$use_langs = $_POST['use_langs'];
-$lang_default = $_POST['lang_default'];
+if (! sqgetGlobalVar('use_langs',$use_langs,SQ_POST)) {
+    $use_langs = array($SQSPELL_APP_DEFAULT);
+}
 
-$words = sqspell_getWords();
-if (!$words) {
-  $words = sqspell_makeDummy();
+if (! sqgetGlobalVar('lang_default',$lang_default,SQ_POST)) {
+    $lang_default = $SQSPELL_APP_DEFAULT;
 }
-$langs = sqspell_getSettings($words);
-if (sizeof($use_langs)){
-  /**
-   * See if the user clicked any options on the previous page.
-   */
-  if (sizeof($use_langs)>1){
-    /**
-     * See if s/he wants more than one dictionary.
-     */
-    if ($use_langs[0]!=$lang_default){
-      /**
-       * See if we need to juggle the order of the dictionaries
-       * to make the default dictionary first in line.
-       */
-      if (in_array($lang_default, $use_langs)){
-       /**
-        * See if the user was dumb and chose a default dictionary
-        * to be something other than the ones he selected.
-        */
-       $hold = array_shift($use_langs);
-       $lang_string = join(", ", $use_langs);
-       $lang_string = str_replace("$lang_default", "$hold", $lang_string);
-       $lang_string = $lang_default . ", " . $lang_string;
-      } else {
-       /** 
-        * Yes, he is dumb.
-        */
-       $lang_string = join(', ', $use_langs);
-      }
-    } else {
-      /**
-       * No need to juggle the order -- preferred is already first.
-       */
-      $lang_string = join(', ', $use_langs);
+
+/**
+ * Rebuild languages. Default language is first one.
+ */
+$new_langs = array($lang_default);
+foreach ($use_langs as $lang) {
+    if (! in_array($lang,$new_langs)) {
+        $new_langs[]=$lang;
     }
-  } else {
-    /**
-     * Just one dictionary, please.
-     */
-    $lang_string = $use_langs[0];
-  }
-  $lang_array = explode( ',', $lang_string );
+}
+
+if (sizeof($new_langs)>1) {
   $dsp_string = '';
-  foreach( $lang_array as $a) {
+  foreach( $new_langs as $a) {
     $dsp_string .= _(trim($a)) . ', ';
   }
+  // remove last comma and space
   $dsp_string = substr( $dsp_string, 0, -2 );
+
+  /**
+   * i18n: first %s is comma separated list of languages, second %s - default language.
+   * Language names are translated, if they are present in squirrelmail.po file.
+   * make sure that you don't use html codes in language name translations
+   */
   $msg = '<p>'
-    . sprintf(_("Settings adjusted to: <strong>%s</strong> with <strong>%s</strong> as default dictionary."), $dsp_string, _($lang_default))
+    . sprintf(_("Settings adjusted to: %s with %s as default dictionary."),
+             '<strong>'.htmlspecialchars($dsp_string).'</strong>',
+             '<strong>'.htmlspecialchars(_($lang_default)).'</strong>')
     . '</p>';
 } else {
   /**
-   * No dictionaries selected. Use system default.
+   * Only one dictionary is selected.
    */
   $msg = '<p>'
-    . sprintf(_("Using <strong>%s</strong> dictionary (system default) for spellcheck." ), $SQSPELL_APP_DEFAULT)
+    . sprintf(_("Using %s dictionary for spellcheck." ), '<strong>'.htmlspecialchars(_($new_langs[0])).'</strong>')
     . '</p>';
-  $lang_string = $SQSPELL_APP_DEFAULT;
 }
-$old_lang_string = join(", ", $langs);
-$words = str_replace("# LANG: $old_lang_string", "# LANG: $lang_string", 
-                    $words);
-/**
- * Write it down where the sun don't shine.
- */
-sqspell_writeWords($words);
-sqspell_makePage(_("International Dictionaries Preferences Updated"), 
-                null, $msg);
+
+/** save settings */
+sqspell_saveSettings($new_langs);
+
+sqspell_makePage(_("International Dictionaries Preferences Updated"),
+    null, $msg);
 
 /**
  * For Emacs weenies:
@@ -101,4 +76,4 @@ sqspell_makePage(_("International Dictionaries Preferences Updated"),
  * End:
  * vim: syntax=php
  */
-?>
+?>
\ No newline at end of file