Index: upgrade_status.admin.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/upgrade_status/upgrade_status.admin.inc,v retrieving revision 1.10 diff -u -p -r1.10 upgrade_status.admin.inc --- upgrade_status.admin.inc 4 Sep 2010 18:28:46 -0000 1.10 +++ upgrade_status.admin.inc 4 Sep 2010 20:18:58 -0000 @@ -275,10 +275,288 @@ function upgrade_status_calculate_projec * Project name to check. * @return * TRUE if module has been moved into core. + * + * @todo Handle partial core additions, e.g. + * - Token + * - CTools: AJAX framework + * - Taxonomy image + * - Better Formats, Filter by node type + * For cleanly coded and separated modules, allowing to target sub-modules in + * a project might be sufficient already. + * + * @todo Check whether 'help' keys make sense. Users having those modules + * installed should already know what the modules are doing. This help info + * was kept, because the work was done, but it might not make sense at all. */ function upgrade_status_moved_into_core(&$projects, $project) { $core = TRUE; switch ($project) { + case 'ahah_helper': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['help'] = t('Allows Drupal modules to implement AHAH/AJAX functionality without touching JavaScript. Entirely covered by the new AJAX framework in Drupal 7, which is based on CTools.', array( + '@ctools-url' => 'http://drupal.org/project/ctools', + )); + break; + + case 'autoload': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['help'] = t('Allows Drupal modules to lazy-load any class that has not been loaded yet. A major performance improvement in Drupal 7, and the only part of the Registry that was introduced earlier, but later removed from Drupal 7.', array( + '@issue-url' => 'http://drupal.org/node/221964', + )); + break; + + case 'auto_menutitle': + case 'automaticmenu': + case 'automenu': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['help'] = t('When creating new content, Drupal 7 automatically takes over the title of the content as menu link title, while still allowing you to alter it.'); + break; + + case 'admin_hover': + case 'block_edit': + case 'contextual': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['help'] = t('The new Contextual links module in Drupal 7 allows you to manage page elements from the page you are looking at, i.e., you have direct access to "Edit" and "Delete" pages for content, or "Configure" pages for blocks, "List links" for menu blocks, etc. Every module can integrate with Contextual module.', array( + '@issue-url' => 'http://drupal.org/node/473268', + )); + break; + + case 'adminrole': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['help'] = t('The administration role is based on regular Drupal user roles and every user role can be configured to be the administration role. All new permissions (and only new) are automatically granted to the configured administration role. Permissions can still be removed from the role.', array( + '@issue-url' => 'http://drupal.org/node/480660', + )); + break; + + case 'block_node_visibility': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'blocks404': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'canonical_url': + case 'shortlink': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'cck': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('You still need CCK for the Nodereference and Userreference field types, and to upgrade your fields to Drupal 7. There is an overall CCK to field upgrade path discussion. Contributed modules may use Field converter as dependency to properly upgrade their non-field data to fields. Custom programmed field type modules, which may be obsolete now, might be easier to upgrade using Migrate module.', array( + '@upgrade-issue-url' => 'http://drupal.org/node/366364', + '@cck-url' => 'http://drupal.org/project/cck', + '@field-convert-url' => 'http://drupal.org/project/field_convert', + '@migrate-url' => 'http://drupal.org/project/migrate', + )); + break; + + case 'checkbox_validate': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'comment_display': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'config_perms': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'content_taxonomy': + case 'field_taxonomy': + case 'term_fields': + case 'taxidermy': + $projects[$project]['in_core_since'] = '7.x'; + break; + + // @todo Allow to target a module (not project). + case 'date_timezone': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'dbtng': + case 'transaction': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['help'] = t('Drupal 7 implements an entirely new database layer, which allows Drupal to work with any database. Modules are able to alter most database queries and there is support for transactions.', array( + '@issue-url' => 'http://drupal.org/node/225450', + )); + break; + + case 'edit_term': + case 'taxonomy_intro': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'elements': + case 'element_themehook': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['help'] = t('In Drupal 7, almost all content is generated as "renderable array", which allows to consider any element on a page as atomic, alterable, and themeable element that can be still be altered until it is rendered into a string.'); + break; + + case 'hook_file': + case 'storage_api': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['help'] = t('Drupal 7 natively uses PHP 5 stream wrappers, which allow to store and access files in almost any location, even remotely. There is also a clean separation between the public and private filesystem, and both can be used at the same time.'); + break; + + case 'filefield': + // @todo Allow to target a module (not project). + case 'upload': + case 'upload_element': + case 'upload_preview': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Upload module has been replaced with File field.', array( + '@issue-url' => 'http://drupal.org/node/563000', + )); + break; + + case 'filter_default': + case 'input_format_permissions': + case 'user_default_filter': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'image': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('The most common use-case of Image module, an image field type, is contained in Drupal core. The Image project is required to upgrade existing data, and its main image module has been renamed to image_node module, since Drupal core took over the namespace. Image Node module is required for use-cases like restricting access, direct image access through a URL, attached data like comments, votes, or geo coordinates.', array( + '@image-url' => 'http://drupal.org/project/image', + '@upgrade-issue-url' => 'http://drupal.org/node/513096', + )); + break; + + case 'imageapi': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('The ImageAPI module for Drupal 7 only provides the ImageMagick toolkit and an unsharpen mask action. Everything else has been moved into Drupal core.', array( + '@imageapi-url' => 'http://drupal.org/project/imageapi', + )); + break; + + case 'imagecache': + case 'imagefield': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'jq': + case 'jqp': + case 'plugins': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Drupal 7 allows modules to register custom libraries, consisting of JavaScript and CSS files, which can then be loaded at once. External libraries, i.e., code that is not shipped with a module, is not supported by Drupal core and requires the Libraries API module.', array( + '@libraries-url' => 'http://drupal.org/project/libraries', + )); + break; + + case 'jquery_cookie': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'jquery_form_update': + case 'jsalter': + case 'wysiwygcck': + case 'tinymce_ahah': + case 'tinymce_dragdrop': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'jquery_ui': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Advanced jQuery UI features (like Theme Roller support) are not in Drupal core.'); + break; + + case 'login_security': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Drupal core provides no UI. If required, the internal variables may be configured using the Flood control module.', array( + '@flood-control-url' => 'http://drupal.org/project/flood_control', + )); + break; + + case 'menuless_nodetype': + case 'ctm': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'nodepreview_by_type': + case 'preview': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'permissions_api': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'phpass': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('All stored user passwords will be additionally salted'); + break; + + case 'plugin_manager': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'poormanscron': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'protect_critical_users': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'drupal_queue': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'rdf': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'seven': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'simplecdn': + case 'abssrc': + case 'parallel': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('The new File API and handling of JavaScript and CSS in Drupal 7 allows modules to alter the URLs of all files. Everyone is encouraged to switch to the joined community effort, the CDN project.', array( + '@cdn-url' => 'http://drupal.org/project/cdn', + )); + break; + + case 'simpletest': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'tar': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'taxonomy_delegate': + case 'vocabperms': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'token': + $projects[$project]['in_core_since'] = '7.x'; + $projects[$project]['in_core_note'] = t('Drupal core does not provide a user interface to browse tokens (in forms).'); + break; + + case 'url_alter': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'user_cancellation': + case 'user_delete': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'vertical_tabs': + $projects[$project]['in_core_since'] = '7.x'; + break; + + case 'view_unpublished': + $projects[$project]['in_core_since'] = '7.x'; + break; + case 'actions': $projects[$project]['in_core_since'] = '6.x'; $projects[$project]['in_core_note'] = t('Please note that the syntax for actions used by the 5.x-1.x and 4.7 versions of Actions module are different to triggers in Drupal 6.x. For further information please refer to the Actions module project page.', array('!project-url' => 'http://drupal.org/project/actions')); @@ -372,6 +650,7 @@ function theme_upgrade_status_report($da } switch ($project['status']) { case UPGRADE_STATUS_STABLE: + case UPGRADE_STATUS_CORE: $class = 'ok'; $icon = theme('image', 'misc/watchdog-ok.png', t('ok'), t('ok')); break; @@ -390,13 +669,9 @@ function theme_upgrade_status_report($da } // Special handling for project moved into core. if ($project['status'] == UPGRADE_STATUS_CORE) { - $class = 'ok'; if (!empty($project['in_core_note'])) { $icon = theme('image', 'misc/watchdog-warning.png', t('warning'), t('warning')); } - else { - $icon = theme('image', 'misc/watchdog-ok.png', t('ok'), t('ok')); - } } // Compact layout. 31/05/2008 sun @@ -417,9 +692,11 @@ function theme_upgrade_status_report($da $row .= ''. t('In development') .''; break; case UPGRADE_STATUS_STABLE: - case UPGRADE_STATUS_CORE: $row .= ''. t('Available') .''; break; + case UPGRADE_STATUS_CORE: + $row .= ''. t('In core') .''; + break; default: $row .= check_plain($project['reason']); break;