summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorDavid Rothstein <drothstein@gmail.com>2015-05-05 01:14:22 -0400
committerDavid Rothstein <drothstein@gmail.com>2015-05-05 01:14:22 -0400
commit8717a8da35fc5911947dfbea484e848df4a2cf01 (patch)
tree28271e55e2a32aed186cbc4c595ffb7565393647 /modules
parentd479272463262506658efad773b347d9c67f8a30 (diff)
downloadbrdo-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.install10
-rw-r--r--modules/node/node.module8
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])) {