diff options
author | rub <rub@piwigo.org> | 2006-06-17 23:02:59 +0000 |
---|---|---|
committer | rub <rub@piwigo.org> | 2006-06-17 23:02:59 +0000 |
commit | 9ab183d3e4d5e02e2a09e927ea7ecfb99fa7753a (patch) | |
tree | f760827c22d5f93830b93aa441a5fa012a55083e | |
parent | 43835fac8d55d224b32159381ef92887b6b30a75 (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
-rw-r--r-- | include/functions.inc.php | 17 | ||||
-rw-r--r-- | include/functions_mail.inc.php | 12 | ||||
-rw-r--r-- | language/en_UK.iso-8859-1/common.lang.php | 259 | ||||
-rw-r--r-- | language/fr_FR.iso-8859-1/common.lang.php | 259 |
4 files changed, 543 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); } } diff --git a/language/en_UK.iso-8859-1/common.lang.php b/language/en_UK.iso-8859-1/common.lang.php index c75b3294e..7bdd0c97e 100644 --- a/language/en_UK.iso-8859-1/common.lang.php +++ b/language/en_UK.iso-8859-1/common.lang.php @@ -32,6 +32,265 @@ $lang_info['charset'] = 'iso-8859-1'; $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'; diff --git a/language/fr_FR.iso-8859-1/common.lang.php b/language/fr_FR.iso-8859-1/common.lang.php index 3c474a271..bd124364d 100644 --- a/language/fr_FR.iso-8859-1/common.lang.php +++ b/language/fr_FR.iso-8859-1/common.lang.php @@ -32,6 +32,265 @@ $lang_info['charset'] = 'iso-8859-1'; $lang_info['direction'] = 'ltr'; $lang_info['code'] = 'fr'; +$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 (noté %d fois, écart type = %.2f)'; $lang['%d Kb'] = '%d Ko'; $lang['%d categories updated'] = '%d catégories mises à jour'; |