Issue #1685110 by BTMash, aspilicious, jhodgdon: Fixed Upgrade of forum.module d6-d7 loses permission.
parent
f06b61d62e
commit
feac3940c3
|
@ -258,3 +258,17 @@ db_insert('vocabulary_node_types')->fields(array(
|
|||
))
|
||||
->execute();
|
||||
|
||||
// Provide all users with the ability to create forum topics.
|
||||
$results = db_select('permission', 'p')
|
||||
->fields('p')
|
||||
->execute();
|
||||
|
||||
foreach ($results as $result) {
|
||||
$permissions = $result->perm . ', create forum topics';
|
||||
db_update('permission')
|
||||
->fields(array(
|
||||
'perm' => $permissions,
|
||||
))
|
||||
->condition('rid', $result->rid)
|
||||
->execute();
|
||||
}
|
||||
|
|
|
@ -56,5 +56,9 @@ class ForumUpgradePathTestCase extends UpgradePathTestCase {
|
|||
|
||||
$this->drupalGet("forum/$tid");
|
||||
$this->assertText('Bananas');
|
||||
}
|
||||
$this->drupalLogout();
|
||||
|
||||
$this->drupalGet("node/add/forum/$tid");
|
||||
$this->assertResponse(200, t('User can access forum creation page.'));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1711,17 +1711,18 @@ function system_update_dependencies() {
|
|||
function system_update_7000() {
|
||||
$result = db_query("SELECT rid, perm FROM {permission} ORDER BY rid");
|
||||
foreach ($result as $role) {
|
||||
$renamed_permission = preg_replace('/(?<=^|,\ )create\ blog\ entries(?=,|$)/', 'create blog content', $role->perm);
|
||||
$renamed_permission = preg_replace('/(?<=^|,\ )edit\ own\ blog\ entries(?=,|$)/', 'edit own blog content', $role->perm);
|
||||
$renamed_permission = preg_replace('/(?<=^|,\ )edit\ any\ blog\ entry(?=,|$)/', 'edit any blog content', $role->perm);
|
||||
$renamed_permission = preg_replace('/(?<=^|,\ )delete\ own\ blog\ entries(?=,|$)/', 'delete own blog content', $role->perm);
|
||||
$renamed_permission = preg_replace('/(?<=^|,\ )delete\ any\ blog\ entry(?=,|$)/', 'delete any blog content', $role->perm);
|
||||
$renamed_permission = $role->perm;
|
||||
$renamed_permission = preg_replace('/(?<=^|,\ )create\ blog\ entries(?=,|$)/', 'create blog content', $renamed_permission);
|
||||
$renamed_permission = preg_replace('/(?<=^|,\ )edit\ own\ blog\ entries(?=,|$)/', 'edit own blog content', $renamed_permission);
|
||||
$renamed_permission = preg_replace('/(?<=^|,\ )edit\ any\ blog\ entry(?=,|$)/', 'edit any blog content', $renamed_permission);
|
||||
$renamed_permission = preg_replace('/(?<=^|,\ )delete\ own\ blog\ entries(?=,|$)/', 'delete own blog content', $renamed_permission);
|
||||
$renamed_permission = preg_replace('/(?<=^|,\ )delete\ any\ blog\ entry(?=,|$)/', 'delete any blog content', $renamed_permission);
|
||||
|
||||
$renamed_permission = preg_replace('/(?<=^|,\ )create\ forum\ topics(?=,|$)/', 'create forum content', $role->perm);
|
||||
$renamed_permission = preg_replace('/(?<=^|,\ )delete\ any\ forum\ topic(?=,|$)/', 'delete any forum content', $role->perm);
|
||||
$renamed_permission = preg_replace('/(?<=^|,\ )delete\ own\ forum\ topics(?=,|$)/', 'delete own forum content', $role->perm);
|
||||
$renamed_permission = preg_replace('/(?<=^|,\ )edit\ any\ forum\ topic(?=,|$)/', 'edit any forum content', $role->perm);
|
||||
$renamed_permission = preg_replace('/(?<=^|,\ )edit\ own\ forum\ topics(?=,|$)/', 'edit own forum content', $role->perm);
|
||||
$renamed_permission = preg_replace('/(?<=^|,\ )create\ forum\ topics(?=,|$)/', 'create forum content', $renamed_permission);
|
||||
$renamed_permission = preg_replace('/(?<=^|,\ )delete\ any\ forum\ topic(?=,|$)/', 'delete any forum content', $renamed_permission);
|
||||
$renamed_permission = preg_replace('/(?<=^|,\ )delete\ own\ forum\ topics(?=,|$)/', 'delete own forum content', $renamed_permission);
|
||||
$renamed_permission = preg_replace('/(?<=^|,\ )edit\ any\ forum\ topic(?=,|$)/', 'edit any forum content', $renamed_permission);
|
||||
$renamed_permission = preg_replace('/(?<=^|,\ )edit\ own\ forum\ topics(?=,|$)/', 'edit own forum content', $renamed_permission);
|
||||
|
||||
if ($renamed_permission != $role->perm) {
|
||||
db_update('permission')
|
||||
|
@ -3024,6 +3025,32 @@ function system_update_7074() {
|
|||
// PostgreSQL.
|
||||
}
|
||||
|
||||
/**
|
||||
* Fix renamed queries from system_update_7000().
|
||||
*/
|
||||
function system_update_7075() {
|
||||
$permission_changes = array(
|
||||
'create blog entries' => 'create blog content',
|
||||
'edit own blog entries' => 'edit own blog content',
|
||||
'edit any blog entry' => 'edit any blog content',
|
||||
'delete own blog entries' => 'delete own blog content',
|
||||
'delete any blog entry' => 'delete any blog content',
|
||||
|
||||
'create forum topics' => 'create forum content',
|
||||
'edit own forum topics' => 'edit own forum content',
|
||||
'edit any forum topic' => 'edit any forum content',
|
||||
'delete own forum topics' => 'delete own forum content',
|
||||
'delete any forum topic' => 'delete any forum content',
|
||||
);
|
||||
|
||||
foreach ($permission_changes as $permission_key => $permission_change) {
|
||||
db_update('role_permission')
|
||||
->fields(array('permission' => $permission_change))
|
||||
->condition('permission', $permission_key)
|
||||
->execute();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @} End of "defgroup updates-7.x-extra".
|
||||
* The next series of updates should start at 8000.
|
||||
|
|
Loading…
Reference in New Issue