aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorrub <rub@piwigo.org>2006-06-17 23:02:59 +0000
committerrub <rub@piwigo.org>2006-06-17 23:02:59 +0000
commit9ab183d3e4d5e02e2a09e927ea7ecfb99fa7753a (patch)
treef760827c22d5f93830b93aa441a5fa012a55083e /include
parent43835fac8d55d224b32159381ef92887b6b30a75 (diff)
Issue ID 0000407: accents are not allowed in mail headers
Merge BSF r1360:1361 into branch-1_6 git-svn-id: http://piwigo.org/svn/branches/branch-1_6@1362 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'include')
-rw-r--r--include/functions.inc.php17
-rw-r--r--include/functions_mail.inc.php12
2 files changed, 25 insertions, 4 deletions
diff --git a/include/functions.inc.php b/include/functions.inc.php
index f8f65c031..12fe7200d 100644
--- a/include/functions.inc.php
+++ b/include/functions.inc.php
@@ -819,6 +819,23 @@ function l10n($key)
}
/**
+ * Translate string in string ascii7bits
+ * It's possible to do that with iconv_substr but this fonction is not avaible on all the providers.
+ *
+ * @param string str
+ * @return string
+ */
+function str_translate_to_ascii7bits($str)
+{
+ global $lang_table_translate_ascii7bits;
+
+ $src_table = array_keys($lang_table_translate_ascii7bits);
+ $dst_table = array_values($lang_table_translate_ascii7bits);
+
+ return str_replace($src_table , $dst_table, $str);
+}
+
+/**
* returns the corresponding value from $themeconf if existing. Else, the
* key is returned
*
diff --git a/include/functions_mail.inc.php b/include/functions_mail.inc.php
index 86ded9473..a209c6f04 100644
--- a/include/functions_mail.inc.php
+++ b/include/functions_mail.inc.php
@@ -78,13 +78,15 @@ function get_mail_configuration()
*/
function format_email($name, $email)
{
+ $cvt7b_name = str_translate_to_ascii7bits($name);
+
if (strpos($email, '<') === false)
{
- return $name.' <'.$email.'>';
+ return $cvt7b_name.' <'.$email.'>';
}
else
{
- return $name.$email;
+ return $cvt7b_name.$email;
}
}
@@ -95,6 +97,8 @@ function pwg_mail($to, $from = '', $subject = 'PhpWebGallery', $infos = '')
{
global $conf, $conf_mail;
+ $cvt7b_subject = str_translate_to_ascii7bits($subject);
+
if (!isset($conf_mail))
{
$conf_mail = get_mail_configuration();
@@ -126,11 +130,11 @@ function pwg_mail($to, $from = '', $subject = 'PhpWebGallery', $infos = '')
{
$options = '-f '.$from;
- return mail($to, $subject, $content, $headers, $options);
+ return mail($to, $cvt7b_subject, $content, $headers, $options);
}
else
{
- return mail($to, $subject, $content, $headers);
+ return mail($to, $cvt7b_subject, $content, $headers);
}
}