diff options
author | David Rothstein <drothstein@gmail.com> | 2015-05-05 01:14:22 -0400 |
---|---|---|
committer | David Rothstein <drothstein@gmail.com> | 2015-05-05 01:14:22 -0400 |
commit | 8717a8da35fc5911947dfbea484e848df4a2cf01 (patch) | |
tree | 28271e55e2a32aed186cbc4c595ffb7565393647 /modules | |
parent | d479272463262506658efad773b347d9c67f8a30 (diff) | |
download | brdo-8717a8da35fc5911947dfbea484e848df4a2cf01.tar.gz brdo-8717a8da35fc5911947dfbea484e848df4a2cf01.tar.bz2 |
Issue #2465159 by David_Rothstein, NancyDru: Fixed a regression in Drupal 7.36 which caused certain kinds of content types to become disabled if they were defined by a no-longer-enabled module.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/node/node.install | 10 | ||||
-rw-r--r-- | modules/node/node.module | 8 |
2 files changed, 15 insertions, 3 deletions
diff --git a/modules/node/node.install b/modules/node/node.install index 76c2aec28..0b0a7bd5a 100644 --- a/modules/node/node.install +++ b/modules/node/node.install @@ -934,5 +934,15 @@ function node_update_7014() { } /** + * Enable node types that may have been erroneously disabled in Drupal 7.36. + */ +function node_update_7015() { + db_update('node_type') + ->fields(array('disabled' => 0)) + ->condition('base', 'node_content') + ->execute(); +} + +/** * @} End of "addtogroup updates-7.x-extra". */ diff --git a/modules/node/node.module b/modules/node/node.module index fd848e246..7a6246d5a 100644 --- a/modules/node/node.module +++ b/modules/node/node.module @@ -740,9 +740,11 @@ function _node_types_build($rebuild = FALSE) { $type_db = $type_object->type; // Original disabled value. $disabled = $type_object->disabled; - // Check for node types either from disabled modules or otherwise not defined - // and mark as disabled. - if (empty($type_object->custom) && empty($_node_types->types[$type_db])) { + // Check for node types from disabled modules and mark their types for removal. + // Types defined by the node module in the database (rather than by a separate + // module using hook_node_info) have a base value of 'node_content'. The isset() + // check prevents errors on old (pre-Drupal 7) databases. + if (isset($type_object->base) && $type_object->base != 'node_content' && empty($_node_types->types[$type_db])) { $type_object->disabled = TRUE; } if (isset($_node_types->types[$type_db])) { |