? proj-namespace-98278-34.patch
? project_165380_21.patch
? project_usage_165380-92.patch
? project_usage_165380-93.patch
? project_usage_165380-95.patch
? project_usage_165380-96.patch
? project_usage_165380-97.patch
? project_usage_165380_22.patch
? release-feeds-94138-6.patch
? simple-f-r-regex.txt
? version
Index: release/project_release.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/project/release/project_release.module,v
retrieving revision 1.66.2.3
diff -u -p -r1.66.2.3 project_release.module
--- release/project_release.module	11 Jun 2008 18:15:00 -0000	1.66.2.3
+++ release/project_release.module	1 Jul 2008 01:28:25 -0000
@@ -1,6 +1,6 @@
 <?php
 // $Id: project_release.module,v 1.66.2.3 2008/06/11 18:15:00 dww Exp $
-// $Name:  $
+// $Name: DRUPAL-5 $
 
 define('PROJECT_RELEASE_DEFAULT_VERSION_FORMAT', '!major%minor%patch#extra');
 define('PROJECT_RELEASE_VERSION_FORMAT_VALID_MSG', t("The version format string can only contain letters, numbers, and the characters . _ and - (in addition to the special characters used for identifying variables: % ! and #)."));
@@ -875,17 +875,26 @@ function project_release_view($node, $te
  * Display a list of releases for a given project
  * @ingroup project_release_api
  */
-function project_release_project_releases() {
-  $node = node_load(arg(1));
-
-  // Breadcrumb navigation
-  $breadcrumb[] = l($node->title, 'node/'. $node->nid);
-  project_project_set_breadcrumb($node, $breadcrumb);
+function project_release_project_releases($op = 'page') {
+  $nid = arg(1);
+  $node = node_load($nid);
 
-  $output = project_release_list($node);
-
-  drupal_set_title(t('Releases for %project', array('%project' => $node->title)));
-  return $output;
+  switch ($op) {
+    case 'feed':
+        project_release_feed($node);
+      break;
+    case 'page':
+    default:
+      // Breadcrumb navigation
+      $breadcrumb[] = l($node->title, 'node/'. $node->nid);
+      project_project_set_breadcrumb($node, $breadcrumb);
+
+      $output = project_release_list($node);
+
+      drupal_set_title(t('Releases for %project', array('%project' => $node->title)));
+      drupal_add_feed(url('node/'. $nid .'/release/feed/'), 'RSS - releases for '. check_plain($node->title));
+      return $output;
+  }
 }
 
 /**
@@ -960,7 +969,7 @@ function project_release_get_releases($p
  * Returns a listing of project release nodes
  * @ingroup project_release_callback
  */
-function project_release_list($project, $main = 0) {
+function project_release_list($project) {
   if ($releases = project_release_get_releases($project, 1, 'date', 'files')) {
     $output = '';
     foreach ($releases as $release) {
@@ -974,6 +983,22 @@ function project_release_list($project, 
 }
 
 /**
+ * Prints an RSS feed of project release nodes
+ *
+ * @ingroup project_release_callback
+ */
+function project_release_feed($project) {
+  $project = node_invoke($project, 'view', FALSE, FALSE);
+  $channel['link'] = url('node/'. $project->nid .'/release', NULL, NULL, TRUE);
+  $channel['title'] = check_plain($project->title);
+  $channel['description'] = $project->body;
+  $order_by = 'n.created';
+  $where = "AND (n.status = 1) AND (r.file_path <> '')";
+  $result = db_query_range(db_rewrite_sql("SELECT n.nid, r.* FROM {node} n INNER JOIN {project_release_nodes} r ON r.nid = n.nid WHERE (r.pid = %d) $where ORDER BY $order_by DESC"), $project->nid, 0, variable_get('feed_default_items', 10));
+  node_feed($result, $channel);
+}
+
+/**
  * Returns a listing of all active project release compatibility terms
  * in the system.
  * @ingroup project_release_api
