--- project.module 2007-06-08 08:29:38.000000000 -0500 +++ project.module.orig 2007-01-18 17:30:10.000000000 -0600 @@ -419,7 +419,7 @@ function project_page_overview($termname $tids = array(); if (variable_get('project_release_browse_versions', 0) && $version != -1) { // Find all terms associated with the requested version. - $result = db_query("SELECT tp.tid, COUNT(DISTINCT(n.nid)) AS count FROM {term_node} tp INNER JOIN {project_release_nodes} p ON tp.nid = p.pro_id INNER JOIN {node} n ON n.nid = p.pro_id INNER JOIN {term_node} tr ON tr.nid = p.nid WHERE tr.tid = %d AND (p.file_path <> '') AND (n.status = 1) GROUP BY tp.tid", $version); + $result = db_query("SELECT tp.tid, COUNT(DISTINCT(n.nid)) AS count FROM {term_node} tp INNER JOIN {project_release_nodes} p ON tp.nid = p.pid INNER JOIN {node} n ON n.nid = p.pid INNER JOIN {term_node} tr ON tr.nid = p.nid WHERE tr.tid = %d AND (p.file_path <> '') AND (n.status = 1) GROUP BY tp.tid", $version); $tids = array(); while ($item = db_fetch_object($result)) { $tids[$item->tid] = $item->count; @@ -522,7 +522,7 @@ function project_page_overview($termname ); if ($version != -1) { $release_settings['joins'] = array( - 'INNER JOIN {project_release_nodes} prn ON n.nid = prn.pro_id', + 'INNER JOIN {project_release_nodes} prn ON n.nid = prn.pid', 'INNER JOIN {term_node} tr ON tr.nid = prn.nid' ); $release_settings['wheres'][] = 'tr.tid = %d'; @@ -530,7 +530,7 @@ function project_page_overview($termname } else { $release_settings['joins'] = array( - 'INNER JOIN {project_release_nodes} prn ON n.nid = prn.pro_id', + 'INNER JOIN {project_release_nodes} prn ON n.nid = prn.pid', 'INNER JOIN {project_release_projects} prp ON n.nid = prp.nid', ); $release_settings['fields'][] = 'prp.snapshot_table'; @@ -608,7 +608,7 @@ function project_page_overview($termname } $class = 'even'; if ($version != -1) { - $joins = 'INNER JOIN {term_node} t ON p.nid = t.nid LEFT JOIN {project_release_default_versions} prdv ON p.pro_id = prdv.nid AND prdv.tid = t.tid AND prdv.major = p.version_major'; + $joins = 'INNER JOIN {term_node} t ON p.nid = t.nid LEFT JOIN {project_release_default_versions} prdv ON p.pid = prdv.nid AND prdv.tid = t.tid AND prdv.major = p.version_major'; $wheres = 'AND t.tid = %d'; $order_bys = 'ORDER BY prdv.nid DESC, p.rebuild ASC, p.version_major ASC, p.version_minor DESC, p.version_patch DESC, p.file_date DESC'; } @@ -619,20 +619,22 @@ function project_page_overview($termname } while ($project = db_fetch_object($result)) { $project->body = check_markup($project->teaser, $project->format, FALSE); - if (module_exists('taxonomy')) { - $project->taxonomy = taxonomy_node_get_terms($project->nid); - if (isset($type)) { - // Hide the top-level project type term from the links, but add it to - // the $project object for theme_project_summary() to use if it wants. - unset($project->taxonomy[$type->tid]); - $project->term = $termname; + if (project_use_taxonomy()) { + $project->term = $termname; + $project->terms = array(); + foreach (taxonomy_node_get_terms($project->nid) as $term) { + if ($term->name != $termname) { + $project->terms[$term->name] = array( + 'title' => $term->name, + 'href' => project_term_path($term), + ); + } } - $project->terms = taxonomy_link('taxonomy terms', $project); } // Make sure we have the latest release if ($project->release_count > 1 && $version != -1) { - $latest = db_fetch_object(db_query_range("SELECT file_path, version, file_date FROM {project_release_nodes} p INNER JOIN {term_node} t ON p.nid = t.nid LEFT JOIN {project_release_default_versions} prdv ON p.pro_id = prdv.nid AND prdv.tid = t.tid AND prdv.major = p.version_major WHERE p.pro_id = %d AND t.tid = %d ORDER BY prdv.nid DESC, p.rebuild ASC, p.version_major ASC, p.version_minor DESC, p.version_patch DESC, p.file_date DESC", $project->nid, $version, 0, 1)); + $latest = db_fetch_object(db_query_range("SELECT file_path, version, file_date FROM {project_release_nodes} p INNER JOIN {term_node} t ON p.nid = t.nid LEFT JOIN {project_release_default_versions} prdv ON p.pid = prdv.nid AND prdv.tid = t.tid AND prdv.major = p.version_major WHERE p.pid = %d AND t.tid = %d ORDER BY prdv.nid DESC, p.rebuild ASC, p.version_major ASC, p.version_minor DESC, p.version_patch DESC, p.file_date DESC", $project->nid, $version, 0, 1)); $project->file_path = $latest->file_path; $project->version = $latest->version; }