From b2efefdc6af6484d3fecb97a952da16fc503e57d Mon Sep 17 00:00:00 2001
From: Jingsheng Wang <skyred@insready.com>
Date: Mon, 5 Aug 2013 11:11:16 +0800
Subject: [PATCH] Issue #450000 by Itangalo, StoraH, skyredwang:add rules
 (event) integration with node clone.

---
 clone.rules.inc | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/clone.rules.inc b/clone.rules.inc
index 40b8c37..d2497a4 100644
--- a/clone.rules.inc
+++ b/clone.rules.inc
@@ -21,3 +21,42 @@ function clone_rules_event_info() {
   );
   return $items;
 }
+
+/**
+ * Implements hook_rules_action_info(). 
+ */
+function clone_rules_action_info() {
+  $actions = array(
+    'clone_action_node_clone' => array(
+      'label' => t('Clone a node'),
+      'group' => t('Node'),
+      'parameter' => array(
+        'node' => array(
+          'type' => 'node',
+          'label' => t('Node to clone'),
+        ),
+      ),
+      'provides' => array(
+        'clone' => array(
+          'type' => 'node',
+          'label' => t('Cloned node'),
+        ),
+      ),
+    ),
+  );
+  return $actions;
+}
+
+/**
+ * Action callback for cloning a node.
+ * @param $node
+ *   The node to clone.
+ */
+function clone_action_node_clone($node) {
+  include_once drupal_get_path('module', 'clone') . '/clone.pages.inc';
+  $new_nid = clone_node_save($node->nid);
+  $new_node = entity_load_single('node', $new_nid);
+  return array(
+    'clone' => $new_node,
+  );
+}
-- 
1.8.1.2

