46 lines
1.3 KiB
Plaintext
46 lines
1.3 KiB
Plaintext
<?php
|
|
|
|
/**
|
|
* @file
|
|
* Install, update, and uninstall functions for the Field UI module.
|
|
*/
|
|
|
|
/**
|
|
* Upgrade Field UI permissions.
|
|
*/
|
|
function field_ui_update_8001() {
|
|
|
|
$permissions = array(
|
|
'administer comments' => array(
|
|
'administer comment fields',
|
|
'administer comment display',
|
|
),
|
|
'administer content types' => array(
|
|
'administer node fields',
|
|
'administer node display',
|
|
),
|
|
'administer users' => array(
|
|
'administer user fields',
|
|
'administer user display',
|
|
),
|
|
'administer taxonomy' => array(
|
|
'administer taxonomy_term fields',
|
|
'administer taxonomy_term display',
|
|
),
|
|
);
|
|
|
|
// We can not call user_permission_get_modules() as that will start
|
|
// invoking hooks which we can't during update hooks. Directly query
|
|
// for the permissions and insert them into the database.
|
|
foreach ($permissions as $old_permission => $new_permissions) {
|
|
$results = db_query("SELECT rid FROM {role_permission} WHERE permission = :permission", array(':permission' => $old_permission));
|
|
foreach ($results as $record) {
|
|
$query = db_insert('role_permission')->fields(array('rid', 'permission', 'module'));
|
|
foreach ($new_permissions as $new_permission) {
|
|
$query->values(array($record->rid, $new_permission, 'field_ui'));
|
|
}
|
|
$query->execute();
|
|
}
|
|
}
|
|
}
|