Index: modules/update_status/update_status.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/update_status/update_status.module,v retrieving revision 1.63 diff -u -p -r1.63 update_status.module --- modules/update_status/update_status.module 23 Jun 2007 00:21:49 -0000 1.63 +++ modules/update_status/update_status.module 23 Jun 2007 00:39:55 -0000 @@ -1,5 +1,5 @@ $avail[$project]['releases'][$avail[$project]['latest_version']]['date']) { + $projects[$project]['latest_dev'] = $avail[$project]['dev_version']; + } + else { + $projects[$project]['latest_dev'] = $avail[$project]['latest_version']; + } + } + + // Stash the info about available releases into our $projects array. $projects[$project] += $avail[$project]; // @@ -635,29 +666,28 @@ function update_status_calculate_project } break; case 'dev': - $latest_version = $avail[$project]['releases'][$projects[$project]['latest_version']]; - - if (isset($latest_version['version_extra']) && $latest_version['version_extra'] == 'dev') { - if (empty($projects[$project]['datestamp'])) { - $projects[$project]['status'] = UPDATE_STATUS_NOT_CHECKED; - $projects[$project]['reason'] = t('No filedate available'); - } - else if (abs($latest_version['date'] - $projects[$project]['datestamp']) < 100) { - $projects[$project]['status'] = UPDATE_STATUS_CURRENT; - } - elseif ($warning_level == UPDATE_STATUS_WARNING_SECURITY && empty($projects[$project]['security updates'])) { - $projects[$project]['status'] = UPDATE_STATUS_NOT_CHECKED; - $projects[$project]['reason'] = t('Not a security update'); - } - else { - $projects[$project]['status'] = UPDATE_STATUS_NOT_CURRENT; - } + if (!empty($projects[$project]['security updates'])) { + $projects[$project]['status'] = UPDATE_STATUS_NOT_CURRENT; break; } - $projects[$project]['status'] = UPDATE_STATUS_NOT_CHECKED; - $projects[$project]['reason'] = t('Dev version'); + $latest = $avail[$project]['releases'][$projects[$project]['latest_dev']]; + if (empty($projects[$project]['datestamp'])) { + $projects[$project]['status'] = UPDATE_STATUS_NOT_CHECKED; + $projects[$project]['reason'] = t('No filedate available'); + } + elseif (($projects[$project]['datestamp'] + 100 > $latest['date'])) { + $projects[$project]['status'] = UPDATE_STATUS_CURRENT; + } + elseif ($warning_level == UPDATE_STATUS_WARNING_SECURITY) { + $projects[$project]['status'] = UPDATE_STATUS_NOT_CHECKED; + $projects[$project]['reason'] = t('Not a security update'); + } + else { + $projects[$project]['status'] = UPDATE_STATUS_NOT_CURRENT; + } break; + default: $projects[$project]['status'] = UPDATE_STATUS_UNKNOWN; $projects[$project]['reason'] = t('Invalid info'); @@ -740,7 +770,7 @@ function theme_update_status_report($dat $row .= check_plain($project['name']); } $row .= ' '. check_plain($project['existing_version']); - if (strpos($project['existing_version'], '-dev') && !empty($project['datestamp'])) { + if ($project['type'] == 'dev' && !empty($project['datestamp'])) { $row .= ' ('. format_date($project['datestamp'], 'custom', 'Y-M-d') .') '; } $row .= "\n"; @@ -781,6 +811,11 @@ function theme_update_status_report($dat if ($project['recommended'] != $project['latest_version']) { $row .= theme('update_status_version', $project['releases'][$project['latest_version']], t('Latest version:'), 'version-latest'); } + if ($project['type'] == 'dev' + && $project['status'] != UPDATE_STATUS_CURRENT + && $project['latest_version'] != $project['dev_version']) { + $row .= theme('update_status_version', $project['releases'][$project['dev_version']], t('Development version:'), 'version-latest'); + } } if (isset($project['also'])) {