Index: authorize.php =================================================================== RCS file: /Users/wright/drupal/local_repo/drupal/authorize.php,v retrieving revision 1.4 diff -u -p -r1.4 authorize.php --- authorize.php 29 Oct 2009 06:58:56 -0000 1.4 +++ authorize.php 13 Jan 2010 23:56:42 -0000 @@ -135,6 +135,21 @@ if (authorize_access_allowed()) { $output = theme('authorize_report', array('messages' => $results['messages'])); + // Now that the update completed, we can safely load the install code to + // see if there are missing schema updates, and if so, provide a link to + // update.php. + require_once DRUPAL_ROOT . '/includes/install.inc'; + foreach (module_list() as $module) { + $updates = drupal_get_schema_versions($module); + if ($updates !== FALSE) { + $default = drupal_get_installed_schema_version($module); + if (max($updates) > $default) { + $output .= t('Some modules have database schema updates to install. You should run the database update script immediately.', array('@update' => base_path() . 'update.php')); + break; + } + } + } + $links = array(); if (is_array($results['tasks'])) { $links += $results['tasks']; Index: modules/system/system.updater.inc =================================================================== RCS file: /Users/wright/drupal/local_repo/drupal/modules/system/system.updater.inc,v retrieving revision 1.3 diff -u -p -r1.3 system.updater.inc --- modules/system/system.updater.inc 4 Jan 2010 21:31:52 -0000 1.3 +++ modules/system/system.updater.inc 13 Jan 2010 22:43:10 -0000 @@ -72,10 +72,8 @@ class ModuleUpdater extends Updater impl } public function postUpdateTasks() { - // @todo: If there are schema updates. - return array( - l(t('Run database updates for !project', array('!project' => $this->title)), 'update.php'), - ); + // We don't want to check for DB updates here, we do that once for all + // updated modules on the landing page. } } Index: modules/update/update.authorize.inc =================================================================== RCS file: /Users/wright/drupal/local_repo/drupal/modules/update/update.authorize.inc,v retrieving revision 1.3 diff -u -p -r1.3 update.authorize.inc --- modules/update/update.authorize.inc 1 Nov 2009 23:02:13 -0000 1.3 +++ modules/update/update.authorize.inc 13 Jan 2010 22:50:43 -0000 @@ -154,7 +154,9 @@ function update_authorize_batch_copy_pro } _update_batch_create_message($context['results']['log'][$project], t('Installed %project_name successfully', array('%project_name' => $project))); - $context['results']['tasks'] += $tasks; + if (!empty($tasks)) { + $context['results']['tasks'] += $tasks; + } // This particular operation is now complete, even though the batch might // have other operations to perform.