diff --git a/classes/Notice.php b/classes/Notice.php index a25991fa32..141ae8fd44 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -1072,6 +1072,7 @@ class Notice extends Memcached_DataObject $reply->notice_id = $this->id; $reply->profile_id = $profile->id; + $reply->modified = $this->created; common_log(LOG_INFO, __METHOD__ . ": saving reply: notice $this->id to profile $profile->id"); @@ -1132,6 +1133,7 @@ class Notice extends Memcached_DataObject $reply->notice_id = $this->id; $reply->profile_id = $mentioned->id; + $reply->modified = $this->created; $id = $reply->insert(); diff --git a/classes/statusnet.ini b/classes/statusnet.ini index ef631e28d3..1916c25139 100644 --- a/classes/statusnet.ini +++ b/classes/statusnet.ini @@ -502,7 +502,8 @@ uri = U [reply] notice_id = 129 profile_id = 129 -modified = 384 +modified = 142 +;modified = 384 ; skipping the mysql_timestamp mode so we can override its setting replied_id = 1 [reply__keys] diff --git a/lib/util.php b/lib/util.php index f734062ece..e5b0c86e06 100644 --- a/lib/util.php +++ b/lib/util.php @@ -925,11 +925,11 @@ function common_linkify($url) { // functions $url = htmlspecialchars_decode($url); - if(strpos($url, '@') !== false && strpos($url, ':') === false) { - //url is an email address without the mailto: protocol - $canon = "mailto:$url"; - $longurl = "mailto:$url"; - }else{ + if (strpos($url, '@') !== false && strpos($url, ':') === false && Validate::email($url)) { + //url is an email address without the mailto: protocol + $canon = "mailto:$url"; + $longurl = "mailto:$url"; + } else { $canon = File_redirection::_canonUrl($url); diff --git a/plugins/TwitterBridge/twitterimport.php b/plugins/TwitterBridge/twitterimport.php index 5ddf5380d7..0eacfcd62c 100644 --- a/plugins/TwitterBridge/twitterimport.php +++ b/plugins/TwitterBridge/twitterimport.php @@ -675,6 +675,7 @@ class TwitterImport $reply = new Reply(); $reply->notice_id = $notice->id; $reply->profile_id = $user->id; + $reply->modified = $notice->created; common_log(LOG_INFO, __METHOD__ . ": saving reply: notice {$notice->id} to profile {$user->id}"); $id = $reply->insert(); } diff --git a/tests/URLDetectionTest.php b/tests/URLDetectionTest.php index eac7ba3f5c..dc017ac616 100644 --- a/tests/URLDetectionTest.php +++ b/tests/URLDetectionTest.php @@ -20,6 +20,8 @@ class URLDetectionTest extends PHPUnit_Framework_TestCase public function testProduction($content, $expected) { $rendered = common_render_text($content); + // hack! + $rendered = preg_replace('/id="attachment-\d+"/', 'id="attachment-XXX"', $rendered); $this->assertEquals($expected, $rendered); } @@ -269,7 +271,13 @@ class URLDetectionTest extends PHPUnit_Framework_TestCase array('file.html', 'file.html'), array('file.php', - 'file.php') + 'file.php'), + + // scheme-less HTTP URLs with @ in the path: http://status.net/open-source/issues/2248 + array('http://flickr.com/photos/34807140@N05/3838905434', + 'http://flickr.com/photos/34807140@N05/3838905434'), + array('flickr.com/photos/34807140@N05/3838905434', + 'flickr.com/photos/34807140@N05/3838905434'), ); } }