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/ <![CDATA[<?php the_title(); ?>]]> ]]> http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/comment ]]> http://activitystrea.ms/schema/1.0/article <![CDATA[<?php the_title(); ?>]]> ]]> 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; } } }