metatag_mobile.module 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <?php
  2. /**
  3. * @file
  4. * Primary hook implementations for Metatag:Mobile.
  5. */
  6. /**
  7. * Implements hook_ctools_plugin_api().
  8. */
  9. function metatag_mobile_ctools_plugin_api($owner, $api) {
  10. if ($owner == 'metatag' && $api == 'metatag') {
  11. return array('version' => 1);
  12. }
  13. }
  14. /**
  15. * Implements hook_theme().
  16. */
  17. function metatag_mobile_theme() {
  18. $info['metatag_mobile_android_app'] = array(
  19. 'render element' => 'element',
  20. );
  21. $info['metatag_mobile_ios_app'] = array(
  22. 'render element' => 'element',
  23. );
  24. $info['metatag_mobile_alt_handheld'] = array(
  25. 'render element' => 'element',
  26. );
  27. return $info;
  28. }
  29. /**
  30. * Theme callback for an Android app link meta tag.
  31. *
  32. * The format is:
  33. * <link rel="alternate" href="android-app://com.example.Example/sitesection/sitepage/thispage" />
  34. */
  35. function theme_metatag_mobile_android_app($variables) {
  36. // Pass everything through to the normal 'link' tag theme.
  37. $variables['element']['#name'] = 'alternate';
  38. $variables['element']['#value'] = 'android-app://' . $variables['element']['#value'];
  39. return theme('metatag_link_rel', $variables);
  40. }
  41. /**
  42. * Theme callback for an iOS app link meta tag.
  43. *
  44. * The format is:
  45. * <link rel="alternate" href="ios-app://123456/example/hello-screen" />
  46. */
  47. function theme_metatag_mobile_ios_app($variables) {
  48. // Pass everything through to the normal 'link' tag theme.
  49. $variables['element']['#name'] = 'alternate';
  50. $variables['element']['#value'] = 'ios-app://' . $variables['element']['#value'];
  51. return theme('metatag_link_rel', $variables);
  52. }
  53. /**
  54. * Theme callback for a handheld-formatted alternative URL.
  55. *
  56. * The format is:
  57. * <link rel="alternate" media="handheld" href="https://phone.example.com/the/page" />
  58. */
  59. function theme_metatag_mobile_alt_handheld($variables) {
  60. $element = &$variables['element'];
  61. $args = array(
  62. '#name' => 'rel',
  63. '#media' => 'media',
  64. '#value' => 'href',
  65. );
  66. element_set_attributes($element, $args);
  67. unset($element['#value']);
  68. return theme('html_tag', $variables);
  69. }
  70. /*
  71. * theme-color
  72. * MobileOptimized
  73. * HandheldFriendly
  74. * viewport
  75. * cleartype
  76. * apple-mobile-web-app-capable
  77. * apple-mobile-web-app-status-bar-style
  78. * format-detection
  79. * android-app
  80. */