token.inc 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. /**
  3. * @file
  4. * Token module integration.
  5. */
  6. /**
  7. * Implements hook_token_info().
  8. */
  9. function filefield_paths_token_info() {
  10. $info['tokens']['file']['ffp-name-only'] = array(
  11. 'name' => t("File name"),
  12. 'description' => t("File name without extension."),
  13. );
  14. $info['tokens']['file']['ffp-name-only-original'] = array(
  15. 'name' => t("File name - original"),
  16. 'description' => t("File name without extension - original."),
  17. );
  18. $info['tokens']['file']['ffp-extension-original'] = array(
  19. 'name' => t("File extension - original"),
  20. 'description' => t("File extension - original."),
  21. );
  22. return $info;
  23. }
  24. /**
  25. * Implements hook_tokens().
  26. */
  27. function filefield_paths_tokens($type, $tokens, array $data = array(), array $options = array()) {
  28. $url_options = array('absolute' => TRUE);
  29. if (isset($language)) {
  30. $url_options['language'] = $language;
  31. }
  32. $sanitize = !empty($options['sanitize']);
  33. $replacements = array();
  34. if ($type == 'file' && !empty($data['file'])) {
  35. $file = $data['file'];
  36. foreach ($tokens as $name => $original) {
  37. switch ($name) {
  38. case 'ffp-name-only':
  39. $info = pathinfo($file->filename);
  40. $replacements[$original] = $info['filename'];
  41. break;
  42. case 'ffp-name-only-original':
  43. $info = pathinfo($file->origname);
  44. $replacements[$original] = $info['filename'];
  45. break;
  46. case 'ffp-extension-original':
  47. $info = pathinfo($file->origname);
  48. $replacements[$original] = $info['extension'];
  49. break;
  50. }
  51. }
  52. }
  53. return $replacements;
  54. }