Index: modules/project/release/project_release.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/project/release/project_release.module,v retrieving revision 1.7 diff -u -r1.7 project_release.module --- modules/project/release/project_release.module 1 Jan 2007 23:56:12 -0000 1.7 +++ modules/project/release/project_release.module 3 Jan 2007 05:30:45 -0000 @@ -34,6 +34,13 @@ $node = node_load(arg(1)); if ($node->type == 'project_project') { $items[] = array( + 'path' => 'node/'. arg(1) .'/updates', + 'title' => t('Updates'), + 'callback' => 'project_release_project_updates', + 'access' => node_access('view', $node), + 'type' => MENU_CALLBACK, + ); + $items[] = array( 'path' => 'node/'. arg(1) .'/release', 'title' => t('Releases'), 'callback' => 'project_release_project_releases', @@ -891,6 +898,40 @@ } /** + * Provide current version data in php_ini format. + */ +function project_release_project_updates() { + $nid = arg(1); + if (arg(3)) { + $output = 'patch_version = null'; + } + else { + // Expects a version fed in as, e.g., /node/87/updates/5.1 + $version = explode('.', arg(3)); + $result = db_query(db_rewrite_sql('SELECT patch_version, file_path, file_hash FROM {project_release_nodes} WHERE pid = %d AND major_version = %d AND minor_version = %d ORDER BY version_patch DESC LIMIT 1', $nid, $version[0], $version[1])); + if (db_num_rows($result)) { + $release = db_fetch_array($result); + $download_base = variable_get('project_release_download_base', ''); + if (!empty($download_base)) { + $release['file_path'] = $download_base . $release['file_path']; + } + else { + $release['file_path'] = file_create_url($release['file_path']); + } + foreach ($release as $key => $value) { + $output = "$key = $value\n"; + } + } + else { + $output = 'patch_version = null'; + } + } + + print $output; + exit(); +} + +/** * Releases subtab for the project edit tab. */ function project_release_project_edit_releases() {