diff --git a/modules/forward/forward.module b/modules/forward/forward.module
index 024c729..6c60c14 100644
--- a/modules/forward/forward.module
+++ b/modules/forward/forward.module
@@ -1086,6 +1086,30 @@ function forward_mail($key, &$message, $params) {
   }
 }
 
+/**
+ * Enable the forward link/form to be positioned relative to other fields.
+ * Implements hook_field_extra_fields();
+ */
+function forward_field_extra_fields() {
+  $extra = array();
+
+  $types = node_type_get_types();
+  foreach ($types as $type => $info) {
+    if (variable_get('forward_display_' . $type, FALSE)) {
+      $extra['node'][$type] = array(
+        'display' => array(
+          'forward_form' => array(
+            'label' => t('Forward form'),
+            'description' => t('Form to forward this content'),
+            'weight' => 0,
+          ),
+        ),
+      );
+    }
+  }
+
+  return $extra;
+}
 
 /**
  * Generate links for pages
@@ -1133,7 +1157,11 @@ function forward_node_view($node, $view_mode) {
     }
     elseif ((variable_get('forward_form_type', 'link') == 'form') && (!isset($node->in_preview)) && ((($view_mode == 'teaser') && variable_get('forward_display_teasers', 0)) || (($vi
       $output = drupal_get_form('forward_form', 'node/' . $node->nid, $node->title, TRUE);
-      $node->content['forward'] = $output;
+      $extra_fields = field_extra_fields_get_display('node', $node->type, $view_mode);
+      if ($extra_fields['forward_form']['visible']) {
+        $node->content['forward'] = $output;
+        $node->content['forward']['#weight'] = $extra_fields['forward_form']['weight'];
+      }
     }
   }
 }

Comments

john.oltman’s picture

Status: Active » Closed (won't fix)