From f98609204fb9b5966b9e4c9e4bf8bf605656c31c Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Tue, 25 May 2010 11:36:42 -0700 Subject: 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. --- lib/mail.php | 20 ++++++++++---------- lib/util.php | 17 ----------------- plugins/Facebook/facebookutil.php | 6 +++--- plugins/TwitterBridge/twitter.php | 6 +++--- 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); } -- cgit v1.2.3-54-g00ecf