cvs diff: Diffing modules/update_status Index: modules/update_status/update_status.info =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/update_status/update_status.info,v retrieving revision 1.3 diff -u -p -r1.3 update_status.info --- modules/update_status/update_status.info 13 Jun 2007 19:32:05 -0000 1.3 +++ modules/update_status/update_status.info 26 Jun 2007 11:01:22 -0000 @@ -1,3 +1,4 @@ ; $Id: update_status.info,v 1.3 2007/06/13 19:32:05 dww Exp $ name = Update status description = Checks to see if your installation of Drupal and its modules are up to date. +core = 6.x Index: modules/update_status/update_status.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/update_status/update_status.module,v retrieving revision 1.75 diff -u -p -r1.75 update_status.module --- modules/update_status/update_status.module 26 Jun 2007 09:12:34 -0000 1.75 +++ modules/update_status/update_status.module 26 Jun 2007 11:01:22 -0000 @@ -3,7 +3,7 @@ // Version of core that this module is currently at (and therefore, // that sites running it must be at and will want to query for). -define('UPDATE_STATUS_CORE_VERSION', '5.x'); +define('UPDATE_STATUS_CORE_VERSION', '6.x'); // URL to check updates at, if a given project doesn't define its own. define('UPDATE_STATUS_DEFAULT_URL', 'http://updates.drupal.org/files/release-history'); @@ -45,45 +45,57 @@ function update_status_help($section) { /** * Implementation of hook_menu(). */ -function update_status_menu($may_cache) { +function update_status_menu() { $items = array(); - if ($may_cache) { - $admin_access = user_access('administer site configuration'); - $items[] = array( - 'path' => 'admin/logs/updates', - 'title' => t('Available updates'), - 'description' => t('Get a status report on installed modules and available updates.'), - 'callback' => 'update_status_status', - 'weight' => 10, - 'access' => $admin_access, - ); - $items[] = array( - 'path' => 'admin/logs/updates/list', - 'title' => t('List'), - 'callback' => 'update_status_status', - 'access' => $admin_access, - 'type' => MENU_DEFAULT_LOCAL_TASK, - ); - $items[] = array( - 'path' => 'admin/logs/updates/settings', - 'title' => t('Settings'), - 'callback' => 'drupal_get_form', - 'callback arguments' => array('update_status_settings'), - 'access' => $admin_access, - 'type' => MENU_LOCAL_TASK, - ); - $items[] = array( - 'path' => 'admin/logs/updates/force-check', - 'title' => t('Manual update check'), - 'callback' => 'update_status_force_status', - 'access' => $admin_access, - 'type' => MENU_CALLBACK, - ); - } + + $items['admin/logs/updates'] = array( + 'title' => 'Available updates', + 'description' => 'Get a status report on your installed modules and available updates.', + 'page callback' => 'update_status_status', + 'access arguments' => array('administer site configuration'), + 'weight' => 10, + ); + $items['admin/logs/updates/list'] = array( + 'title' => 'List', + 'page callback' => 'update_status_status', + 'access arguments' => array('administer site configuration'), + 'type' => MENU_DEFAULT_LOCAL_TASK, + ); + $items['admin/logs/updates/settings'] = array( + 'title' => 'Settings', + 'page callback' => 'drupal_get_form', + 'page arguments' => array('update_status_settings'), + 'access arguments' => array('administer site configuration'), + 'type' => MENU_LOCAL_TASK, + ); + $items['admin/logs/updates/force-check'] = array( + 'title' => 'Manual update check', + 'page callback' => 'update_status_force_status', + 'access arguments' => array('administer site configuration'), + 'type' => MENU_CALLBACK, + ); + return $items; } /** + * Implementation of the hook_theme() registry. + */ +function update_status_theme() { + return array( + 'update_status_settings' => array( + 'arguments' => array('form' => NULL), + ), + 'update_status_report' => array( + 'arguments' => array('data' => NULL), + ), + 'update_status_version' => array( + 'arguments' => array('version' => NULL, 'tag' => NULL, 'class' => NULL), + ), + ); +} + +/** * Menu callback. Generate a page about the update status of projects. */ function update_status_status() { @@ -227,11 +239,11 @@ function theme_update_status_settings($f return $output; } -function update_status_settings_submit($form_id, $form_values) { - variable_set('update_status_check_frequency', $form_values['check_frequency']); - variable_set('update_status_warning_threshold', $form_values['warning_threshold']); - variable_set('update_status_usage_stats', $form_values['usage_stats']); - variable_set('update_status_settings', $form_values['projects']); +function update_status_settings_submit($form, $form_state) { + variable_set('update_status_check_frequency', $form_state['values']['check_frequency']); + variable_set('update_status_warning_threshold', $form_state['values']['warning_threshold']); + variable_set('update_status_usage_stats', $form_state['values']['usage_stats']); + variable_set('update_status_settings', $form_state['values']['projects']); drupal_set_message(t('Your changes have been saved.')); } @@ -293,16 +305,16 @@ function update_status_cron() { * * @see update_status_invalidate_cache() */ -function update_status_form_alter($form_id, &$form) { - if ($form_id == 'system_modules') { - $form['#submit']['update_status_system_submit'] = array(); +function update_status_form_alter(&$form, $form_state, $form_id) { + if ($form_id == 'system_modules' || $form_id == 'system_themes' ) { + $form['#submit'][] = 'update_status_system_submit'; } } /** * Submit handler for system modules and themes pages. */ -function update_status_system_submit($form_id, $form_values) { +function update_status_system_submit($form, $form_state) { update_status_invalidate_cache(); } @@ -318,9 +330,10 @@ function update_status_force_status() { * Prints a warning message when there is no data about available updates. */ function _update_status_no_data() { + $destination = drupal_get_destination(); return t('No information is available about potential new releases for currently installed modules. To check for updates, you may need to !run_cron or you can !check_manually. Please note that checking for available updates can take a long time, so please be patient.', array( - '!run_cron' => l(t('run cron'), 'admin/logs/status/run-cron', NULL, drupal_get_destination()), - '!check_manually' => l(t('check manually'), 'admin/logs/updates/force-check', NULL, drupal_get_destination()), + '!run_cron' => l(t('run cron'), 'admin/logs/status/run-cron', array('query' => $destination)), + '!check_manually' => l(t('check manually'), 'admin/logs/updates/force-check', array('query' => $destination)), )); } @@ -354,7 +367,7 @@ function update_status_get_projects() { if (empty($file->status)) { continue; } - $file->info = _module_parse_info_file(dirname($file->filename) .'/'. $file->name .'.info'); + $file->info = drupal_parse_info_file(dirname($file->filename) .'/'. $file->name .'.info'); // Skip if this is broken. if (empty($file->info)) { @@ -927,7 +940,7 @@ function update_status_refresh() { if ($data) { $parser = new update_status_xml_parser; $avail = $parser->parse($data); - cache_set('update_status_info', 'cache', serialize($avail), time() + (60 * 60 * 24)); + cache_set('update_status_info', $avail, 'cache', time() + (60 * 60 * 24)); variable_set('update_status_last', time()); } return $avail; @@ -979,7 +992,7 @@ function update_status_get_available($re $avail = array(); if (($cache = cache_get('update_status_info', 'cache')) && $cache->expire > time()) { - $avail = unserialize($cache->data); + $avail = $cache->data; } elseif ($refresh) { $avail = update_status_refresh(); cvs diff: Diffing modules/update_status/po