? 235037_project_page_overview_4.patch
Index: /Applications/MAMP/htdocs/relgen/drupal/sites/all/modules/project/project.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/project/project.module,v
retrieving revision 1.309
diff -u -p -r1.309 project.module
--- project.module	6 Mar 2008 06:41:43 -0000	1.309
+++ project.module	30 Mar 2008 02:27:08 -0000
@@ -344,7 +344,6 @@ function project_menu($may_cache) {
       $default_sort = variable_get('project_sort_method', 'category');
       $sort_methods = module_invoke_all('project_sort_methods', 'methods');
       $terms = taxonomy_get_tree(_project_get_vid());
-      $releases = variable_get('project_release_browse_versions', 0);
       foreach ($terms as $i => $term) {
         // Only use the first-level terms.
         if ($term->depth == 0) {
@@ -558,7 +557,7 @@ function project_page_overview($termname
         $terms = array();
         if ($tree) {
           $tids = array();
-          if (variable_get('project_release_browse_versions', 0)) {
+          if (module_exists('project_release') && variable_get('project_release_browse_versions', 0)) {
             $version_params = array();
             if ($version != -1) {
               $version_where = 'tr.tid = %d';
@@ -581,7 +580,7 @@ function project_page_overview($termname
             }
           }
           foreach ($tree as $cterm) {
-            if (!variable_get('project_release_browse_versions', 0) || ($version == -1) || array_key_exists($cterm->tid, $tids)) {
+            if (!module_exists('project_release') || (!variable_get('project_release_browse_versions', 0) || ($version == -1) || array_key_exists($cterm->tid, $tids))) {
               if ($tids[$cterm->tid]) {
                 $cterm->count = $tids[$cterm->tid];
               }
@@ -657,7 +656,7 @@ function project_page_overview($termname
         $sql_settings = array_merge_recursive($sql_settings, $project_release_sql);
       }
 
-      if (variable_get('project_release_browse_versions', 0)) {
+      if (module_exists('project_release') && variable_get('project_release_browse_versions', 0)) {
         $release_settings = array(
           'fields' => array('prn.file_path', 'prn.version', 'MAX(prn.file_date) AS changed', 'COUNT(*) AS release_count'),
           'group_bys' => array('n.nid'),
@@ -691,6 +690,12 @@ function project_page_overview($termname
         }
         $sql_settings = array_merge_recursive($sql_settings, $release_settings);
       }
+      //else {
+      //  $release_settings = array(
+      //    'fields' => array('n.changed AS changed'),
+      //  );
+      //  $sql_settings = array_merge_recursive($sql_settings, $release_settings);
+      //}
 
       // Merge in $sql_elements
       if (!empty($sql_settings)) {
@@ -918,14 +923,15 @@ function project_project_sort_methods($o
             'order_bys' => array('n.sticky DESC', 'n.title ASC')
           );
         case 'date':
-          // TODO: this should all be conditional on project_release.module
           $date_sql = array(
             'order_bys' => array('changed DESC', 'n.sticky DESC', 'n.title ASC'),
             'group_bys' => array('n.nid'),
           );
-          if (!variable_get('project_release_browse_versions', 0)) {
-            $date_sql['fields'] = array('MAX(prn.file_date) AS changed');
-            $date_sql['joins'] = array('INNER JOIN {project_release_nodes} prn ON n.nid = prn.nid');
+          if (module_exists('project_release')) {
+            if (!variable_get('project_release_browse_versions', 0)) {
+              $date_sql['fields'] = array('MAX(prn.file_date) AS changed');
+              $date_sql['joins'] = array('INNER JOIN {project_release_nodes} prn ON n.nid = prn.nid');
+            }
           }
           return $date_sql;
         case 'name':
