Skip to content
Snippets Groups Projects
Commit 8e7f35bf authored by lucha's avatar lucha
Browse files

[auto] Plugin: pubsubhubbub 1.7.2

parent 7f89eb38
No related branches found
No related tags found
No related merge requests found
# Copyright (C) 2015 Josh Fraser, Matthias Pfefferle
# This file is distributed under the same license as the PubSubHubbub package.
msgid ""
msgstr ""
"Project-Id-Version: PubSubHubbub 1.7.2\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/pubsubhubbub\n"
"POT-Creation-Date: 2015-11-03 10:40:52+00:00\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"PO-Revision-Date: 2015-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"X-Generator: grunt-wp-i18n 0.5.3\n"
#: pubsubhubbub.php:198
msgid "Define custom hubs"
msgstr ""
#: pubsubhubbub.php:214
msgid "Hubs (one per line)"
msgstr ""
#: pubsubhubbub.php:223
msgid "Thanks for using PubSubHubbub!"
msgstr ""
#: pubsubhubbub.php:225
msgid ""
"Visit these links to learn more about PubSubHubbub and the author of this "
"plugin:"
msgstr ""
#: pubsubhubbub.php:227
msgid "Subscribe to %s or %s (german)"
msgstr ""
#: pubsubhubbub.php:228
msgid "Follow %s or %s on twitter"
msgstr ""
#: pubsubhubbub.php:229
msgid "Learn more about the PubSubHubbub protocol"
msgstr ""
#: pubsubhubbub.php:240
msgid "Settings"
msgstr ""
#. Plugin Name of the plugin/theme
msgid "PubSubHubbub"
msgstr ""
#. Plugin URI of the plugin/theme
msgid "https://github.com/pubsubhubbub/"
msgstr ""
#. Description of the plugin/theme
msgid "A better way to tell the world when your blog is updated."
msgstr ""
#. Author of the plugin/theme
msgid "Josh Fraser, Matthias Pfefferle"
msgstr ""
#. Author URI of the plugin/theme
msgid "https://wordpress.org/plugins/pubsubhubbub/"
msgstr ""
\ No newline at end of file
...@@ -18,19 +18,22 @@ class PshbPublisher { ...@@ -18,19 +18,22 @@ class PshbPublisher {
// create a new Publisher // create a new Publisher
public function __construct($hub_url) { public function __construct($hub_url) {
if (!isset($hub_url)) if ( ! isset( $hub_url ) ) {
throw new Exception( 'Please specify a hub url' ); throw new Exception( 'Please specify a hub url' );
}
if (!preg_match("|^https?://|i",$hub_url)) if ( ! preg_match( '|^https?://|i', $hub_url ) ) {
throw new Exception( 'The specified hub url does not appear to be valid: ' . $hub_url ); throw new Exception( 'The specified hub url does not appear to be valid: ' . $hub_url );
}
$this->hub_url = $hub_url; $this->hub_url = $hub_url;
} }
// accepts either a single url or an array of urls // accepts either a single url or an array of urls
public function publish_update( $topic_urls, $http_function = false ) { public function publish_update( $topic_urls, $http_function = false ) {
if (!isset($topic_urls)) if ( ! isset( $topic_urls ) ) {
throw new Exception( 'Please specify a topic url' ); throw new Exception( 'Please specify a topic url' );
}
// check that we're working with an array // check that we're working with an array
if ( ! is_array( $topic_urls ) ) { if ( ! is_array( $topic_urls ) ) {
...@@ -38,24 +41,26 @@ class PshbPublisher { ...@@ -38,24 +41,26 @@ class PshbPublisher {
} }
// set the mode to publish // set the mode to publish
$post_string = "hub.mode=publish"; $post_string = 'hub.mode=publish';
// loop through each topic url // loop through each topic url
foreach ( $topic_urls as $topic_url ) { foreach ( $topic_urls as $topic_url ) {
// lightweight check that we're actually working w/ a valid url // lightweight check that we're actually working w/ a valid url
if (!preg_match("|^https?://|i",$topic_url)) if ( ! preg_match( '|^https?://|i', $topic_url ) ) {
throw new Exception( 'The specified topic url does not appear to be valid: ' . $topic_url ); throw new Exception( 'The specified topic url does not appear to be valid: ' . $topic_url );
}
// append the topic url parameters // append the topic url parameters
$post_string .= "&hub.url=".urlencode($topic_url); $post_string .= '&hub.url=' . urlencode( $topic_url );
} }
// make the http post request and return true/false // make the http post request and return true/false
// easy to over-write to use your own http function // easy to over-write to use your own http function
if ($http_function) if ( $http_function ) {
return $http_function( $this->hub_url, $post_string ); return $http_function( $this->hub_url, $post_string );
else } else {
return $this->http_post( $this->hub_url, $post_string ); return $this->http_post( $this->hub_url, $post_string );
} }
}
// returns any error message from the latest request // returns any error message from the latest request
public function last_response() { public function last_response() {
...@@ -65,11 +70,13 @@ class PshbPublisher { ...@@ -65,11 +70,13 @@ class PshbPublisher {
// default http function that uses curl to post to the hub endpoint // default http function that uses curl to post to the hub endpoint
private function http_post( $url, $post_string ) { private function http_post( $url, $post_string ) {
// add any additional curl options here // add any additional curl options here
$options = array(CURLOPT_URL => $url, $options = array(
CURLOPT_URL => $url,
CURLOPT_POST => true, CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $post_string, CURLOPT_POSTFIELDS => $post_string,
CURLOPT_RETURNTRANSFER => true, CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERAGENT => "PubSubHubbub-Publisher-PHP/1.0"); CURLOPT_USERAGENT => 'PubSubHubbub-Publisher-PHP/1.0',
);
$ch = curl_init(); $ch = curl_init();
curl_setopt_array( $ch, $options ); curl_setopt_array( $ch, $options );
...@@ -81,10 +88,10 @@ class PshbPublisher { ...@@ -81,10 +88,10 @@ class PshbPublisher {
curl_close( $ch ); curl_close( $ch );
// all good // all good
if ($info['http_code'] == 204) if ( 204 == $info['http_code'] ) {
return true; return true;
}
return false; return false;
} }
} }
?>
<?php <?php
/* /**
Plugin Name: PubSubHubbub * Plugin Name: PubSubHubbub
Plugin URI: http://code.google.com/p/pubsubhubbub/ * Plugin URI: https://github.com/pubsubhubbub/
Description: A better way to tell the world when your blog is updated. * Description: A better way to tell the world when your blog is updated.
Version: 1.6.5 * Version: 1.7.2
Author: Josh Fraser, Matthias Pfefferle * Author: Josh Fraser, Matthias Pfefferle
Author Email: joshfraz@gmail.com * Author Email: joshfraz@gmail.com
Author URI: http://wordpress.org/extend/plugins/pubsubhubbub/ * Author URI: https://wordpress.org/plugins/pubsubhubbub/
* Domain Path: /languages
*/ */
include("publisher.php"); include( 'publisher.php' );
// the ability for other plugins to hook into the PuSH code based on a /**
// fix by Stephen Paul Weber (http://singpolyma.net) * the ability for other plugins to hook into the PuSH code
*
* @param array $feed_urls a list of feed urls you want to publish
*/
function pshb_publish_to_hub( $feed_urls ) { function pshb_publish_to_hub( $feed_urls ) {
// remove dups (ie. they all point to feedburner) // remove dups (ie. they all point to feedburner)
$feed_urls = array_unique( $feed_urls ); $feed_urls = array_unique( $feed_urls );
...@@ -28,29 +32,43 @@ function pshb_publish_to_hub($feed_urls) { ...@@ -28,29 +32,43 @@ function pshb_publish_to_hub($feed_urls) {
} }
} }
// function that is called whenever a new post is published /**
* function that is called whenever a new post is published
*
* @param int $post_id the post-id
* @return int the post-id
*/
function pshb_publish_post( $post_id ) { function pshb_publish_post( $post_id ) {
// customize default feeds // get default feeds
$feed_urls = pshb_get_feed_urls(); $feed_urls = pshb_get_feed_urls();
// publish them
pshb_publish_to_hub( $feed_urls ); pshb_publish_to_hub( $feed_urls );
return $post_id; return $post_id;
} }
add_action( 'publish_post', 'pshb_publish_post' ); add_action( 'publish_post', 'pshb_publish_post' );
// function that is called whenever a new comment is published /**
* function that is called whenever a new comment is published
*
* @param int $comment_id the comment-id
* @return int the comment-id
*/
function pshb_publish_comment( $comment_id ) { function pshb_publish_comment( $comment_id ) {
// customize default feeds // get default comment-feeds
$feed_urls = pshb_get_comment_feed_urls(); $feed_urls = pshb_get_comment_feed_urls();
// publish them
pshb_publish_to_hub( $feed_urls ); pshb_publish_to_hub( $feed_urls );
return $comment_id; return $comment_id;
} }
add_action( 'comment_post', 'pshb_publish_comment' ); add_action( 'comment_post', 'pshb_publish_comment' );
// to our atom feed /**
* add hub-<link> to the atom feed
*/
function pshb_add_atom_link_tag() { function pshb_add_atom_link_tag() {
$hub_urls = pshb_get_pubsub_endpoints(); $hub_urls = pshb_get_pubsub_endpoints();
foreach ( $hub_urls as $hub_url ) { foreach ( $hub_urls as $hub_url ) {
...@@ -59,8 +77,10 @@ function pshb_add_atom_link_tag() { ...@@ -59,8 +77,10 @@ function pshb_add_atom_link_tag() {
} }
add_action( 'atom_head', 'pshb_add_atom_link_tag' ); add_action( 'atom_head', 'pshb_add_atom_link_tag' );
add_action( 'comments_atom_head', 'pshb_add_atom_link_tag' ); add_action( 'comments_atom_head', 'pshb_add_atom_link_tag' );
//add_action('wp_head', 'pshb_add_atom_link_tag');
/**
* add hub-<link> to the rss/rdf feed
*/
function pshb_add_rss_link_tag() { function pshb_add_rss_link_tag() {
$hub_urls = pshb_get_pubsub_endpoints(); $hub_urls = pshb_get_pubsub_endpoints();
foreach ( $hub_urls as $hub_url ) { foreach ( $hub_urls as $hub_url ) {
...@@ -72,20 +92,27 @@ add_action('rdf_header', 'pshb_add_rss_link_tag'); ...@@ -72,20 +92,27 @@ add_action('rdf_header', 'pshb_add_rss_link_tag');
add_action( 'rss2_head', 'pshb_add_rss_link_tag' ); add_action( 'rss2_head', 'pshb_add_rss_link_tag' );
add_action( 'commentsrss2_head', 'pshb_add_rss_link_tag' ); add_action( 'commentsrss2_head', 'pshb_add_rss_link_tag' );
/**
* add atom namespace to rdf-feed
*/
function pshb_add_rdf_ns_link() { function pshb_add_rdf_ns_link() {
echo 'xmlns:atom="http://www.w3.org/2005/Atom"'; echo ' xmlns:atom="http://www.w3.org/2005/Atom" ' . PHP_EOL;
} }
add_action( 'rdf_ns', 'pshb_add_rdf_ns_link' ); add_action( 'rdf_ns', 'pshb_add_rdf_ns_link' );
// hack to add the atom definition to the RSS feed /**
// start capturing the feed output. this is run at priority 9 (before output) * hack to add the atom definition to the RSS feed
* start capturing the feed output. this is run at priority 9 (before output)
*/
function pshb_start_rss_link_tag() { function pshb_start_rss_link_tag() {
ob_start(); ob_start();
} }
add_action( 'do_feed_rss', 'pshb_start_rss_link_tag', 9 ); // run before output add_action( 'do_feed_rss', 'pshb_start_rss_link_tag', 9 ); // run before output
// this is run at priority 11 (after output) /**
// add in the xmlns atom definition link * this is run at priority 11 (after output)
* add in the xmlns atom definition link
*/
function pshb_end_rss_link_tag() { function pshb_end_rss_link_tag() {
$feed = ob_get_clean(); $feed = ob_get_clean();
$pattern = '/<rss version="(.+)">/i'; $pattern = '/<rss version="(.+)">/i';
...@@ -95,37 +122,47 @@ function pshb_end_rss_link_tag() { ...@@ -95,37 +122,47 @@ function pshb_end_rss_link_tag() {
} }
add_action( 'do_feed_rss', 'pshb_end_rss_link_tag', 11 ); // run after output add_action( 'do_feed_rss', 'pshb_end_rss_link_tag', 11 ); // run after output
// add a link to our settings page in the WP menu /**
* add a link to our settings page in the WP menu
*/
function pshb_add_plugin_menu() { function pshb_add_plugin_menu() {
add_options_page( 'PubSubHubbub Settings', 'PubSubHubbub', 'administrator', 'pubsubhubbub', 'pshb_add_settings_page' ); add_options_page( 'PubSubHubbub Settings', 'PubSubHubbub', 'administrator', 'pubsubhubbub', 'pshb_add_settings_page' );
} }
add_action( 'admin_menu', 'pshb_add_plugin_menu' ); add_action( 'admin_menu', 'pshb_add_plugin_menu' );
// get the endpoints from the wordpress options table /**
// valid parameters are "publish" or "subscribe" * get the endpoints from the wordpress options table
* valid parameters are "publish" or "subscribe"
*
* @uses apply_filters() Calls 'pshb_hub_urls' filter
*/
function pshb_get_pubsub_endpoints() { function pshb_get_pubsub_endpoints() {
$endpoints = get_option( 'pubsub_endpoints' ); $endpoints = get_option( 'pubsub_endpoints' );
$hub_urls = explode("\n",$endpoints); $hub_urls = explode( PHP_EOL, $endpoints );
// if no values have been set, revert to the defaults (pubsubhubbub on app engine & superfeedr) // if no values have been set, revert to the defaults (pubsubhubbub on app engine & superfeedr)
if ( ! $endpoints ) { if ( ! $endpoints ) {
$hub_urls[] = "http://pubsubhubbub.appspot.com"; $hub_urls[] = 'https://pubsubhubbub.appspot.com';
$hub_urls[] = "http://pubsubhubbub.superfeedr.com"; $hub_urls[] = 'https://pubsubhubbub.superfeedr.com';
} }
// clean out any blank values // clean out any blank values
foreach ( $hub_urls as $key => $value ) { foreach ( $hub_urls as $key => $value ) {
if (is_null($value) || $value=="") { if ( is_null( $value ) || '' == $value ) {
unset( $hub_urls[ $key ] ); unset( $hub_urls[ $key ] );
} else { } else {
$hub_urls[ $key ] = trim( $hub_urls[ $key ] ); $hub_urls[ $key ] = trim( $hub_urls[ $key ] );
} }
} }
return $hub_urls; return apply_filters( 'pshb_hub_urls', $hub_urls );
} }
// helper function to get feed urls /**
* helper function to get feed urls
*
* @uses apply_filters() Calls 'pshb_feed_urls' filter
*/
function pshb_get_feed_urls() { function pshb_get_feed_urls() {
// we want to notify the hub for every feed // we want to notify the hub for every feed
$feed_urls = array(); $feed_urls = array();
...@@ -137,7 +174,11 @@ function pshb_get_feed_urls() { ...@@ -137,7 +174,11 @@ function pshb_get_feed_urls() {
return apply_filters( 'pshb_feed_urls', $feed_urls ); return apply_filters( 'pshb_feed_urls', $feed_urls );
} }
// helper function to get comment-feed urls /**
* helper function to get comment-feed urls
*
* @uses apply_filters() Calls 'pshb_comment_feed_urls' filter
*/
function pshb_get_comment_feed_urls() { function pshb_get_comment_feed_urls() {
// we want to notify the hub for every feed // we want to notify the hub for every feed
$feed_urls = array(); $feed_urls = array();
...@@ -147,58 +188,55 @@ function pshb_get_comment_feed_urls() { ...@@ -147,58 +188,55 @@ function pshb_get_comment_feed_urls() {
return apply_filters( 'pshb_comment_feed_urls', $feed_urls ); return apply_filters( 'pshb_comment_feed_urls', $feed_urls );
} }
// write the content for our settings page that allows you to define your endpoints /**
function pshb_add_settings_page() { ?> * write the content for our settings page that allows you to
* define your endpoints
*/
function pshb_add_settings_page() {
?>
<div class="wrap"> <div class="wrap">
<h2>Define custom hubs</h2> <h2><?php _e( 'Define custom hubs', 'pubsubhubbub' ); ?></h2>
<form method="post" action="options.php"> <form method="post" action="options.php">
<?php //wp_nonce_field('update-options'); ?> <?php //wp_nonce_field('update-options'); ?>
<!-- starting --> <!-- starting -->
<?php settings_fields('my_settings_group'); ?> <?php settings_fields( 'pubsubhubbub_options' ); ?>
<?php do_settings_sections('my_settings_section'); ?> <?php do_settings_sections( 'pubsubhubbub_options' ); ?>
<!-- ending --> <!-- ending -->
<?php <?php
// load the existing pubsub endpoint list from the wordpress options table // load the existing pubsub endpoint list from the wordpress options table
$pubsub_endpoints = trim(implode("\n",pshb_get_pubsub_endpoints()),"\n"); $pubsub_endpoints = trim( implode( PHP_EOL, pshb_get_pubsub_endpoints() ), PHP_EOL );
?> ?>
<table class="form-table"> <table class="form-table">
<tr valign="top"> <tr valign="top">
<th scope="row">Hubs (one per line)</th> <th scope="row"><?php _e( 'Hubs (one per line)', 'pubsubhubbub' ); ?></th>
<td><textarea name="pubsub_endpoints" style='width:600px;height:100px'><?php echo $pubsub_endpoints; ?></textarea></td> <td><textarea name="pubsub_endpoints" rows="10" cols="50" class="large-text"><?php echo $pubsub_endpoints; ?></textarea></td>
</tr> </tr>
</table> </table>
<input type="hidden" name="action" value="update" /> <?php submit_button(); ?>
<input type="hidden" name="page_options" value="pubsub_endpoints" />
<p class="submit">
<input type="submit" class="button-primary" value="<?php _e('Save Changes') ?>" />
</p>
</form> </form>
<br /><br /> <p><strong><?php _e( 'Thanks for using PubSubHubbub!', 'pubsubhubbub' ); ?></strong></p>
<div style='background-color:#FFFEEB;border:1px solid #CCCCCC;padding:12px'>
<strong>Thanks for using PubSubHubbub!</strong><br /> <p><?php _e( 'Visit these links to learn more about PubSubHubbub and the author of this plugin:', 'pubsubhubbub' ); ?></p>
Visit these links to learn more about PubSubHubbub and the author of this plugin:<br />
<ul> <ul>
<li><a href='http://www.onlineaspect.com'>Subscribe to Online Aspect</a></li> <li><?php printf( __( 'Subscribe to %s or %s (german)' ), '<a href="http://www.onlineaspect.com">Online Aspect</a>', '<a href="http://notizblog.org/">notizBlog</a>' ) ?></li>
<li><a href='http://www.twitter.com/joshfraser'>Follow Josh Fraser on twitter</a></li> <li><?php printf( __( 'Follow %s or %s on twitter' ), '<a href="http://twitter.com/joshfraser">Josh Fraser</a>', '<a href="http://twitter.com/pfefferle">Matthias Pfefferle</a>' ) ?></li>
<li><a href='http://code.google.com/p/pubsubhubbub/'>Learn more about the PubSubHubbub protocol</a></li> <li><a href="http://code.google.com/p/pubsubhubbub/"><?php _e( 'Learn more about the PubSubHubbub protocol', 'pubsubhubbub' ); ?></a></li>
</ul> </ul>
</div> </div>
</div>
<?php } <?php }
// add a settings link next to deactive / edit /**
* add a settings link next to deactive / edit
*/
function pshb_add_settings_link( $links, $file ) { function pshb_add_settings_link( $links, $file ) {
if( $file == 'pubsubhubbub/pubsubhubbub.php' && function_exists( "admin_url" ) ) { if ( 'pubsubhubbub/pubsubhubbub.php' == $file && function_exists( 'admin_url' ) ) {
$settings_link = '<a href="' . admin_url( 'options-general.php?page=pubsubhubbub' ) . '">' . __( 'Settings' ) . '</a>'; $settings_link = '<a href="' . admin_url( 'options-general.php?page=pubsubhubbub' ) . '">' . __( 'Settings' ) . '</a>';
array_unshift( $links, $settings_link ); // before other links array_unshift( $links, $settings_link ); // before other links
} }
...@@ -206,7 +244,12 @@ function pshb_add_settings_link( $links, $file ) { ...@@ -206,7 +244,12 @@ function pshb_add_settings_link( $links, $file ) {
} }
add_filter( 'plugin_action_links', 'pshb_add_settings_link', 10, 2 ); add_filter( 'plugin_action_links', 'pshb_add_settings_link', 10, 2 );
// adds some query vars /**
* adds some query vars
*
* @param array $vars a list of query-vars
* @return array the list with the added PuSH params
*/
function pshb_query_var($vars) { function pshb_query_var($vars) {
$vars[] = 'hub_mode'; $vars[] = 'hub_mode';
$vars[] = 'hub_challenge'; $vars[] = 'hub_challenge';
...@@ -217,35 +260,51 @@ function pshb_query_var($vars) { ...@@ -217,35 +260,51 @@ function pshb_query_var($vars) {
} }
add_filter( 'query_vars', 'pshb_query_var' ); add_filter( 'query_vars', 'pshb_query_var' );
// adds link headers as defined in the curren v0.4 draft /**
// https://github.com/pubsubhubbub/PubSubHubbub/issues/2 * adds link headers as defined in the current v0.4 draft
*
* @link https://github.com/pubsubhubbub/PubSubHubbub/issues/2
*/
function pshb_template_redirect() { function pshb_template_redirect() {
global $wp; // get all feeds
$feed_urls = pshb_get_feed_urls(); $feed_urls = pshb_get_feed_urls();
$comment_feed_urls = pshb_get_comment_feed_urls(); $comment_feed_urls = pshb_get_comment_feed_urls();
// get current url
$urls = array_unique( array_merge( $feed_urls, $comment_feed_urls ) ); $urls = array_unique( array_merge( $feed_urls, $comment_feed_urls ) );
$current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; $current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
// check if current url is one of the feed urls
if ( in_array( $current_url, $urls ) ) { if ( in_array( $current_url, $urls ) ) {
$hub_urls = pshb_get_pubsub_endpoints(); $hub_urls = pshb_get_pubsub_endpoints();
// add all "hub" headers
foreach ( $hub_urls as $hub_url ) { foreach ( $hub_urls as $hub_url ) {
header( 'Link: <'.$hub_url.'>; rel="hub"', false ); header( 'Link: <'.$hub_url.'>; rel="hub"', false );
} }
// add the "self" header
header( 'Link: <'.$current_url.'>; rel="self"', false ); header( 'Link: <'.$current_url.'>; rel="self"', false );
} }
} }
add_action( 'template_redirect', 'pshb_template_redirect' ); add_action( 'template_redirect', 'pshb_template_redirect' );
// keep WPMU happy /**
function pshb_register_my_settings() { * keep WPMU happy
register_setting('my_settings_group','pubsub_endpoints'); */
function pshb_register_settings() {
register_setting( 'pubsubhubbub_options','pubsub_endpoints' );
}
add_action( 'admin_init', 'pshb_register_settings' );
// Load the plugin textdomain.
function pshb_load_textdomain() {
load_plugin_textdomain( 'pubsubhubbub', false, basename( dirname( plugin_dir_path( __FILE__ ) ) ) . '/languages' );
} }
add_action('admin_init', 'pshb_register_my_settings'); add_action( 'init', 'pshb_load_textdomain' );
/** /**
* beeing backwards compatible * beeing backwards compatible
* based on a fix by Stephen Paul Weber (http://singpolyma.net)
*
* @deprecated * @deprecated
*/ */
function publish_to_hub( $deprecated = null, $feed_urls ) { function publish_to_hub( $deprecated = null, $feed_urls ) {
......
=== Plugin Name === === PubSubHubbub ===
Contributors: joshfraz, pfefferle Contributors: joshfraz, pfefferle
Tags: pubsubhubbub Tags: pubsubhubbub, webhooks, pubsub
Requires at least: 2.5 Requires at least: 2.5
Tested up to: 3.6.1 Tested up to: 4.3.1
Stable tag: 1.6.5 Stable tag: 1.7.2
A better way to tell the world when your blog is updated. A better way to tell the world when your blog is updated.
== Description == == Description ==
This [PubSubHubbub](http://code.google.com/p/pubsubhubbub/ "PubSubHubbub") plugin is a simple way to let people know in real-time when your blog is updated. PubSubHubbub is widely adopted and is used by Google Reader, Google Alerts and many other services. This [PubSubHubbub](https://github.com/pubsubhubbub/ "PubSubHubbub") plugin is a simple way to let people know in real-time when your blog is updated. PubSubHubbub is widely adopted and is used by Google Reader, Google Alerts and many other services.
This plugin: This plugin:
...@@ -17,14 +17,14 @@ This plugin: ...@@ -17,14 +17,14 @@ This plugin:
* Supports multi-user installations (Wordpress MU) * Supports multi-user installations (Wordpress MU)
* Supports multiple hubs * Supports multiple hubs
* Supports all of the feed formats used by WordPress, not just ATOM and RSS2 * Supports all of the feed formats used by WordPress, not just ATOM and RSS2
* Supports latest spec ([Version 0.4](https://pubsubhubbub.googlecode.com/git/pubsubhubbub-core-0.4.html)) * Supports latest spec ([Version 0.4](https://pubsubhubbub.github.io/PubSubHubbub/pubsubhubbub-core-0.4.html))
* Announces which hubs you are using by adding `<link rel="hub" ...>` declarations to your template header and ATOM feed * Announces which hubs you are using by adding `<link rel="hub" ...>` declarations to your template header and ATOM feed
* Adds `<atom:link rel="hub" ...>` to your RSS feeds along with the necessary XMLNS declaration for RSS 0.92/1.0 * Adds `<atom:link rel="hub" ...>` to your RSS feeds along with the necessary XMLNS declaration for RSS 0.92/1.0
By default this plugin will ping the following hubs: By default this plugin will ping the following hubs:
* [Demo hub on Google App Engine](http://pubsubhubbub.appspot.com "Demo hub on Google App Engine") * [Demo hub on Google App Engine](https://pubsubhubbub.appspot.com "Demo hub on Google App Engine")
* [SuperFeedr](http://pubsubhubbub.superfeedr.com "SuperFeedr") * [SuperFeedr](https://pubsubhubbub.superfeedr.com "SuperFeedr")
Please contact me if you operate a hub that you would like to be included as a default option. Please contact me if you operate a hub that you would like to be included as a default option.
...@@ -38,7 +38,7 @@ Please contact me if you operate a hub that you would like to be included as a d ...@@ -38,7 +38,7 @@ Please contact me if you operate a hub that you would like to be included as a d
= Where can I learn more about the PubSubHubbub protocol? = = Where can I learn more about the PubSubHubbub protocol? =
You can visit [PubSubHubbb on Google Code](http://code.google.com/p/pubsubhubbub/ "PubSubHubbb on Google Code") You can visit [PubSubHubbub on Github](https://github.com/pubsubhubbub/ "PubSubHubbub on Github")
= Where can I learn more about the authors of this plugin? = = Where can I learn more about the authors of this plugin? =
...@@ -51,6 +51,23 @@ and [Matthias Pfefferle](http://pfefferle.org "Matthias Pfefferle") at [Notizblo ...@@ -51,6 +51,23 @@ and [Matthias Pfefferle](http://pfefferle.org "Matthias Pfefferle") at [Notizblo
== Changelog == == Changelog ==
Project maintined on github at [pubsubhubbub/wordpress-pubsubhubbub](https://github.com/pubsubhubbub/wordpress-pubsubhubbub).
= 1.7.2 =
* updated screenshot
* updated default PubSubHubbub hub URLs to HTTPS from HTTP
* updated some documentation URLs to use HTTPS
* added workaround for invalid screenshot URL generated by grunt-wp-readme-to-markdown
= 1.7.1 =
* fixed some links
* finished language support
= 1.7.0 =
* fixed "plugin name"
* nicer docs
* WordPress coding standard
= 1.6.5 = = 1.6.5 =
* hotfix * hotfix
......
wp-content/plugins/pubsubhubbub/screenshot-1.png

39.6 KiB | W: | H:

wp-content/plugins/pubsubhubbub/screenshot-1.png

53.6 KiB | W: | H:

wp-content/plugins/pubsubhubbub/screenshot-1.png
wp-content/plugins/pubsubhubbub/screenshot-1.png
wp-content/plugins/pubsubhubbub/screenshot-1.png
wp-content/plugins/pubsubhubbub/screenshot-1.png
  • 2-up
  • Swipe
  • Onion skin
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment