? nodeincck-674492.patch
Index: nodeincck.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/nodeincck/nodeincck.module,v
retrieving revision 1.3
diff -u -p -r1.3 nodeincck.module
--- nodeincck.module	2 Dec 2009 05:03:00 -0000	1.3
+++ nodeincck.module	6 Jan 2010 15:15:43 -0000
@@ -23,6 +23,21 @@ function nodeincck_field_info() {
 function nodeincck_field_settings($op, $field) {
   switch ($op) {
     case 'form':
+      $form = array();
+      if (module_exists('token')) {
+        $form['view']['token_help'] = array(
+          '#title' => t('Replacement patterns'),
+          '#type' => 'fieldset',
+          '#collapsible' => TRUE,
+          '#collapsed' => TRUE,
+    //      '#description' => t('Prefer raw-text replacements for text to avoid problems with HTML entities!'),
+          );
+
+        $form['view']['token_help']['help'] = array(
+          '#value' => theme('token_help', 'node'),
+          );
+      }
+      
       $form['nodeincck_nid'] = array(
         '#type' => 'textfield',
         '#title' => t('Node id'),
@@ -101,6 +116,10 @@ function nodeincck_field($op, &$node, $f
  * Implements hook_widget().
  */
 function nodeincck_widget(&$form, &$form_state, $field, $items, $delta = 0) {
+  if (module_exists('token')) {
+    $field['nodeincck_nid']=token_replace($field['nodeincck_nid'],'node',$form['#node']);
+  }
+  
   return array(
     '#type' => 'markup',
     '#title' => '',
@@ -169,11 +188,21 @@ function nodeincck_field_formatter_info(
 function theme_nodeincck_formatter_full_teaser($element) {
 //	$field = content_fields($element['#field_name'], $element['#type_name']);
   $field = $element['#item']['field'];
+
+  if (module_exists('token')) { //proceed to token replacement
+    $field['nodeincck_nid']=token_replace($field['nodeincck_nid'],'node',$element['#node']);
+  }
+
   return _nodeincck_get_node($field, $element['#formatter'] == 'teaser');
 }
 
 
 function _nodeincck_get_node($field, $teaser) {
+  // sanity check on the nodeincck_nid value
+  if (!intval($field['nodeincck_nid'])) {
+    return '';
+  }
+  
   global $language;
   $t = translation_node_get_translations($field['nodeincck_nid']);
 
