jeemod.module 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <?php
  2. /**
  3. * Implements hook_menu().
  4. */
  5. function jeemod_menu() {
  6. $items = array();
  7. $base = array(
  8. 'type' => MENU_CALLBACK,
  9. 'file' => 'jeemod.pages.inc',
  10. );
  11. $items['jee/chapter'] = $base+array(
  12. 'title' => 'jee',
  13. 'page callback' => 'jeemod_chapter',
  14. 'page arguments' => array(2),
  15. 'access callback' => TRUE,
  16. // 'access arguments' => array('use materio search api'),
  17. );
  18. $items['jee/static'] = $base+array(
  19. 'title' => 'jee',
  20. 'page callback' => 'jeemod_static',
  21. // 'page arguments' => array(2),
  22. 'access callback' => TRUE,
  23. // 'access arguments' => array('use materio search api'),
  24. );
  25. return $items;
  26. }
  27. /**
  28. * Implements hook_entity_info_alter().
  29. */
  30. function jeemod_entity_info_alter(&$entity_info) {
  31. $entity_info['node']['view modes']['chapter'] = array(
  32. 'label' => t('chapter'),
  33. 'custom settings' => TRUE,
  34. );
  35. }
  36. /**
  37. * Implements hook_video_embed_field_handlers_alter().
  38. */
  39. function jeemod_video_embed_field_handlers_alter(&$handlers) {
  40. $handlers['vimeo']['function'] = 'jeemod_handle_vimeo';
  41. }
  42. /**
  43. * Wrapper function to allow forcing API to be enabled for Vimeo videos.
  44. */
  45. function jeemod_handle_vimeo($url, $settings) {
  46. // dsm($settings, 'settings');
  47. // dsm($url, 'url');
  48. $settings['api'] = 1;
  49. // $r = db_query("SELECT entity_id FROM {field_data_field_video} WHERE field_video_video_url = :url", array(
  50. // ':url' => $url
  51. // ));
  52. // foreach($r as $result){
  53. // $id = $result->entity_id;
  54. // }
  55. // $id =
  56. // $settings['player_id'] = "video".$id;
  57. // return video_embed_field_handle_vimeo($url, $settings);
  58. // needed to rewrite the whole output here
  59. // https://github.com/jrue/Vimeo-jQuery-API
  60. // Get ID of video from URL
  61. $vid = _video_embed_field_get_vimeo_id($url);
  62. if (!$vid) {
  63. return array(
  64. '#markup' => l($url, $url),
  65. );
  66. }
  67. // Construct the embed code
  68. $settings['portrait'] = 0;
  69. $width = $settings['width'];
  70. $height = $settings['height'];
  71. unset($settings['width']);
  72. unset($settings['height']);
  73. unset($settings['color']);
  74. unset($settings['portrait']);
  75. unset($settings['title']);
  76. unset($settings['byline']);
  77. unset($settings['autoplay']);
  78. unset($settings['loop']);
  79. $settings['player_id'] = "video-".uniqid();
  80. $settings_str = _video_embed_code_get_settings_str($settings);
  81. return array(
  82. '#markup' => '<iframe id="video'.$settings['player_id'].'" width="' . $width . '" height="' . $height . '" src="//player.vimeo.com/video/' . $vid .
  83. '?' . $settings_str . '" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowfullscreen></iframe>',
  84. );
  85. }