diff options
author | Brion Vibber <brion@pobox.com> | 2010-05-04 09:15:37 -0700 |
---|---|---|
committer | Brion Vibber <brion@pobox.com> | 2010-05-04 09:15:37 -0700 |
commit | b29984361804f4775e3ec94d910b4a546dbe7b1e (patch) | |
tree | a33330fd6e3e4e6279f07fb89b4ca9c84796529d | |
parent | 081ee9b29c7e4b207633aec0219b5a5b1ef36800 (diff) | |
parent | ecf9dc6d1b5a068b2e5ba23debf2b7bec04d3d2c (diff) |
Merge branch '1.0.x' of gitorious.org:statusnet/mainline into 1.0.x
-rw-r--r-- | plugins/ClientSideShorten/ClientSideShortenPlugin.php | 4 | ||||
-rw-r--r-- | plugins/ClientSideShorten/shorten.js | 15 |
2 files changed, 16 insertions, 3 deletions
diff --git a/plugins/ClientSideShorten/ClientSideShortenPlugin.php b/plugins/ClientSideShorten/ClientSideShortenPlugin.php index ba1f7d3a7..454bedb08 100644 --- a/plugins/ClientSideShorten/ClientSideShortenPlugin.php +++ b/plugins/ClientSideShorten/ClientSideShortenPlugin.php @@ -51,8 +51,10 @@ class ClientSideShortenPlugin extends Plugin } function onEndShowScripts($action){ - $action->inlineScript('var Notice_maxContent = ' . Notice::maxContent()); if (common_logged_in()) { + $user = common_current_user(); + $action->inlineScript('var maxNoticeLength = ' . User_urlshortener_prefs::maxNoticeLength($user)); + $action->inlineScript('var maxUrlLength = ' . User_urlshortener_prefs::maxUrlLength($user)); $action->script('plugins/ClientSideShorten/shorten.js'); } } diff --git a/plugins/ClientSideShorten/shorten.js b/plugins/ClientSideShorten/shorten.js index 856c7f05f..bdffb81e2 100644 --- a/plugins/ClientSideShorten/shorten.js +++ b/plugins/ClientSideShorten/shorten.js @@ -31,10 +31,21 @@ })(jQuery,'smartkeypress'); + function longestWordInString(string) + { + var words = string.split(/\s/); + var longestWord = 0; + for(var i=0;i<words.length;i++) + if(words[i].length > longestWord) longestWord = words[i].length; + return longestWord; + } + function shorten() { - $noticeDataText = $('#'+SN.C.S.NoticeDataText); - if(Notice_maxContent > 0 && $noticeDataText.val().length > Notice_maxContent){ + var $noticeDataText = $('#'+SN.C.S.NoticeDataText); + var noticeText = $noticeDataText.val(); + + if(noticeText.length > maxNoticeLength || longestWordInString(noticeText) > maxUrlLength) { var original = $noticeDataText.val(); shortenAjax = $.ajax({ url: $('address .url')[0].href+'/plugins/ClientSideShorten/shorten', |