summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrion Vibber <brion@pobox.com>2010-05-25 11:36:42 -0700
committerBrion Vibber <brion@pobox.com>2010-05-25 11:36:42 -0700
commitf98609204fb9b5966b9e4c9e4bf8bf605656c31c (patch)
tree8cc16bb846e31670ce64adb3574f67c54818dc16
parent09dab2ce5ae819c73d7984822d418c43f1fba223 (diff)
Backing out locale switch change to see if this affects our mystery memory leak.
Revert "Locale switch cleanup: use common_switch_locale() which is safer for updating gettext state. Also moved a few calls to reduce chance of hitting an exception before switching back." This reverts commit 74a89b1fc37067d91d31bd66922053361eb4e616.
-rw-r--r--lib/mail.php20
-rw-r--r--lib/util.php17
-rw-r--r--plugins/Facebook/facebookutil.php6
-rw-r--r--plugins/TwitterBridge/twitter.php6
4 files changed, 16 insertions, 33 deletions
diff --git a/lib/mail.php b/lib/mail.php
index ab5742e33..f45b2d333 100644
--- a/lib/mail.php
+++ b/lib/mail.php
@@ -224,6 +224,9 @@ function mail_subscribe_notify_profile($listenee, $other)
if ($other->hasRight(Right::EMAILONSUBSCRIBE) &&
$listenee->email && $listenee->emailnotifysub) {
+ // use the recipient's localization
+ common_init_locale($listenee->language);
+
$profile = $listenee->getProfile();
$name = $profile->getBestName();
@@ -233,9 +236,6 @@ function mail_subscribe_notify_profile($listenee, $other)
$recipients = $listenee->email;
- // use the recipient's localization
- common_switch_locale($listenee->language);
-
$headers = _mail_prepare_headers('subscribe', $listenee->nickname, $other->nickname);
$headers['From'] = mail_notify_from();
$headers['To'] = $name . ' <' . $listenee->email . '>';
@@ -277,7 +277,7 @@ function mail_subscribe_notify_profile($listenee, $other)
common_local_url('emailsettings'));
// reset localization
- common_switch_locale();
+ common_init_locale();
mail_send($recipients, $headers, $body);
}
}
@@ -479,7 +479,7 @@ function mail_confirm_sms($code, $nickname, $address)
function mail_notify_nudge($from, $to)
{
- common_switch_locale($to->language);
+ common_init_locale($to->language);
// TRANS: Subject for 'nudge' notification email
$subject = sprintf(_('You\'ve been nudged by %s'), $from->nickname);
@@ -497,7 +497,7 @@ function mail_notify_nudge($from, $to)
$from->nickname,
common_local_url('all', array('nickname' => $to->nickname)),
common_config('site', 'name'));
- common_switch_locale();
+ common_init_locale();
$headers = _mail_prepare_headers('nudge', $to->nickname, $from->nickname);
@@ -531,7 +531,7 @@ function mail_notify_message($message, $from=null, $to=null)
return true;
}
- common_switch_locale($to->language);
+ common_init_locale($to->language);
// TRANS: Subject for direct-message notification email
$subject = sprintf(_('New private message from %s'), $from->nickname);
@@ -555,7 +555,7 @@ function mail_notify_message($message, $from=null, $to=null)
$headers = _mail_prepare_headers('message', $to->nickname, $from->nickname);
- common_switch_locale();
+ common_init_locale();
return mail_to_user($to, $subject, $body, $headers);
}
@@ -583,7 +583,7 @@ function mail_notify_fave($other, $user, $notice)
$bestname = $profile->getBestName();
- common_switch_locale($other->language);
+ common_init_locale($other->language);
// TRANS: Subject for favorite notification email
$subject = sprintf(_('%s (@%s) added your notice as a favorite'), $bestname, $user->nickname);
@@ -611,7 +611,7 @@ function mail_notify_fave($other, $user, $notice)
$headers = _mail_prepare_headers('fave', $other->nickname, $user->nickname);
- common_switch_locale();
+ common_init_locale();
mail_to_user($other, $subject, $body, $headers);
}
diff --git a/lib/util.php b/lib/util.php
index 59d5132ec..eed61d029 100644
--- a/lib/util.php
+++ b/lib/util.php
@@ -34,14 +34,6 @@ function common_user_error($msg, $code=400)
$err->showPage();
}
-/**
- * This should only be used at setup; processes switching languages
- * to send text to other users should use common_switch_locale().
- *
- * @param string $language Locale language code (optional; empty uses
- * current user's preference or site default)
- * @return mixed success
- */
function common_init_locale($language=null)
{
if(!$language) {
@@ -58,15 +50,6 @@ function common_init_locale($language=null)
return $ok;
}
-/**
- * Initialize locale and charset settings and gettext with our message catalog,
- * using the current user's language preference or the site default.
- *
- * This should generally only be run at framework initialization; code switching
- * languages at runtime should call common_switch_language().
- *
- * @access private
- */
function common_init_language()
{
mb_internal_encoding('UTF-8');
diff --git a/plugins/Facebook/facebookutil.php b/plugins/Facebook/facebookutil.php
index c7b0f02c3..9c35276b7 100644
--- a/plugins/Facebook/facebookutil.php
+++ b/plugins/Facebook/facebookutil.php
@@ -461,12 +461,12 @@ function remove_facebook_app($flink)
function mail_facebook_app_removed($user)
{
+ common_init_locale($user->language);
+
$profile = $user->getProfile();
$site_name = common_config('site', 'name');
- common_switch_locale($user->language);
-
$subject = sprintf(
_m('Your %1$s Facebook application access has been disabled.',
$site_name));
@@ -480,7 +480,7 @@ function mail_facebook_app_removed($user)
"re-installing the %2\$s Facebook application.\n\nRegards,\n\n%2\$s"),
$user->nickname, $site_name);
- common_switch_locale();
+ common_init_locale();
return mail_to_user($user, $subject, $body);
}
diff --git a/plugins/TwitterBridge/twitter.php b/plugins/TwitterBridge/twitter.php
index 896eee2da..21adc7a90 100644
--- a/plugins/TwitterBridge/twitter.php
+++ b/plugins/TwitterBridge/twitter.php
@@ -335,9 +335,9 @@ function remove_twitter_link($flink)
function mail_twitter_bridge_removed($user)
{
- $profile = $user->getProfile();
+ common_init_locale($user->language);
- common_switch_locale($user->language);
+ $profile = $user->getProfile();
$subject = sprintf(_m('Your Twitter bridge has been disabled.'));
@@ -354,7 +354,7 @@ function mail_twitter_bridge_removed($user)
common_local_url('twittersettings'),
common_config('site', 'name'));
- common_switch_locale();
+ common_init_locale();
return mail_to_user($user, $subject, $body);
}