diff --git a/includes/nodequeue.admin.inc b/includes/nodequeue.admin.inc index 7d220c0..ba95e69 100644 --- a/includes/nodequeue.admin.inc +++ b/includes/nodequeue.admin.inc @@ -53,6 +53,10 @@ $id = nodequeue_get_content_id($queue, $node); nodequeue_subqueue_add($queue, $subqueue, $id); + if (module_exists('rules')) { + rules_invoke_event('nodequeue_added_' . $queue->qid, array('node' => $node)); + } + // Provide a response if this is javascript. if (!empty($_POST['js'])) { if (isset($_GET['tab'])) { @@ -81,6 +85,10 @@ $id = nodequeue_get_content_id($queue, $node); nodequeue_subqueue_remove_node($subqueue->sqid, $id); + if (module_exists('rules')) { + rules_invoke_event('nodequeue_removed_' . $queue->qid, array('node' => $node)); + } + // Provide a response if this is javascript. if (!empty($_POST['js'])) { if (isset($_GET['tab'])) { diff --git a/includes/nodequeue.rules.inc b/includes/nodequeue.rules.inc new file mode 100644 index 0000000..0b22380 --- /dev/null +++ b/includes/nodequeue.rules.inc @@ -0,0 +1,41 @@ + array( + 'type' => 'node', + 'label' => t('Queued node'), + ), + ); + // For each nodequeue we define two events + $items['nodequeue_added_' . $queue->qid] = array( + 'label' => t('Node added to the nodequeue "@queue-title"', array('@queue-title' => $queue->title)), + 'module' => 'Nodequeue', + 'arguments' => $args, + ); + + $items['nodequeue_removed_' . $queue->qid] = array( + 'label' => t('Node removed from nodequeue "@queue-title"', array('@queue-title' => $queue->title)), + 'module' => 'Nodequeue', + 'arguments' => $args, + ); + + $items['nodequeue_saved_' . $queue->qid] = array( + 'label' => t('Nodequeue "@queue-title" is saved', array('@queue-title' => $queue->title)), + 'module' => 'Nodequeue', + 'arguments' => array(), + ); + } + return $items; +} \ No newline at end of file diff --git a/nodequeue.module b/nodequeue.module index b936ec5..0f8a2c1 100644 --- a/nodequeue.module +++ b/nodequeue.module @@ -953,6 +953,11 @@ nodequeue_add_subqueue($queue, $title, $reference); } } + + if (module_exists('rules')) { + rules_invoke_event('nodequeue_saved_' . $queue->qid, NULL); + } + return $queue->qid; }