summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormillette <millette@controlyourself.ca>2008-12-04 15:34:33 -0500
committermillette <millette@controlyourself.ca>2008-12-04 15:34:33 -0500
commit9c3c1e0272c34adf315612d717c3640923d4fe62 (patch)
treea7a40eeb694674d1c03cd946d66b51565cafabdc
parentf9c88fe09c3f3946c8599154e1c4dc4919bf72df (diff)
trac494 email is now in recipient's language
darcs-hash:20081204203433-099f7-41be8f47b2a8e647414225f26318da005144006d.gz
-rw-r--r--lib/mail.php5
-rw-r--r--lib/util.php21
2 files changed, 19 insertions, 7 deletions
diff --git a/lib/mail.php b/lib/mail.php
index 4c73a0b7b..b8d3236f6 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 204ad511c..077c9219a 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");