I just recently had two issues with the Twitter plugin regarding
1) tweetbacks: Twitter is searched but not correctly if the full article url is longer than 140 chars (this limitation does not matter for urls in the search function)
2) Double entries are created when using the internal url shortener so it is better to use the lookup function instead of create
Ergo, I wrote a patch and it would be cool if someone could check it and check it in.
Code: Select all
diff -urN old_serendipity_plugin_twitter/classes/UrlShortener.php new_serendipity_plugin_twitter/classes/UrlShortener.php
--- old_serendipity_plugin_twitter/classes/UrlShortener.php 2011-05-04 15:55:02.000000000 +0200
+++ new_serendipity_plugin_twitter/classes/UrlShortener.php 2011-06-01 17:34:00.000000000 +0200
@@ -27,13 +27,10 @@
if (is_array($res) && !empty($res['value'])) {
$lt_domain = trim($res['value']);
}
- if (empty($lt_domain)) $lt_domain = $serendipity['baseURL'];
- if (empty($lt_prefix)) $lt_prefix = '/s/';
-
if ($lt_domain == $serendipity['baseURL']) {
- $shorturls['linktrimmer'] = $lt_domain . $lt_prefix .trim(serendipity_event_linktrimmer::create($url));
+ $shorturls['linktrimmer'] = $lt_domain. $lt_prefix .trim(serendipity_event_linktrimmer::lookup($url));
} else {
- $shorturls['linktrimmer'] = $lt_domain . trim(serendipity_event_linktrimmer::create($url));
+ $shorturls['linktrimmer'] = $lt_domain . trim(serendipity_event_linktrimmer::lookup($url));
}
}
break;
@@ -42,6 +39,9 @@
$shorturls['raw'] = $url;
}
break;
+ case 'reallyraw';
+ $shorturls['reallyraw'] = $url;
+ break;
case 'tinyurl';
UrlShortener::shorten_via_tinyurl( $url, $shorturls );
break;
diff -urN old_serendipity_plugin_twitter/serendipity_event_twitter.php new_serendipity_plugin_twitter/serendipity_event_twitter.php
--- old_serendipity_plugin_twitter/serendipity_event_twitter.php 2011-05-02 13:48:20.000000000 +0200
+++ new_serendipity_plugin_twitter/serendipity_event_twitter.php 2011-06-01 17:39:00.000000000 +0200
@@ -1414,7 +1414,6 @@
$title = $entry['title'];
$tags_marker = '#tags#';
$announce_format_notags = trim(str_replace($tags_marker,'',$announce_format));
-
// Check for tags:
$tagsnotused = array();
if (serendipity_db_bool($this->get_config('announce_with_tags',false)) && !empty($serendipity['POST']['properties']) && !(empty($serendipity['POST']['properties']['freetag_tagList']) && empty($serendipity['POST']['properties']['microblogging_tagList'])) && strlen($announce_format_notags)<140) {
@@ -1685,7 +1684,7 @@
}
// Always look up 'raw'
- UrlShortener::put_shorturl('raw', $article_url, $shorturls);
+ UrlShortener::put_shorturl('reallyraw', $article_url, $shorturls);
TwitterPluginDbAccess::save_short_urls( $article_url, $shorturls, $loaded_shorturls );
return $shorturls;