Merge branch '7.x' of git.drupal.org:project/drupal into 7.x
commit
43c4a88db3
|
@ -469,26 +469,7 @@ function node_update_dependencies() {
|
|||
* @ingroup update-api-6.x-to-7.x
|
||||
*/
|
||||
function _update_7000_node_get_types() {
|
||||
$node_types = db_query('SELECT * FROM {node_type}')->fetchAllAssoc('type', PDO::FETCH_OBJ);
|
||||
|
||||
// Create default settings for orphan nodes.
|
||||
$all_types = db_query('SELECT DISTINCT type FROM {node}')->fetchCol();
|
||||
$extra_types = array_diff($all_types, array_keys($node_types));
|
||||
|
||||
foreach ($extra_types as $type) {
|
||||
$type_object = new stdClass;
|
||||
$type_object->type = $type;
|
||||
|
||||
// In Drupal 6, whether you have a body field or not is a flag in the node
|
||||
// type table. If it's enabled, nodes may or may not have an empty string
|
||||
// for the bodies. As we can't detect what this setting should be in
|
||||
// Drupal 7 without access to the Drupal 6 node type settings, we assume
|
||||
// the default, which is to enable the body field.
|
||||
$type_object->has_body = 1;
|
||||
$type_object->body_label = 'Body';
|
||||
$node_types[$type_object->type] = $type_object;
|
||||
}
|
||||
return $node_types;
|
||||
return db_query('SELECT * FROM {node_type}')->fetchAllAssoc('type', PDO::FETCH_OBJ);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -619,6 +600,19 @@ function node_update_7006(&$sandbox) {
|
|||
// Get node type info, specifically the body field settings.
|
||||
$node_types = _update_7000_node_get_types();
|
||||
|
||||
// Create default settings for orphan nodes.
|
||||
$extra_types = db_query('SELECT DISTINCT type FROM {node} WHERE type NOT IN (:types)', array(':types' => array_keys($node_types)))->fetchCol();
|
||||
foreach ($extra_types as $type) {
|
||||
$type_object = new stdClass;
|
||||
$type_object->type = $type;
|
||||
// Always create a body. Querying node_revisions for a non-empty body
|
||||
// would skip creating body fields for types that have a body but
|
||||
// the nodes of that type so far had empty bodies.
|
||||
$type_object->has_body = 1;
|
||||
$type_object->body_label = 'Body';
|
||||
$node_types[$type_object->type] = $type_object;
|
||||
}
|
||||
|
||||
// Add body field instances for existing node types.
|
||||
foreach ($node_types as $node_type) {
|
||||
if ($node_type->has_body) {
|
||||
|
|
|
@ -45,70 +45,6 @@ class NodeBodyUpgradePathTestCase extends UpgradePathTestCase {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Upgrade test for node disabled node types.
|
||||
*
|
||||
* Load a filled installation of Drupal 6 and run the upgrade process on it.
|
||||
*/
|
||||
class DisabledNodeTypeTestCase extends UpgradePathTestCase {
|
||||
public static function getInfo() {
|
||||
return array(
|
||||
'name' => 'Disabled node type upgrade path',
|
||||
'description' => 'Disabled node type upgrade path tests.',
|
||||
'group' => 'Upgrade path',
|
||||
);
|
||||
}
|
||||
|
||||
public function setUp() {
|
||||
// Path to the database dump.
|
||||
$this->databaseDumpFiles = array(
|
||||
drupal_get_path('module', 'simpletest') . '/tests/upgrade/drupal-6.filled.database.php',
|
||||
drupal_get_path('module', 'simpletest') . '/tests/upgrade/drupal-6.node_type_broken.database.php',
|
||||
);
|
||||
parent::setUp();
|
||||
}
|
||||
|
||||
/**
|
||||
* Test a successful upgrade.
|
||||
*/
|
||||
public function testDisabledNodeTypeUpgrade() {
|
||||
$this->assertTrue($this->performUpgrade(), t('The upgrade was completed successfully.'));
|
||||
$this->assertTrue(field_info_instance('comment', 'comment_body', 'comment_node_broken'), 'Comment body field instance was created for comments attached to the disabled broken node type');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Upgrade test for node disabled node types.
|
||||
*
|
||||
* Load a filled installation of Drupal 6 and run the upgrade process on it.
|
||||
*/
|
||||
class DisabledNodeTypeTestCase extends UpgradePathTestCase {
|
||||
public static function getInfo() {
|
||||
return array(
|
||||
'name' => 'Disabled node type upgrade path',
|
||||
'description' => 'Disabled node type upgrade path tests.',
|
||||
'group' => 'Upgrade path',
|
||||
);
|
||||
}
|
||||
|
||||
public function setUp() {
|
||||
// Path to the database dump.
|
||||
$this->databaseDumpFiles = array(
|
||||
drupal_get_path('module', 'simpletest') . '/tests/upgrade/drupal-6.filled.database.php',
|
||||
drupal_get_path('module', 'simpletest') . '/tests/upgrade/drupal-6.node_type_broken.database.php',
|
||||
);
|
||||
parent::setUp();
|
||||
}
|
||||
|
||||
/**
|
||||
* Test a successful upgrade.
|
||||
*/
|
||||
public function testDisabledNodeTypeUpgrade() {
|
||||
$this->assertTrue($this->performUpgrade(), t('The upgrade was completed successfully.'));
|
||||
$this->assertTrue(field_info_instance('comment', 'comment_body', 'comment_node_broken'), 'Comment body field instance was created for comments attached to the disabled broken node type');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Upgrade test for node type poll.
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue