Created
January 11, 2017 21:03
-
-
Save daggerhart/5a02f29049c51825f02d1a962e248e6f to your computer and use it in GitHub Desktop.
Drupal7 Install / Uninstall snippets. Originally from - https://gitlab.com/snippets/17139
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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