function node_unpublish_by_keyword_action in Drupal 7
Same name and namespace in other branches
- 6 modules/node/node.module \node_unpublish_by_keyword_action()
Unpublishes a node containing certain keywords.
Parameters
$node: A node object to modify.
$context: Array with the following elements:
- 'keywords': Array of keywords. If any keyword is present in the rendered node, the node's status flag is set to unpublished.
Related topics
File
- modules/node/ node.module, line 4102 
- The core that allows content to be submitted to the site. Modules and scripts may programmatically submit nodes using the usual form API pattern.
Code
function node_unpublish_by_keyword_action($node, $context) {
  foreach ($context['keywords'] as $keyword) {
    $elements = node_view(clone $node);
    if (strpos(drupal_render($elements), $keyword) !== FALSE || strpos($node->title, $keyword) !== FALSE) {
      $node->status = NODE_NOT_PUBLISHED;
      watchdog('action', 'Set @type %title to unpublished.', array(
        '@type' => node_type_get_name($node),
        '%title' => $node->title,
      ));
      break;
    }
  }
}