diff --git a/modules/node/node.install b/modules/node/node.install index 76c2aec..0b0a7bd 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 fd848e2..7a6246d 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])) {