Index: i18nmenu_node.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/i18nmenu_node/i18nmenu_node.module,v
retrieving revision 1.16
diff -u -p -r1.16 i18nmenu_node.module
--- i18nmenu_node.module	17 Sep 2010 10:15:52 -0000	1.16
+++ i18nmenu_node.module	17 Sep 2010 10:22:39 -0000
@@ -373,6 +373,46 @@ function i18nmenu_node_nodeapi(&$node, $
 }
 
 /**
+ * Implementation of hook_token_list().
+ */
+function i18nmenu_node_token_list($type = 'all') {
+  if ($type == 'node' || $type == 'all') {
+    $tokens['node']['i18n-menuhierarchy-raw'] = t("The unfiltered menu path (as reflected in the breadcrumb), not including Home or [menu]. Separated by /.");
+    return $tokens;
+  }
+}
+
+/**
+ * Implementation of hook_token_values().
+ */
+function i18nmenu_node_token_values($type, $node = NULL, $options = array()) {
+  $values = array();
+
+  if ($type == 'node') {
+    $value = '';
+    $tnid = _i18nmenu_node_get_node_tnid($node);
+    $tnode = !empty($tnid) && $tnid != $nid ? (object) array('nid' => $tnid) : $node;
+    _i18nmenu_node_prepare($tnode);
+
+    if (!empty($tnode->menu)) {
+      $trail_raw = array();
+      $item = $tnode->menu;
+
+      while ($item) {
+        array_unshift($trail_raw, _i18nmenu_get_item_title($item, FALSE, $node->language));
+        $item = empty($item['plid']) ? FALSE : menu_link_load($item['plid']);
+      }
+
+      $value = implode('/', $trail_raw);
+    }
+
+    $values['i18n-menuhierarchy-raw'] = $value;
+  }
+
+  return $values;
+}
+
+/**
  * Implementation of hook_form_FORM_ID_alter().
  *
  * Handle addition/deletions to the translation set performed from the "Select
