Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save daggerhart/5a02f29049c51825f02d1a962e248e6f to your computer and use it in GitHub Desktop.
Save daggerhart/5a02f29049c51825f02d1a962e248e6f to your computer and use it in GitHub Desktop.
Drupal7 Install / Uninstall snippets. Originally from - https://gitlab.com/snippets/17139
<?php
/**
* Uninstall modules.
*/
function lth_configuration_update_7001() {
module_disable(array('module1', 'module2'));
drupal_uninstall_modules(array('module1', 'module2'));
}
/**
* Delete role.
*/
function lth_configuration_update_7002() {
user_role_delete('role 1');
}
/**
* Install modules.
*/
function lth_configuration_update_7003() {
module_enable(array('module1', 'module2'));
}
/**
* Add role visibility to a block.
*/
function lth_configuration_update_7004() {
$module = 'module1';
$delta = 'delta';
$role = user_role_load_by_name('role 1');
db_insert('block_role')
->fields(array('rid', 'module', 'delta'))
->values(array('rid' => $role->rid, 'module' => $module, 'delta' => $delta))
->execute();
}
/**
* Delete tables.
*/
function lth_configuration_update_7005() {
db_delete('table_name')
->execute();
}
/**
* Disable rule.
*/
function lth_configuration_update_7006() {
if ($rules_config = rules_config_load('rules_lth_configuration_rule1')) {
$rules_config->active = FALSE;
$rules_config->save();
}
}
/**
* Revert rule.
*/
function lth_configuration_update_7007() {
if ($rules_config = rules_config_load('rules_lth_configuration_rule1')) {
$rules_config->delete();
}
}
/**
* Revert features.
*/
function lth_configuration_update_7008() {
features_revert(array('lth_features' => array('features_component')));
}
/**
* Delete multiple custom blocks.
*/
function lth_configuration_update_7009() {
$module = 'block';
$deltas = array('24', '25');
foreach ($deltas as $delta) {
db_delete('block')
->condition('module', $module)
->condition('delta', $delta)
->execute();
db_delete('block_custom')
->condition('bid', $delta)
->execute();
db_delete('block_role')
->condition('module', $module)
->condition('delta', $delta)
->execute();
}
}
/**
* Add permissions.
*/
function lth_configuration_update_7010() {
user_role_grant_permissions(DRUPAL_ANONYMOUS_RID, array('permission name')); // Anonymous users
user_role_grant_permissions(DRUPAL_AUTHENTICATED_RID, array('permission name')); // Authentificated users
user_role_grant_permissions(3, array('permission name')); // Role ID
}
/**
* Delete nodes and content types.
*/
function lth_configuration_update_7011() {
$types = array(
'forum',
'poll',
);
foreach($types as $type) {
// First, delete nodes
$results = db_select('node', 'n')
->fields('n', array('nid'))
->condition('type', $type)
->execute();
foreach ($results as $result) {
$nids[] = $result->nid;
}
if (!empty($nids)) {
node_delete_multiple($nids);
drupal_set_message(t('%count nodes has been deleted.', array('%count' => count($nids))));
}
// Then, delete content type
if (node_type_load($type)) {
node_type_delete($type);
variable_del('node_preview_' . $type);
drupal_set_message(t('%type content type has been deleted.', array('%type' => $type)));
}
}
node_types_rebuild();
variable_set('menu_rebuild_needed', TRUE);
}
/**
* Add OG roles.
*/
function lth_configuration_update_7011() {
$group = 'node';
$bundle = 'group';
// Create new OG roles
$roles = array(
'Role 1',
'Role 2',
);
foreach ($roles as $role) {
$role = og_role_create($role, $group, 0, $bundle);
og_role_save($role);
}
}
/**
* Change OG permissions.
*/
function lth_configuration_update_7012() {
$group = 'node';
$bundle = 'circle';
// Change permissions
$og_roles = array_flip(og_roles($group, $bundle));
// Member role
$permissions = array(
'permission 1' => 0,
'permission 2' => 0,
);
og_role_change_permissions($og_roles[OG_AUTHENTICATED_ROLE], $permissions);
// Custom role
$permissions = array(
'permission 1' => 1,
'permission 2' => 1,
);
og_role_change_permissions($og_roles['Custom member'], $permissions);
}
/**
* Create new menu link.
*/
function lth_configuration_update_7013() {
$item = array(
'link_path' => '<front>',
'link_title' => 'Home',
'menu_name' => 'top-menu',
'weight' => -50,
'expanded' => 0,
'module' => 'menu',
);
menu_link_save($item);
}
/**
* Update menu link.
*/
function lth_configuration_update_7014() {
db_update('menu_links')
->fields(array(
'link_title' => 'New link name',
'expanded' => '1',
'weight' => '-47',
'hidden' => '0',
))
->condition('mlid', '7577')
->execute();
variable_set('menu_rebuild_needed', TRUE);
}
/**
* Delete menu link.
*/
function lth_configuration_update_7015() {
db_delete('menu_links')
->condition('mlid', '9260')
->execute();
variable_set('menu_rebuild_needed', TRUE);
}
/**
* Add menu link roles.
*/
function lth_configuration_update_7016() {
$values = array(
array(
'mlid' => '7577',
'rid' => 3,
),
array(
'mlid' => '7578',
'rid' => 5,
),
);
$query = db_insert('menu_links_visibility_role')
->fields(array('mlid', 'rid'));
foreach ($values as $record) {
$query->values($record);
}
$query->execute();
variable_set('menu_rebuild_needed', TRUE);
}
/**
* Remove fields' groups in user display mode.
*/
function lth_configuration_update_7016() {
$entity_type = 'user';
$bundle_name = 'user';
$mode = 'default';
$groups = array(
'group_public_profile',
'group_organisation',
'group_needs',
'group_skills',
'group_interests',
'group_background',
'group_testimony',
);
foreach ($groups as $group) {
if ($group = field_group_load_field_group($group, $entity_type, $bundle_name, $mode)) {
ctools_include('export');
field_group_group_export_delete($group, FALSE);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment