function panels_node_update_7301 in Panels 7.3
Migrate legacy Drupal 6 permissions to Drupal 7.
File
- panels_node/
panels_node.install, line 92
Code
function panels_node_update_7301() {
$permissions = array(
'create panel-nodes' => 'create panel content',
'edit any panel-nodes' => 'edit any panel content',
'edit own panel-nodes' => 'edit own panel content',
'delete any panel-nodes' => 'delete any panel content',
'delete own panel-nodes' => 'delete own panel content',
);
foreach ($permissions as $legacy_permission => $new_permission) {
$query = db_select('role_permission', 'p')
->fields('p', array(
'rid',
))
->condition('permission', $legacy_permission);
$rids = $query
->execute()
->fetchCol();
foreach ($rids as $rid) {
// Insert the new permission if it doesn't already exist.
db_merge('role_permission')
->key(array(
'rid' => $rid,
'permission' => $new_permission,
))
->insertFields(array(
'rid' => $rid,
'permission' => $new_permission,
'module' => 'node',
))
->execute();
}
// Delete the legacy permission.
db_delete('role_permission')
->condition('permission', $legacy_permission)
->execute();
}
}