array( 'type' => 'node', 'description' => t('Move book page to new parent'), 'configurable' => TRUE, 'behavior' => array('changes_node_property'), ), 'views_bulk_operations_remove_book_action' => array( 'type' => 'node', 'description' => t('Remove book page from outline'), 'configurable' => FALSE, 'behavior' => array('deletes_node_property'), ) ); } function views_bulk_operations_move_book_action_form($context) { if (!isset($context['book'])) { $context['book'] = ''; } $options = array(); $books = book_get_books(); foreach ($books as $value) { $options[$value['nid']] = $value['title']; } if (empty($options)) { drupal_set_message(t('You have no books.'), 'error'); return array(); } $form['book'] = array( '#type' => 'select', '#title' => t('Choose a parent book'), '#options' => $options, '#description' => t('Select the parent book page you wish to move the book page into.'), ); return $form; } function views_bulk_operations_move_book_action_submit($form, $form_state) { return array( 'book' => $form_state['values']['book'], ); } function views_bulk_operations_move_book_action($node, $context) { if (isset($context['book'])) { $book_node = node_load($context['book']); $bid = $book_node->nid; $mlid = $book_node->book['mlid']; $node->book['bid'] = $bid; $node->book['plid'] = $mlid; $node->book['module'] = 'book'; book_nodeapi($node, 'update', $a3 = NULL, $a4 = NULL); drupal_set_message(t('Book page %node was successfully added to %book_node.', array('%node' => $node->title, '%book_node' =>$book_node->title))); } } function views_bulk_operations_remove_book_action($node, $context) { $node->book['module'] = 'book'; book_nodeapi($node, 'delete', $a3 = NULL, $a4 = NULL); drupal_set_message(t('%node was removed from outline.', array('%node' => $node->title, '%mlid' => $node->book['mlid']))); }