? identicagroup.png
Index: activitystream_identicagroup/activitystream_identicagroup.info
===================================================================
RCS file: activitystream_identicagroup/activitystream_identicagroup.info
diff -N activitystream_identicagroup/activitystream_identicagroup.info
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ activitystream_identicagroup/activitystream_identicagroup.info	4 Jan 2010 18:23:30 -0000
@@ -0,0 +1,11 @@
+name = Identi.ca Groups
+description = Identi.ca group timeline
+dependencies[] = activitystream
+dependencies[] = activitystream_feed
+package = Activity Stream
+core = 6.x
+
+version = "6.x-1.x-dev"
+core = "6.x"
+project = "activitystream_identicagroup"
+
Index: activitystream_identicagroup/activitystream_identicagroup.module
===================================================================
RCS file: activitystream_identicagroup/activitystream_identicagroup.module
diff -N activitystream_identicagroup/activitystream_identicagroup.module
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ activitystream_identicagroup/activitystream_identicagroup.module	4 Jan 2010 18:23:30 -0000
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * @file
+ * The module file for identi.ca group feed
+ */
+/**
+ * Hook that calls feed module to process the feed 
+ * @param string $user Contains uid, userid, password, feed entered on user's settings page
+ */
+function activitystream_identicagroup_streamapi($user) {
+  // User doesn't have a identi.ca username entered
+  if (!$user->userid) {
+    return;
+  }
+  
+  // Use activitystream_feed module to pull information
+  $user->feed = 'http://identi.ca/group/'. $user->userid .'/rss';
+  $items = activitystream_feed_streamapi($user);
+  return $items;
+}
+/**
+ * Hook for user settings form.
+ * Will be added by activitystream module
+ * @param array $edit Values of the form fields
+ */
+function activitystream_identicagroup_activitystream_settings(&$edit) {
+  $form['activitystream_identicagroup'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Identi.ca group settings')
+  );
+  $form['activitystream_identicagroup']['activitystream_identicagroup_userid'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Group Name'),
+    '#default_value' => empty($edit['activitystream_identicagroup_userid']) ? '' : $edit['activitystream_identicagroup_userid'],
+    '#description' => t('Your Identi.ca group\'s name')
+  );
+  return $form;
+}
+function theme_activitystream_identicagroup_icon() {
+  return theme('image', drupal_get_path('module', 'activitystream_identicagroup') .'/identicagroup.png', 'Identi.ca');
+}
+function theme_activitystream_identicagroup_item($activity) {
+  $node = node_load($activity->nid);
+  $date = theme('activitystream_date', $node->created);
+  $user = activitystream_user_load($node->uid);
+  $name = theme('activitystream_username', $user);
+  return '<span class="activitystream-item">'. theme('activitystream_identicagroup_icon') .' <span>'. $name ." ". l($node->title, $activity->link) .'<span class="activitystream-created">'. $date .'</span></span>'. l('#', 'node/'. $node->nid, array('class' => 'permalink')) .'</span>';
+}
+function activitystream_identicagroup_theme() {
+  return array(
+    'activitystream_identicagroup_icon' => array('arguments' => array()),
+    'activitystream_identicagroup_item' => array('arguments' => array('activity' => NULL))
+    );
+}
+
