Index: actions.inc
===================================================================
--- actions.inc	(revision 110)
+++ actions.inc	(working copy)
@@ -454,3 +454,60 @@
       return array('message' => $edit['message']);
   }
 }
+
+function action_redirect($op, $edit = array(), &$node) {
+    switch ($op) {
+        case 'metadata' :
+            return array (
+                'description' => t('Redirect user to a page'),
+                'type' => t('Redirect'),
+                'batchable' => false,
+                'configurable' => true);
+
+        case 'do' :
+            if(!isset($edit['nid'])){
+                // log
+                watchdog('error', t('Action Redirect: no redirect nid available!'));
+                break;
+            }
+            // get the path
+            $nid = $edit['nid'];
+
+            // log
+            watchdog('action', t('Redirecting to %nid', array('%nid' => $nid)));
+
+            drupal_goto($nid);
+
+            break;
+
+            // return an HTML config form for the action
+        case 'form' :
+            // default values for form
+            $form = array ();
+
+            $form['nid'] = array (
+                '#type' => 'textfield',
+                '#title' => t('Enter the relative nid URL.'),
+                '#default_value' => $edit['nid'],
+                '#maxlength' => 250,
+                '#collapsible' => FALSE,
+                '#required' => TRUE,
+                '#description' => t('Specify the existing path you wish to redirect to. For example: node/28, forum/1, taxonomy/term/1+2.'),
+                '#field_prefix' => url(NULL, NULL, NULL, TRUE) . (variable_get('clean_url', 0) ? '' : '?q=')
+                );
+           
+            return $form;
+
+            // validate the HTML form
+        case 'validate' :
+            return TRUE;
+
+            // process the HTML form to store configuration
+        case 'submit' :
+
+            $params = array (
+                'nid' => $edit['nid'],
+            );
+            return $params;
+    }
+}
