From c11064a5398db824f2623c5763b3fdfdf8ae3c39 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Thu, 25 Mar 2010 14:15:54 -0700 Subject: Updated 'more' anchor for attachments to do an XHR GET Conflicts: lib/attachmentlist.php plugins/OStatus/classes/Ostatus_profile.php Merge tried to delete things that it seems it shouldn't, very confusing order. Hope rest of the cherry-picking isn't a problem. --- plugins/OStatus/classes/Ostatus_profile.php | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'plugins/OStatus') diff --git a/plugins/OStatus/classes/Ostatus_profile.php b/plugins/OStatus/classes/Ostatus_profile.php index c7e3b0509..51a426dc4 100644 --- a/plugins/OStatus/classes/Ostatus_profile.php +++ b/plugins/OStatus/classes/Ostatus_profile.php @@ -555,9 +555,21 @@ class Ostatus_profile extends Memcached_DataObject $shortSummary = substr($shortSummary, 0, Notice::maxContent() - (mb_strlen($url) + 2)); - $shortSummary .= '… ' . $url; - $content = $shortSummary; - $rendered = common_render_text($content); + $shortSummary .= '…'; + $content = $shortSummary . ' ' . $url; + + // We mark up the attachment link specially for the HTML output + // so we can fold-out the full version inline. + $attachUrl = common_local_url('attachment', + array('attachment' => $attachment->id)); + $rendered = common_render_text($shortSummary) . + ' ' . + '' . + // TRANS: expansion link for too-long remote messages + htmlspecialchars(_m('more')) . + ''; } } -- cgit v1.2.3-54-g00ecf From 8336e241797e588d7ca7df8792c70839c0ddfd09 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Thu, 18 Mar 2010 14:26:30 +0100 Subject: Using … (hellip) instead of "more" for link text --- plugins/OStatus/classes/Ostatus_profile.php | 11 ++++------- theme/base/css/display.css | 6 ------ 2 files changed, 4 insertions(+), 13 deletions(-) (limited to 'plugins/OStatus') diff --git a/plugins/OStatus/classes/Ostatus_profile.php b/plugins/OStatus/classes/Ostatus_profile.php index 51a426dc4..e5210cda1 100644 --- a/plugins/OStatus/classes/Ostatus_profile.php +++ b/plugins/OStatus/classes/Ostatus_profile.php @@ -555,7 +555,6 @@ class Ostatus_profile extends Memcached_DataObject $shortSummary = substr($shortSummary, 0, Notice::maxContent() - (mb_strlen($url) + 2)); - $shortSummary .= '…'; $content = $shortSummary . ' ' . $url; // We mark up the attachment link specially for the HTML output @@ -563,12 +562,10 @@ class Ostatus_profile extends Memcached_DataObject $attachUrl = common_local_url('attachment', array('attachment' => $attachment->id)); $rendered = common_render_text($shortSummary) . - ' ' . - '' . - // TRANS: expansion link for too-long remote messages - htmlspecialchars(_m('more')) . + '' . + '…' . ''; } } diff --git a/theme/base/css/display.css b/theme/base/css/display.css index 9044021f5..757ce7ff1 100644 --- a/theme/base/css/display.css +++ b/theme/base/css/display.css @@ -1288,12 +1288,6 @@ padding-left:16px; .notice .attachment.more { padding-left:0; } -.notice .attachment.more:before { -content:'( '; -} -.notice .attachment.more:after { -content:' )'; -} .notice .attachment img { position:absolute; top:18px; -- cgit v1.2.3-54-g00ecf From 013647f0ba29949e9025330b9692ad3113b1d644 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Wed, 17 Mar 2010 15:49:10 -0700 Subject: Add doc comments on saveHTMLFile; drop the extra
wrapping the contents to make it easier to extract without getting extra markup. --- plugins/OStatus/classes/Ostatus_profile.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'plugins/OStatus') diff --git a/plugins/OStatus/classes/Ostatus_profile.php b/plugins/OStatus/classes/Ostatus_profile.php index e5210cda1..0abc1ee19 100644 --- a/plugins/OStatus/classes/Ostatus_profile.php +++ b/plugins/OStatus/classes/Ostatus_profile.php @@ -1676,10 +1676,18 @@ class Ostatus_profile extends Memcached_DataObject throw new Exception("Couldn't find a valid profile for '$addr'"); } + /** + * Store the full-length scrubbed HTML of a remote notice to an attachment + * file on our server. We'll link to this at the end of the cropped version. + * + * @param string $title plaintext for HTML page's title + * @param string $rendered HTML fragment for HTML page's body + * @return File + */ function saveHTMLFile($title, $rendered) { $final = sprintf("\n%s". - '
%s
', + '%s', htmlspecialchars($title), $rendered); -- cgit v1.2.3-54-g00ecf From e91bf2b8a99d55bf3633b80827a537efa160fc7b Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Thu, 25 Mar 2010 16:08:09 -0700 Subject: Tweak to OStatus long message cropping: use original source notice URL for the link in the text version, don't shorten the link for the HTML so we can append params to it in JS. Conflicts: plugins/OStatus/classes/Ostatus_profile.php --- plugins/OStatus/classes/Ostatus_profile.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'plugins/OStatus') diff --git a/plugins/OStatus/classes/Ostatus_profile.php b/plugins/OStatus/classes/Ostatus_profile.php index 0abc1ee19..34bff548d 100644 --- a/plugins/OStatus/classes/Ostatus_profile.php +++ b/plugins/OStatus/classes/Ostatus_profile.php @@ -550,8 +550,7 @@ class Ostatus_profile extends Memcached_DataObject } $shortSummary = common_shorten_links($summary); if (Notice::contentTooLong($shortSummary)) { - $url = common_shorten_url(common_local_url('attachment', - array('attachment' => $attachment->id))); + $url = common_shorten_url($sourceUrl); $shortSummary = substr($shortSummary, 0, Notice::maxContent() - (mb_strlen($url) + 2)); -- cgit v1.2.3-54-g00ecf From 75b2bf2a4e97f4405aaee9b14cc3096a91f26e1b Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Fri, 26 Mar 2010 08:45:23 -0400 Subject: Do ostatus queue first We do the OStatus queue first, so if we're sending a notice to the same server twice (e.g., with OMB), our richer and more featureful notice comes in first. --- plugins/OStatus/OStatusPlugin.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'plugins/OStatus') diff --git a/plugins/OStatus/OStatusPlugin.php b/plugins/OStatus/OStatusPlugin.php index c985fb4bc..f183bc7ae 100644 --- a/plugins/OStatus/OStatusPlugin.php +++ b/plugins/OStatus/OStatusPlugin.php @@ -102,7 +102,8 @@ class OStatusPlugin extends Plugin */ function onStartEnqueueNotice($notice, &$transports) { - $transports[] = 'ostatus'; + // put our transport first, in case there's any conflict (like OMB) + array_unshift($transports, 'ostatus'); return true; } -- cgit v1.2.3-54-g00ecf From 3227122ac3ed5089e32346a98166dead13c0b3a5 Mon Sep 17 00:00:00 2001 From: James Walker Date: Fri, 26 Mar 2010 13:37:46 -0400 Subject: move base64_url_(encode|decode) to static functions in Magicsig --- plugins/OStatus/classes/Magicsig.php | 34 ++++++++++++++++++---------------- plugins/OStatus/lib/magicenvelope.php | 6 +++--- 2 files changed, 21 insertions(+), 19 deletions(-) (limited to 'plugins/OStatus') diff --git a/plugins/OStatus/classes/Magicsig.php b/plugins/OStatus/classes/Magicsig.php index 864fef628..f8c56a05f 100644 --- a/plugins/OStatus/classes/Magicsig.php +++ b/plugins/OStatus/classes/Magicsig.php @@ -129,11 +129,11 @@ class Magicsig extends Memcached_DataObject public function toString($full_pair = true) { - $mod = base64_url_encode($this->publicKey->modulus->toBytes()); - $exp = base64_url_encode($this->publicKey->exponent->toBytes()); + $mod = Magicsig::base64_url_encode($this->publicKey->modulus->toBytes()); + $exp = Magicsig::base64_url_encode($this->publicKey->exponent->toBytes()); $private_exp = ''; if ($full_pair && $this->privateKey->exponent->toBytes()) { - $private_exp = '.' . base64_url_encode($this->privateKey->exponent->toBytes()); + $private_exp = '.' . Magicsig::base64_url_encode($this->privateKey->exponent->toBytes()); } return 'RSA.' . $mod . '.' . $exp . $private_exp; @@ -174,9 +174,9 @@ class Magicsig extends Memcached_DataObject $rsa = new Crypt_RSA(); $rsa->signatureMode = CRYPT_RSA_SIGNATURE_PKCS1; $rsa->setHash('sha256'); - $rsa->modulus = new Math_BigInteger(base64_url_decode($mod), 256); + $rsa->modulus = new Math_BigInteger(Magicsig::base64_url_decode($mod), 256); $rsa->k = strlen($rsa->modulus->toBytes()); - $rsa->exponent = new Math_BigInteger(base64_url_decode($exp), 256); + $rsa->exponent = new Math_BigInteger(Magicsig::base64_url_decode($exp), 256); if ($type == 'private') { $this->privateKey = $rsa; @@ -203,23 +203,25 @@ class Magicsig extends Memcached_DataObject public function sign($bytes) { $sig = $this->privateKey->sign($bytes); - return base64_url_encode($sig); + return Magicsig::base64_url_encode($sig); } public function verify($signed_bytes, $signature) { - $signature = base64_url_decode($signature); + $signature = Magicsig::base64_url_decode($signature); return $this->publicKey->verify($signed_bytes, $signature); } - -} -function base64_url_encode($input) -{ - return strtr(base64_encode($input), '+/', '-_'); -} -function base64_url_decode($input) -{ - return base64_decode(strtr($input, '-_', '+/')); + public static function base64_url_encode($input) + { + return strtr(base64_encode($input), '+/', '-_'); + } + + public static function base64_url_decode($input) + { + return base64_decode(strtr($input, '-_', '+/')); + } } + + diff --git a/plugins/OStatus/lib/magicenvelope.php b/plugins/OStatus/lib/magicenvelope.php index 799b5e307..f39686b71 100644 --- a/plugins/OStatus/lib/magicenvelope.php +++ b/plugins/OStatus/lib/magicenvelope.php @@ -83,7 +83,7 @@ class MagicEnvelope public function signMessage($text, $mimetype, $keypair) { $signature_alg = Magicsig::fromString($keypair); - $armored_text = base64_url_encode($text); + $armored_text = Magicsig::base64_url_encode($text); return array( 'data' => $armored_text, @@ -121,7 +121,7 @@ class MagicEnvelope public function unfold($env) { $dom = new DOMDocument(); - $dom->loadXML(base64_url_decode($env['data'])); + $dom->loadXML(Magicsig::base64_url_decode($env['data'])); if ($dom->documentElement->tagName != 'entry') { return false; @@ -178,7 +178,7 @@ class MagicEnvelope return false; } - $text = base64_url_decode($env['data']); + $text = Magicsig::base64_url_decode($env['data']); $signer_uri = $this->getAuthor($text); try { -- cgit v1.2.3-54-g00ecf