activitystrea.ms) syntax to your Atom-Feed
Author: Matthias Pfefferle
Version: 0.8
Author URI: http://notizblog.org
*/
add_action('atom_ns', array('ActivityExtension', 'addActivityNamespace'));
add_action('atom_entry', array('ActivityExtension', 'addActivityObject'));
add_action('atom_author', array('ActivityExtension', 'addActivityAuthor')); // run before output
add_action('comment_atom_ns', array('ActivityExtension', 'addActivityNamespace'));
add_action('comment_atom_entry', array('ActivityExtension', 'addCommentActivityObject'));
add_action('wp_head', array('ActivityExtension', 'addHtmlHeader'), 5);
add_filter('query_vars', array('ActivityExtension', 'queryVars'));
// add 'json' as feed
add_action('do_feed_json', array('ActivityExtension', 'doFeedJson'));
add_action('init', array('ActivityExtension', 'init'));
// push json feed
//add_filter('pshb_feed_urls', array('ActivityExtension', 'publishToHub'));
register_activation_hook(__FILE__, array('ActivityExtension', 'flushRewriteRules'));
register_deactivation_hook(__FILE__, array('ActivityExtension', 'flushRewriteRules'));
/**
* ActivityStream Extension
*
* @author Matthias Pfefferle
*/
class ActivityExtension {
/**
* init function
*/
function init() {
add_feed('json', array('ActivityExtension', 'doFeedJson'));
}
/**
* reset rewrite rules
*/
function flushRewriteRules() {
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
/**
* echos the activitystream namespace
*/
function addActivityNamespace() {
echo 'xmlns:activity="http://activitystrea.ms/spec/1.0/"'." \n";
echo 'xmlns:media="http://purl.org/syndication/atommedia"'." \n";
echo 'xmlns:poco="http://portablecontacts.net/spec/1.0"'." \n";
}
/**
* echos autodiscovery links
*/
function addHtmlHeader() {
echo ''."\n";
echo ''."\n";
}
/**
* echos the activity verb and object for the wordpress entries
*/
function addActivityObject() {
switch (get_post_type()) {
case "aside":
case "status":
case "quote":
case "note":
$post_type = "note";
break;
default:
$post_type = "article";
break;
}
?>
http://activitystrea.ms/schema/1.0/post
http://activitystrea.ms/schema/1.0/
]]>
]]>
http://activitystrea.ms/schema/1.0/post
http://activitystrea.ms/schema/1.0/comment
]]>
http://activitystrea.ms/schema/1.0/article
]]>
]]>
user_email));
$author = "http://activitystrea.ms/schema/1.0/person\n";
$author .= "\n";
$author .= "\n";
$author .= "\n";
$author .= "\n";
$author .= "\n";
$author .= "".$user->user_nicename."\n";
$author .= "".$user->display_name."\n";
if ($description = $user->user_description) {
$author .= "\n";
}
echo $author;
}
}
}