function entity_rules_update_7101 in Entity Rules 7
Add entity_rule_setting table.
Implements hook_update_n().
Converts variables to entities and deletes variables.
File
- ./
entity_rules.install, line 88 - Install functions
Code
function entity_rules_update_7101() {
$schema = entity_rules_schema();
db_create_table('entity_rule_setting', $schema['entity_rule_setting']);
cache_clear_all('*', 'cache', TRUE);
drupal_static_reset('entity_get_info');
foreach (entity_get_info() as $entity_type => $entity_info) {
if (!empty($entity_info['fieldable'])) {
foreach ($entity_info['bundles'] as $bundle_name => $bundle_info) {
$all_ops = array(
'create',
'update',
'delete',
'validation',
'form_access',
);
foreach ($all_ops as $op) {
$var_name = 'entity_rules_' . $entity_type . '__' . $bundle_name . '_' . $op;
$settings = variable_get($var_name, NULL);
if (!empty($settings)) {
foreach ($settings as $rules_name => $setting) {
$setting['rules_config'] = $rules_name;
$setting['entity_type'] = $entity_type;
$setting['bundle'] = $bundle_name;
$setting['op'] = $op;
$entity = entity_create('entity_rule_setting', $setting);
entity_save('entity_rule_setting', $entity);
}
}
// Delete variable if it exists.
if ($settings !== NULL) {
variable_del($var_name);
}
}
}
}
}
}