replace reserved word 'action' with 'encaction'
[squirrelmail.git] / plugins / squirrelspell / modules / crypto.mod
index f06ab0491265422c889a5c23b9972bbc4c6d8977..cbee73a04732362482e02617cdee141503be1d3d 100644 (file)
@@ -1,19 +1,19 @@
 <?php
+
 /**
- * crypto.mod.php 
- * --------------- 
- * Squirrelspell module
+ * crypto.mod
  *
- * Copyright (c) 1999-2003 The SquirrelMail development team
- * Licensed under the GNU GPL. For full terms see the file COPYING.
+ * Squirrelspell module
  *
  * This module handles the encryption/decryption of the user dictionary
  * if the user so chooses from the options page.
  *
- * $Id$
- *
- * @author Konstantin Riabitsev <icon@duke.edu> ($Author$)
- * @version $Date$
+ * @author Konstantin Riabitsev <icon at duke.edu>
+ * @copyright &copy; 1999-2006 The SquirrelMail Project Team
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License
+ * @version $Id$
+ * @package plugins
+ * @subpackage squirrelspell
  */
 
 /**
  */
 global $SQSPELL_CRYPTO;
 
-switch ($_POST['action']){
-  case 'encrypt':
-    /**
-     * Let's encrypt the file and save it in an encrypted format.
-     */
-    $words=sqspell_getWords();
-    /** 
-     * Flip the flag so the sqspell_writeWords function knows to encrypt
-     * the message before writing it to the disk.
-     */
-    $SQSPELL_CRYPTO=true;
-    /**
-     * Call the function that does the actual encryption_decryption.
-     */
-    sqspell_writeWords($words);
-    $msg='<p>'
-       .  _("Your personal dictionary has been <strong>encrypted</strong> and is now stored in an <strong>encrypted format</strong>.")
-       . '</p>';
-  break;
-  case 'decrypt':
-    /**
-     * Let's decrypt the file and save it as plain text.
-     */
-    $words=sqspell_getWords();
-    /** 
-     * Flip the flag and tell the sqspell_writeWords() function that we
-     * want to save it plaintext.
-     */
-    $SQSPELL_CRYPTO=false;
-    sqspell_writeWords($words);
-    $msg='<p>'
-       . _("Your personal dictionary has been <strong>decrypted</strong> and is now stored as <strong>clear text</strong>.") 
-       . '</p>';
-  break;
-  
-  case "":
-    /**
-     * Wait, this shouldn't happen! :)
-     */
-    $msg = "<p>No action requested.</p>";
-  break;
+$langs=sqspell_getSettings();
+
+if (! sqgetGlobalVar('encaction', $crypt_action, SQ_POST)) {
+    $crypt_action = 'noaction';
+}
+
+switch ($crypt_action){
+    case 'encrypt':
+        $SQSPELL_CRYPTO_ORIG=$SQSPELL_CRYPTO;
+
+        foreach ($langs as $lang) {
+            $SQSPELL_CRYPTO = $SQSPELL_CRYPTO_ORIG;
+            /**
+             * Let's encrypt the file and save it in an encrypted format.
+             */
+            $words=sqspell_getLang($lang);
+            /**
+             * Flip the flag so the sqspell_writeWords function knows to encrypt
+             * the message before writing it to the disk.
+             */
+            $SQSPELL_CRYPTO=true;
+            /**
+             * Call the function that does the actual encryption_decryption.
+             */
+            sqspell_writeWords($words,$lang);
+        }
+        $msg='<p>'
+            . _("Your personal dictionary has been encrypted and is now stored in an encrypted format.")
+            . '</p>';
+    break;
+    case 'decrypt':
+        $SQSPELL_CRYPTO_ORIG=$SQSPELL_CRYPTO;
+
+        foreach ($langs as $lang) {
+            $SQSPELL_CRYPTO = $SQSPELL_CRYPTO_ORIG;
+            /**
+             * Let's encrypt the file and save it in an encrypted format.
+             */
+            $words=sqspell_getLang($lang);
+            /**
+             * Flip the flag so the sqspell_writeWords function knows to decrypt
+             * the message before writing it to the disk.
+             */
+            $SQSPELL_CRYPTO=false;
+            /**
+             * Call the function that does the actual encryption_decryption.
+             */
+            sqspell_writeWords($words,$lang);
+        }
+        $msg='<p>'
+            . _("Your personal dictionary has been decrypted and is now stored as plain text.")
+            . '</p>';
+    break;
+    default:
+        /**
+         * Wait, this shouldn't happen! :)
+         */
+        $msg = '<p>'._("No action requested.").'</p>';
+    break;
 }
 sqspell_makePage( _("Personal Dictionary Crypto Settings"), null, $msg);
 
@@ -72,5 +90,3 @@ sqspell_makePage( _("Personal Dictionary Crypto Settings"), null, $msg);
  * End:
  * vim: syntax=php
  */
-
-?>