function filefield_paths_token_values in File (Field) Paths 6.2
Same name and namespace in other branches
- 5 filefield_paths.module \filefield_paths_token_values()
- 6 filefield_paths.module \filefield_paths_token_values()
Implements hook_token_values().
File
- modules/
token.inc, line 33 - Token module integration.
Code
function filefield_paths_token_values($type, $object = NULL) {
if ($type == 'field' || $type == 'filefield_paths') {
$item = pathinfo($object[0]['filename']);
$tokens = array();
if (!module_exists('filefield')) {
// PHP < 5.2: pathinfo() doesn't return 'filename' variable.
$tokens['filefield-onlyname'] = isset($item['filename']) ? $item['filename'] : basename($object[0]['filename'], ".{$item['extension']}");
$tokens['filefield-extension'] = $item['extension'];
}
// Original filename.
$orig = $item;
$filename = $object[0]['filename'];
$result = db_fetch_object(db_query("SELECT origname FROM {files} WHERE fid = %d", $object[0]['fid']));
if (!empty($result->origname)) {
$object[0]['origname'] = $result->origname;
}
if (!empty($object[0]['origname'])) {
$orig = pathinfo($object[0]['origname']);
$filename = $object[0]['origname'];
}
// PHP < 5.2: pathinfo() doesn't return 'filename' variable.
$tokens['filefield-onlyname-original'] = isset($orig['filename']) ? $orig['filename'] : basename($filename, ".{$orig['extension']}");
$tokens['filefield-extension-original'] = $orig['extension'];
// Invoke hook_filefield_paths_tokens().
foreach (module_implements('filefield_paths_field_tokens') as $module) {
$function = "{$module}_token_values";
$tokens = array_merge_recursive($function('field'), $tokens);
}
return $tokens;
}
}