function domain_rules_action_set_entity_domain in Domain Rules 7
File
- ./
domain_rules.module, line 216 - domain_rules.module @description Port of 'Domain rules' by shushu for Drupal7
Code
function domain_rules_action_set_entity_domain($subdomain, $entity) {
$domain = domain_lookup(NULL, $subdomain, TRUE);
$dwrapper = entity_metadata_wrapper('domain_entity', $domain);
if (isset($domain['domain_id'])) {
$domain_id = $domain['domain_id'];
// Based on #893450 - use -1 in case of 0
if ($domain_id == 0) {
$domain_id = -1;
}
// Check if it's an allowed entity types:
$allowed_entity_types = domain_entity_allowed_entity_types();
if (in_array($entity
->type(), array_keys($allowed_entity_types))) {
// Get domain_entity field type instances:
if ($field_instance = domain_entity_entity_field_instance($entity
->type())) {
$field_instance_name = $field_instance['name'];
}
$values = $entity->{$field_instance_name}
->value();
$values[] = array(
'domain_id' => $domain_id,
);
$entity->{$field_instance_name}
->set($values);
$entity
->save();
}
else {
drupal_set_message(t('Entity of type %type can\'t get domain.', array(
'%type' => $entity
->type(),
)), 'error');
}
}
else {
drupal_set_message(t('The domain %domain does not exist.', array(
'%domain' => $subdomain,
)), 'error');
}
return array(
'entity' => $entity,
);
}