From aa96c3c1d9823382e9e6de0da5084fcc111f2ee5 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Thu, 2 Dec 2010 10:56:44 -0800 Subject: Fix for tickets #2917, #2262: user URL shortening options not being applied in non-web channels common_shorten_links() can only access the web session's logged-in user, so never properly took user options into effect for posting via XMPP, API, mail, etc. Adds an optional $user parameter on common_shorten_links(), and a $user->shortenLinks() as a clearer interface for that. Tweaked some lower-level functions so $user gets passed down -- making the $notice_id param previously there for saving URLs at notice save time generalized a little. Note also ticket #2919: there's a lot of duplicate code calling the shortening, checking the length, and reporting near-identical error messages. These should be consolidated to aid in code and translation maintenance. --- lib/command.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/command.php') diff --git a/lib/command.php b/lib/command.php index 2a8075e7b..3fb4d76c7 100644 --- a/lib/command.php +++ b/lib/command.php @@ -479,7 +479,7 @@ class MessageCommand extends Command return; } - $this->text = common_shorten_links($this->text); + $this->text = $this->user->shortenLinks($this->text); if (Message::contentTooLong($this->text)) { // XXX: i18n. Needs plural support. @@ -582,7 +582,7 @@ class ReplyCommand extends Command return; } - $this->text = common_shorten_links($this->text); + $this->text = $this->user->shortenLinks($this->text); if (Notice::contentTooLong($this->text)) { // XXX: i18n. Needs plural support. -- cgit v1.2.3-54-g00ecf