Skip to content

Commit

Permalink
Issue ID 0000407: accents are not allowed in mail headers
Browse files Browse the repository at this point in the history
git-svn-id: http://piwigo.org/svn/trunk@1361 68402e56-0260-453c-a942-63ccdbb3a9ee
  • Loading branch information
rub committed Jun 17, 2006
1 parent 006eecb commit 7457a64
Show file tree
Hide file tree
Showing 4 changed files with 543 additions and 4 deletions.
17 changes: 17 additions & 0 deletions include/functions.inc.php
Expand Up @@ -818,6 +818,23 @@ function l10n($key)
return isset($lang[$key]) ? $lang[$key] : $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
Expand Down
12 changes: 8 additions & 4 deletions include/functions_mail.inc.php
Expand Up @@ -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;
}
}

Expand All @@ -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();
Expand Down Expand Up @@ -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);
}
}

Expand Down
259 changes: 259 additions & 0 deletions language/en_UK.iso-8859-1/common.lang.php
Expand Up @@ -32,6 +32,265 @@
$lang_info['direction'] = 'ltr';
$lang_info['code'] = 'en';

$lang_table_translate_ascii7bits = array(
chr( 0) => chr(0),
chr( 1) => chr( 1),
chr( 2) => chr( 2),
chr( 3) => chr( 3),
chr( 4) => chr( 4),
chr( 5) => chr( 5),
chr( 6) => chr( 6),
chr( 7) => chr( 7),
chr( 8) => chr( 8),
chr( 9) => chr( 9),
chr( 10) => chr( 10),
chr( 11) => chr( 11),
chr( 12) => chr( 12),
chr( 13) => chr( 13),
chr( 14) => chr( 14),
chr( 15) => chr( 15),
chr( 16) => chr( 16),
chr( 17) => chr( 17),
chr( 18) => chr( 18),
chr( 19) => chr( 19),
chr( 20) => chr( 20),
chr( 21) => chr( 21),
chr( 22) => chr( 22),
chr( 23) => chr( 23),
chr( 24) => chr( 24),
chr( 25) => chr( 25),
chr( 26) => chr( 26),
chr( 27) => chr( 27),
chr( 28) => chr( 28),
chr( 29) => chr( 29),
chr( 30) => chr( 30),
chr( 31) => chr( 31),
chr( 32) => chr( 32),
chr( 33) => chr( 33),
chr( 34) => chr( 34),
chr( 35) => chr( 35),
chr( 36) => chr( 36),
chr( 37) => chr( 37),
chr( 38) => chr( 38),
chr( 39) => chr( 39),
chr( 40) => chr( 40),
chr( 41) => chr( 41),
chr( 42) => chr( 42),
chr( 43) => chr( 43),
chr( 44) => chr( 44),
chr( 45) => chr( 45),
chr( 46) => chr( 46),
chr( 47) => chr( 47),
chr( 48) => chr( 48),
chr( 49) => chr( 49),
chr( 50) => chr( 50),
chr( 51) => chr( 51),
chr( 52) => chr( 52),
chr( 53) => chr( 53),
chr( 54) => chr( 54),
chr( 55) => chr( 55),
chr( 56) => chr( 56),
chr( 57) => chr( 57),
chr( 58) => chr( 58),
chr( 59) => chr( 59),
chr( 60) => chr( 60),
chr( 61) => chr( 61),
chr( 62) => chr( 62),
chr( 63) => chr( 63),
chr( 64) => chr( 64),
chr( 65) => chr( 65),
chr( 66) => chr( 66),
chr( 67) => chr( 67),
chr( 68) => chr( 68),
chr( 69) => chr( 69),
chr( 70) => chr( 70),
chr( 71) => chr( 71),
chr( 72) => chr( 72),
chr( 73) => chr( 73),
chr( 74) => chr( 74),
chr( 75) => chr( 75),
chr( 76) => chr( 76),
chr( 77) => chr( 77),
chr( 78) => chr( 78),
chr( 79) => chr( 79),
chr( 80) => chr( 80),
chr( 81) => chr( 81),
chr( 82) => chr( 82),
chr( 83) => chr( 83),
chr( 84) => chr( 84),
chr( 85) => chr( 85),
chr( 86) => chr( 86),
chr( 87) => chr( 87),
chr( 88) => chr( 88),
chr( 89) => chr( 89),
chr( 90) => chr( 90),
chr( 91) => chr( 91),
chr( 92) => chr( 92),
chr( 93) => chr( 93),
chr( 94) => chr( 94),
chr( 95) => chr( 95),
chr( 96) => chr( 96),
chr( 97) => chr( 97),
chr( 98) => chr( 98),
chr( 99) => chr( 99),
chr(100) => chr(100),
chr(101) => chr(101),
chr(102) => chr(102),
chr(103) => chr(103),
chr(104) => chr(104),
chr(105) => chr(105),
chr(106) => chr(106),
chr(107) => chr(107),
chr(108) => chr(108),
chr(109) => chr(109),
chr(110) => chr(110),
chr(111) => chr(111),
chr(112) => chr(112),
chr(113) => chr(113),
chr(114) => chr(114),
chr(115) => chr(115),
chr(116) => chr(116),
chr(117) => chr(117),
chr(118) => chr(118),
chr(119) => chr(119),
chr(120) => chr(120),
chr(121) => chr(121),
chr(122) => chr(122),
chr(123) => chr(123),
chr(124) => chr(124),
chr(125) => chr(125),
chr(126) => chr(126),
chr(127) => chr(127),
chr(128) => chr(128),
chr(129) => chr( 95),
chr(130) => chr( 44),
chr(131) => chr(102),
chr(132) => chr( 44),
chr(133) => chr( 46),
chr(134) => chr( 43),
chr(135) => chr( 43),
chr(136) => chr( 32),
chr(137) => chr( 37),
chr(138) => chr( 83),
chr(139) => chr( 60),
chr(140) => chr( 69),
chr(141) => chr( 32),
chr(142) => chr( 90),
chr(143) => chr( 32),
chr(144) => chr( 32),
chr(145) => chr( 39),
chr(146) => chr( 39),
chr(147) => chr( 34),
chr(148) => chr( 34),
chr(149) => chr( 46),
chr(150) => chr( 45),
chr(151) => chr( 45),
chr(152) => chr( 32),
chr(153) => chr( 32),
chr(154) => chr(115),
chr(155) => chr( 62),
chr(156) => chr(111),
chr(157) => chr( 32),
chr(158) => chr(122),
chr(159) => chr( 89),
chr(160) => chr( 32),
chr(161) => chr( 33),
chr(162) => chr( 99),
chr(163) => chr( 76),
chr(164) => chr( 32),
chr(165) => chr( 86),
chr(166) => chr(124),
chr(167) => chr( 83),
chr(168) => chr( 32),
chr(169) => chr( 99),
chr(170) => chr( 97),
chr(171) => chr( 60),
chr(172) => chr( 32),
chr(173) => chr( 45),
chr(174) => chr( 114),
chr(175) => chr( 45),
chr(176) => chr( 111),
chr(177) => chr( 43),
chr(178) => chr( 50),
chr(179) => chr( 51),
chr(180) => chr( 39),
chr(181) => chr(117),
chr(182) => chr( 32),
chr(183) => chr( 46),
chr(184) => chr( 97),
chr(185) => chr( 49),
chr(186) => chr(111),
chr(187) => chr( 62),
chr(188) => chr( 32),
chr(189) => chr( 32),
chr(190) => chr( 32),
chr(191) => chr( 63),
chr(192) => chr( 65),
chr(193) => chr( 65),
chr(194) => chr( 65),
chr(195) => chr( 65),
chr(196) => chr( 65),
chr(197) => chr( 65),
chr(198) => chr( 65),
chr(199) => chr( 67),
chr(200) => chr( 69),
chr(201) => chr( 69),
chr(202) => chr( 69),
chr(203) => chr( 69),
chr(204) => chr( 73),
chr(205) => chr( 73),
chr(206) => chr( 73),
chr(207) => chr( 73),
chr(208) => chr( 68),
chr(209) => chr( 78),
chr(210) => chr( 79),
chr(211) => chr( 79),
chr(212) => chr( 79),
chr(213) => chr( 79),
chr(214) => chr( 79),
chr(215) => chr( 42),
chr(216) => chr( 48),
chr(217) => chr( 85),
chr(218) => chr( 85),
chr(219) => chr( 85),
chr(220) => chr( 85),
chr(221) => chr( 89),
chr(222) => chr( 80),
chr(223) => chr( 66),
chr(224) => chr( 97),
chr(225) => chr( 97),
chr(226) => chr( 97),
chr(227) => chr( 97),
chr(228) => chr( 97),
chr(229) => chr( 97),
chr(230) => chr( 97),
chr(231) => chr( 99),
chr(232) => chr(101),
chr(233) => chr(101),
chr(234) => chr(101),
chr(235) => chr(101),
chr(236) => chr(105),
chr(237) => chr(105),
chr(238) => chr(105),
chr(239) => chr(105),
chr(240) => chr( 97),
chr(241) => chr(110),
chr(242) => chr(111),
chr(243) => chr(111),
chr(244) => chr(111),
chr(245) => chr(111),
chr(246) => chr(111),
chr(247) => chr( 47),
chr(248) => chr( 48),
chr(249) => chr(117),
chr(250) => chr(117),
chr(251) => chr(117),
chr(252) => chr(117),
chr(253) => chr(117),
chr(254) => chr( 98),
chr(255) => chr(121)
);

$lang['%.2f (rated %d times, standard deviation = %.2f)'] = '%.2f (rated %d times, standard deviation = %.2f)';
$lang['%d Kb'] = '%d Kb';
$lang['%d categories updated'] = '%d categories updated';
Expand Down

0 comments on commit 7457a64

Please sign in to comment.