--- ../../token/token.module 2009-06-01 10:15:32.000000000 -0600 +++ ./token.module 2009-09-26 14:46:00.000000000 -0600 @@ -305,6 +305,18 @@ function token_get_values($type = 'globa $all = array_merge($tokens['global']['default'], $tokens[$type][$id]); + foreach($all as $key => $value) { + static $warnings; + // Token name collisions results in an array being returned. Return the last + // element instead of an array, which is just a #fail + if (is_array($value)) { + $all[$key] = array_pop($value); + if (empty($warnings[$key])) { + watchdog('token','More than one module has defined the same token, %key. ', array('%key' => $key), WATCHDOG_WARNING); + $warnings[$key] = TRUE; + } + } + } $result = new stdClass(); $result->tokens = array_keys($all); $result->values = array_values($all);