array('StatusNet', array('baseurl' => 'http://identi.ca'))
);
- function onEndShowStatusNetStyles($action) {
- $action->cssLink('plugins/ShareNotice/css/sharenotice.css');
+ public function onEndShowStylesheets(Action $action) {
+ $action->cssLink($this->path('css/sharenotice.css'));
return true;
}
protected function statusText()
{
+ // TRANS: %s is notice content that is shared on Twitter, Facebook or another platform.
$pattern = _m('"%s"');
- $url = $this->notice->bestUrl();
+ $url = $this->notice->getUrl();
$suffix = ' ' . $url;
$room = $this->maxLength() - mb_strlen($suffix) - (mb_strlen($pattern) - mb_strlen('%s'));
$content = $this->notice->content;
+ // TRANS: Truncation symbol.
+ $truncation_symbol = _m('…');
+ $truncation_symbol_length = mb_strlen($truncation_symbol);
if (mb_strlen($content) > $room) {
- $content = mb_substr($content, 0, $room - 1) . '…';
+ $content = mb_substr($content, 0, $room - $truncation_symbol_length) . $truncation_symbol;
}
return sprintf($pattern, $content) . $suffix;
public function getText()
{
+ // TRANS: Tooltip for image to share a notice on Twitter.
return _m('Share on Twitter');
}
public function getText()
{
$host = parse_url($this->baseurl, PHP_URL_HOST);
+ // TRANS: Tooltip for image to share a notice on another platform (other than Twitter or Facebook).
+ // TRANS: %s is a host name.
return sprintf(_m('Share on %s'), $host);
}
return $this->baseurl . '/notice/new?' .
http_build_query($args, null, '&');
}
-
}
class FacebookShareTarget extends NoticeShareTarget
public function getText()
{
+ // TRANS: Tooltip for image to share a notice on Facebook.
return _m('Share on Facebook');
}
public function targetUrl()
{
$args = array(
- 'u' => $this->notice->bestUrl(),
+ 'u' => $this->notice->getUrl(),
+ // TRANS: %s is notice content that is shared on Twitter, Facebook or another platform.
't' => sprintf(_m('"%s"'), $this->notice->content),
);
return 'http://www.facebook.com/sharer.php?' .
http_build_query($args, null, '&');
}
-}
\ No newline at end of file
+
+ /**
+ * Provide plugin version information.
+ *
+ * This data is used when showing the version page.
+ *
+ * @param array &$versions array of version data arrays; see EVENTS.txt
+ *
+ * @return boolean hook value
+ */
+ function onPluginVersion(array &$versions)
+ {
+ $url = 'http://status.net/wiki/Plugin:ShareNotice';
+
+ $versions[] = array('name' => 'ShareNotice',
+ 'version' => GNUSOCIAL_VERSION,
+ 'author' => 'Brion Vibber',
+ 'homepage' => $url,
+ 'rawdescription' =>
+ // TRANS: Plugin description.
+ _m('This plugin allows sharing of notices to Twitter, Facebook and other platforms.'));
+
+ return true;
+ }
+}