X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=plugins%2Fpubsubhubbub%2Fpubsubhubbub.php;h=8fe6799ce6d00933445a9b7b7f1652dc13387af8;hb=refs%2Fpull%2F1526%2Fhead;hp=03b6757bd3687f9f46c2402c72beb6f8641392bb;hpb=fc11ab2f290a3712b766d78fdbcd354625a35d0a;p=github%2Fshaarli%2FShaarli.git diff --git a/plugins/pubsubhubbub/pubsubhubbub.php b/plugins/pubsubhubbub/pubsubhubbub.php index 03b6757b..8fe6799c 100644 --- a/plugins/pubsubhubbub/pubsubhubbub.php +++ b/plugins/pubsubhubbub/pubsubhubbub.php @@ -6,10 +6,14 @@ * PubSub is a protocol which fasten up RSS fetching: * - Every time a new link is posted, Shaarli notify the hub. * - The hub notify all feed subscribers that a new link has been posted. - * - Subscribers retrieve the new link. + * - Subscribers retrieve the new link. */ use pubsubhubbub\publisher\Publisher; +use Shaarli\Config\ConfigManager; +use Shaarli\Feed\FeedBuilder; +use Shaarli\Plugin\PluginManager; +use Shaarli\Render\TemplatePage; /** * Plugin init function - set the hub to the default appspot one. @@ -37,7 +41,7 @@ function pubsubhubbub_init($conf) */ function hook_pubsubhubbub_render_feed($data, $conf) { - $feedType = $data['_PAGE_'] == Router::$PAGE_FEED_RSS ? FeedBuilder::$FEED_RSS : FeedBuilder::$FEED_ATOM; + $feedType = $data['_PAGE_'] == TemplatePage::FEED_RSS ? FeedBuilder::$FEED_RSS : FeedBuilder::$FEED_ATOM; $template = file_get_contents(PluginManager::$PLUGINS_PATH . '/pubsubhubbub/hub.'. $feedType .'.xml'); $data['feed_plugins_header'][] = sprintf($template, $conf->get('plugins.PUBSUBHUB_URL')); @@ -56,8 +60,8 @@ function hook_pubsubhubbub_render_feed($data, $conf) function hook_pubsubhubbub_save_link($data, $conf) { $feeds = array( - index_url($_SERVER) .'?do=atom', - index_url($_SERVER) .'?do=rss', + index_url($_SERVER) .'feed/atom', + index_url($_SERVER) .'feed/rss', ); $httpPost = function_exists('curl_version') ? false : 'nocurl_http_post'; @@ -65,7 +69,7 @@ function hook_pubsubhubbub_save_link($data, $conf) $p = new Publisher($conf->get('plugins.PUBSUBHUB_URL')); $p->publish_update($feeds, $httpPost); } catch (Exception $e) { - error_log('Could not publish to PubSubHubbub: ' . $e->getMessage()); + error_log(sprintf(t('Could not publish to PubSubHubbub: %s'), $e->getMessage())); } return $data; @@ -81,7 +85,8 @@ function hook_pubsubhubbub_save_link($data, $conf) * * @throws Exception An error occurred. */ -function nocurl_http_post($url, $postString) { +function nocurl_http_post($url, $postString) +{ $params = array('http' => array( 'method' => 'POST', 'content' => $postString, @@ -91,11 +96,20 @@ function nocurl_http_post($url, $postString) { $context = stream_context_create($params); $fp = @fopen($url, 'rb', false, $context); if (!$fp) { - throw new Exception('Could not post to '. $url); + throw new Exception(sprintf(t('Could not post to %s'), $url)); } $response = @stream_get_contents($fp); if ($response === false) { - throw new Exception('Bad response from the hub '. $url); + throw new Exception(sprintf(t('Bad response from the hub %s'), $url)); } return $response; } + +/** + * This function is never called, but contains translation calls for GNU gettext extraction. + */ +function pubsubhubbub_dummy_translation() +{ + // meta + t('Enable PubSubHubbub feed publishing.'); +}