From 40003c8307ca64da0cd1ab0ee4d87f4812be8088 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Wed, 19 Aug 2009 20:19:37 +0000 Subject: - Patch #113614 by eaton, fago, et al: add centralized token/placeholder subsituation to core. --- modules/upload/upload.tokens.inc | 45 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 modules/upload/upload.tokens.inc (limited to 'modules/upload/upload.tokens.inc') diff --git a/modules/upload/upload.tokens.inc b/modules/upload/upload.tokens.inc new file mode 100644 index 000000000..92c18367a --- /dev/null +++ b/modules/upload/upload.tokens.inc @@ -0,0 +1,45 @@ + array( + 'name' => t('File attachment'), + 'description' => t('The first file attached to a node, if one exists.'), + 'type' => 'file', + ) + ); + return $results; +} + +/** + * Implement hook_tokens(). + */ +function upload_tokens($type, $tokens, array $data = array(), array $options = array()) { + $replacements = array(); + + if ($type == 'node' && !empty($data['node'])) { + $node = $data['node']; + + foreach ($tokens as $name => $original) { + if ($name == 'upload') { + $upload = array_shift($node->files); + $replacements[$original] = file_create_url($upload->filepath); + } + } + + if (($upload_tokens = token_find_with_prefix($tokens, 'upload')) && !empty($node->files) && $upload = array_shift($node->files)) { + $replacements += token_generate('file', $upload_tokens, array('file' => $upload), $options); + } + } + + return $replacements; +} -- cgit v1.2.3