phpdoc: added block tags, @version is set to Id:, removed Author: and Date:
[squirrelmail.git] / plugins / squirrelspell / modules / lang_change.mod
1 <?php
2 /**
3  * lang_change.mod
4  * ----------------
5  * Squirrelspell module
6  *
7  * Copyright (c) 1999-2004 The SquirrelMail development team
8  * Licensed under the GNU GPL. For full terms see the file COPYING.
9  *
10  * This module changes the international dictionaries selection
11  * for the user. Called after LANG_SETUP module.                
12  *
13  * @author Konstantin Riabitsev <icon@duke.edu>
14  * @version $Id$
15  * @package plugins
16  * @subpackage squirrelspell
17  */
18
19 global $SQSPELL_APP_DEFAULT;
20
21 $use_langs = $_POST['use_langs'];
22 $lang_default = $_POST['lang_default'];
23
24 $words = sqspell_getWords();
25 if (!$words) {
26   $words = sqspell_makeDummy();
27 }
28 $langs = sqspell_getSettings($words);
29 if (sizeof($use_langs)){
30   /**
31    * See if the user clicked any options on the previous page.
32    */
33   if (sizeof($use_langs)>1){
34     /**
35      * See if s/he wants more than one dictionary.
36      */
37     if ($use_langs[0]!=$lang_default){
38       /**
39        * See if we need to juggle the order of the dictionaries
40        * to make the default dictionary first in line.
41        */
42       if (in_array($lang_default, $use_langs)){
43           /**
44            * See if the user was dumb and chose a default dictionary
45            * to be something other than the ones he selected.
46            */
47           $hold = array_shift($use_langs);
48           $lang_string = join(", ", $use_langs);
49           $lang_string = str_replace("$lang_default", "$hold", $lang_string);
50           $lang_string = $lang_default . ", " . $lang_string;
51       } else {
52           /** 
53            * Yes, he is dumb.
54            */
55           $lang_string = join(', ', $use_langs);
56       }
57     } else {
58       /**
59        * No need to juggle the order -- preferred is already first.
60        */
61       $lang_string = join(', ', $use_langs);
62     }
63   } else {
64     /**
65      * Just one dictionary, please.
66      */
67     $lang_string = $use_langs[0];
68   }
69   $lang_array = explode( ',', $lang_string );
70   $dsp_string = '';
71   foreach( $lang_array as $a) {
72     $dsp_string .= _(trim($a)) . ', ';
73   }
74   $dsp_string = substr( $dsp_string, 0, -2 );
75   $msg = '<p>'
76     . sprintf(_("Settings adjusted to: %s with %s as default dictionary."), '<strong>'.$dsp_string.'</strong>', '<strong>'._($lang_default).'</strong>')
77     . '</p>';
78 } else {
79   /**
80    * No dictionaries selected. Use system default.
81    */
82   $msg = '<p>'
83     . sprintf(_("Using %s dictionary (system default) for spellcheck." ), '<strong>'.$SQSPELL_APP_DEFAULT.'</strong>')
84     . '</p>';
85   $lang_string = $SQSPELL_APP_DEFAULT;
86 }
87 $old_lang_string = join(", ", $langs);
88 $words = str_replace("# LANG: $old_lang_string", "# LANG: $lang_string", 
89      $words);
90 /**
91  * Write it down where the sun don't shine.
92  */
93 sqspell_writeWords($words);
94 sqspell_makePage(_("International Dictionaries Preferences Updated"), 
95     null, $msg);
96
97 /**
98  * For Emacs weenies:
99  * Local variables:
100  * mode: php
101  * End:
102  * vim: syntax=php
103  */
104 ?>