function flag_node_save in Flag 7.3
Same name and namespace in other branches
- 7.2 flag.module \flag_node_save()
Shared saving routine between flag_node_insert() and flag_node_update().
2 calls to flag_node_save()
- flag_node_insert in ./
flag.module - Implements hook_node_insert().
- flag_node_update in ./
flag.module - Implements hook_node_update().
File
- ./
flag.module, line 1024 - The Flag module.
Code
function flag_node_save($node) {
// Response to the flag checkboxes added to the form in flag_form_alter().
$remembered = FALSE;
if (isset($node->flag)) {
foreach ($node->flag as $name => $state) {
$flag = flag_get_flag($name);
// Flagging may trigger actions. We want actions to get the current
// node, not a stale database-loaded one:
if (!$remembered) {
$flag
->remember_entity($node->nid, $node);
// Actions may modify a node, and we don't want to overwrite this
// modification:
$remembered = TRUE;
}
$action = $state ? 'flag' : 'unflag';
// Pass TRUE for $skip_permission_check so that flags that have been
// passed through as hidden form values are saved.
$flag
->flag($action, $node->nid, NULL, TRUE);
}
}
}