Adding last two functions from i18n.php
authortokul <tokul@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Thu, 29 Jan 2004 19:37:29 +0000 (19:37 +0000)
committertokul <tokul@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Thu, 29 Jan 2004 19:37:29 +0000 (19:37 +0000)
iso_8859_default decoding is changed to us_ascii. Purpose - header cleanup,
if mailer adds non-encoded 8bit symbols in header. Other iso-8859-x charsets
are supported. Original function is shorter, but it is hard to count all ?.

ns_4551_1 decoding might need some adjustments.

git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@6459 7612ce4b-ef26-0410-bec9-ea0150e637f0

functions/decode/ns_4551_1.php [new file with mode: 0644]
functions/decode/us_ascii.php [new file with mode: 0644]

diff --git a/functions/decode/ns_4551_1.php b/functions/decode/ns_4551_1.php
new file mode 100644 (file)
index 0000000..1c99001
--- /dev/null
@@ -0,0 +1,36 @@
+<?php
+
+/**
+ * functions/decode/ns_4551_1.php
+ *
+ * Copyright (c) 2004 The SquirrelMail Project Team
+ * Licensed under the GNU GPL. For full terms see the file COPYING.
+ *
+ * This file contains ns_4551-1 decoding function that is needed to read
+ * ns_4551-1 encoded mails in non-ns_4551-1 locale.
+ *
+ * This is the same as ISO-646-NO and is used by some
+ * Microsoft programs when sending Norwegian characters 
+ *
+ * $Id$
+ * @package squirrelmail
+ * @subpackage decode
+ */
+
+/**
+ * ns_4551_1 decoding function
+ *
+ * @param string $string
+ * @return string 
+ */
+function charset_decode_ns_4551_1 ($string) {
+    /*
+     * These characters are:
+     * Latin capital letter AE
+     * Latin capital letter O with stroke
+     * Latin capital letter A with ring above
+     * and the same as small letters
+     */
+    return strtr ($string, "[\\]{|}", "ÆØÅæøå");
+}
+?>
\ No newline at end of file
diff --git a/functions/decode/us_ascii.php b/functions/decode/us_ascii.php
new file mode 100644 (file)
index 0000000..700613f
--- /dev/null
@@ -0,0 +1,42 @@
+<?php
+
+/**
+ * functions/decode/us_ascii.php
+ *
+ * Copyright (c) 2004 The SquirrelMail Project Team
+ * Licensed under the GNU GPL. For full terms see the file COPYING.
+ *
+ * This file contains us-ascii decoding function that is needed to read
+ * us-ascii encoded mails in non-us-ascii locale.
+ *
+ * Function replaces all 8bit symbols with '?' marks
+ *
+ * $Id$
+ * @package squirrelmail
+ * @subpackage decode
+ */
+
+/**
+ * us-ascii decoding function.
+ *
+ * @param string $string string that has to be cleaned
+ * @return string cleaned string
+ */
+function charset_decode_us_ascii ($string) {
+    global $default_charset;
+
+    if (strtolower($default_charset) == 'us-ascii')
+        return $string;
+
+    if (! ereg("[\200-\237]", $string) and ! ereg("[\241-\377]", $string) )
+        return $string;
+
+    $string = preg_replace("/([\201-\237])/e","'?'",$string);
+
+    /* I don't want to use 0xA0 (\240) in any ranges. RH73 may dislike it */
+    $string = str_replace("\240", '?', $string);
+
+    $string = preg_replace("/([\241-\377])/e","'?'",$string);
+    return $string;
+}
+?>