function domain_vbo_modify_node_domains in Domain VBO 7
domain_vbo_modify_node_domains: Action callback.
File
- ./
domain_vbo.node.inc, line 66 - Contains functions for Domain VBO User action.
Code
function domain_vbo_modify_node_domains(&$node, $context) {
$action = $context['action'];
$all_domains = $context['all_domains'];
$submitted_domains = $context['domains'];
switch ($all_domains) {
case 'yes':
$node->domain_site = TRUE;
break;
case 'not':
$node->domain_site = FALSE;
break;
case 'default':
break;
}
// This function is called for each entity (node).
switch ($action) {
case 'replace':
$node->domains = $submitted_domains;
break;
case 'add':
// Get current node's domains and merge with submitted.
$current_domains = $node->domains;
// Just add the arrays with domains together.
$combined_domains = $current_domains + $submitted_domains;
$node->domains = array_unique($combined_domains);
break;
case 'remove':
// Get current node's domains and substract submitted.
$current_domains = $node->domains;
// Remove submitted domains from the current domains array.
$subtracted_domains = array_diff_assoc($current_domains, $submitted_domains);
$node->domains = array_unique($subtracted_domains);
break;
}
// Save new settings.
domain_node_access_records($node);
// Explicit save to force all node access hooks to be called.
node_save($node);
}