Issue #1475342 by iamEAP | Kasper Souren: Fixed D6->D7 upgrade: system_update_7007() fail.
parent
b5d7ec6199
commit
851bcf12f0
|
@ -1,6 +1,8 @@
|
|||
|
||||
Drupal 7.22, xxxx-xx-xx (development version)
|
||||
-----------------------
|
||||
- Fixed a bug which prevented Drupal 6 to Drupal 7 upgrades on sites which had
|
||||
duplicate permission names in the User module's database tables.
|
||||
- Added an empty "datatype" attribute to taxonomy term and username links to
|
||||
make the RDFa markup upward compatible with RDFa 1.1 (minor markup addition).
|
||||
- Fixed a bug which caused the denial-of-service protection added in Drupal
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
<?php
|
||||
|
||||
// Simulate duplicated permission condition.
|
||||
db_update('permission')->fields(array(
|
||||
'perm' => 'access content, access content',
|
||||
))
|
||||
->condition('pid', 1)
|
||||
->execute();
|
|
@ -61,3 +61,32 @@ class UserUpgradePathNoPasswordTokenTestCase extends UpgradePathTestCase {
|
|||
$this->assertEqual(variable_get('user_mail_register_no_approval_required_body'), '[user:name], [site:name], [site:url], [site:url-brief], [user:mail], [date:medium], [site:login-url], [user:edit-url], [user:one-time-login-url].', 'Existing email templates have been modified (password token not involved).');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Upgrade test for user.module (duplicated permission).
|
||||
*/
|
||||
class UserUpgradePathDuplicatedPermissionTestCase extends UpgradePathTestCase {
|
||||
public static function getInfo() {
|
||||
return array(
|
||||
'name' => 'User upgrade path (duplicated permission)',
|
||||
'description' => 'User upgrade path tests (duplicated permission).',
|
||||
'group' => 'Upgrade path',
|
||||
);
|
||||
}
|
||||
|
||||
public function setUp() {
|
||||
// Path to the database dump files.
|
||||
$this->databaseDumpFiles = array(
|
||||
drupal_get_path('module', 'simpletest') . '/tests/upgrade/drupal-6.bare.database.php',
|
||||
drupal_get_path('module', 'simpletest') . '/tests/upgrade/drupal-6.duplicate-permission.database.php',
|
||||
);
|
||||
parent::setUp();
|
||||
}
|
||||
|
||||
/**
|
||||
* Test a successful upgrade.
|
||||
*/
|
||||
public function testUserUpgrade() {
|
||||
$this->assertTrue($this->performUpgrade(), 'The upgrade was completed successfully.');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1890,7 +1890,7 @@ function system_update_7007() {
|
|||
$result = db_query("SELECT rid, perm FROM {permission} ORDER BY rid ASC");
|
||||
$query = db_insert('role_permission')->fields(array('rid', 'permission'));
|
||||
foreach ($result as $role) {
|
||||
foreach (explode(', ', $role->perm) as $perm) {
|
||||
foreach (array_unique(explode(', ', $role->perm)) as $perm) {
|
||||
$query->values(array(
|
||||
'rid' => $role->rid,
|
||||
'permission' => $perm,
|
||||
|
|
Loading…
Reference in New Issue