From 9c3c1e0272c34adf315612d717c3640923d4fe62 Mon Sep 17 00:00:00 2001 From: millette Date: Thu, 4 Dec 2008 15:34:33 -0500 Subject: [PATCH] trac494 email is now in recipient's language darcs-hash:20081204203433-099f7-41be8f47b2a8e647414225f26318da005144006d.gz --- lib/mail.php | 5 +++++ lib/util.php | 21 ++++++++++++++------- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/lib/mail.php b/lib/mail.php index 4c73a0b7be..b8d3236f63 100644 --- a/lib/mail.php +++ b/lib/mail.php @@ -115,6 +115,8 @@ function mail_subscribe_notify($listenee, $listener) { function mail_subscribe_notify_profile($listenee, $other) { if ($listenee->email && $listenee->emailnotifysub) { + // use the recipients localization + common_init_locale($listenee->language); $profile = $listenee->getProfile(); $name = $profile->getBestName(); $long_name = ($other->fullname) ? ($other->fullname . ' (' . $other->nickname . ')') : $other->nickname; @@ -130,6 +132,9 @@ function mail_subscribe_notify_profile($listenee, $other) { common_config('site', 'name'), $other->profileurl, common_config('site', 'name')); + + // reset localization + common_init_locale(); mail_send($recipients, $headers, $body); } } diff --git a/lib/util.php b/lib/util.php index 204ad511ca..077c9219a8 100644 --- a/lib/util.php +++ b/lib/util.php @@ -131,17 +131,24 @@ function common_end_xml() { $xw->flush(); } +function common_init_locale($language=null) { + if(!$language) { + $language = common_language(); + } + putenv('LANGUAGE='.$language); + putenv('LANG='.$language); + return setlocale(LC_ALL, $language . ".utf8", + $language . ".UTF8", + $language . ".utf-8", + $language . ".UTF-8", + $language); +} + function common_init_language() { mb_internal_encoding('UTF-8'); $language = common_language(); # So we don't have to make people install the gettext locales - putenv('LANGUAGE='.$language); - putenv('LANG='.$language); - $locale_set = setlocale(LC_ALL, $language . ".utf8", - $language . ".UTF8", - $language . ".utf-8", - $language . ".UTF-8", - $language); + $locale_set = common_init_locale($language); bindtextdomain("laconica", common_config('site','locale_path')); bind_textdomain_codeset("laconica", "UTF-8"); textdomain("laconica");