jeemod.module 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  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. return $items;
  19. }
  20. /**
  21. * Implements hook_entity_info_alter().
  22. */
  23. function jeemod_entity_info_alter(&$entity_info) {
  24. $entity_info['node']['view modes']['chapter'] = array(
  25. 'label' => t('chapter'),
  26. 'custom settings' => TRUE,
  27. );
  28. }
  29. /**
  30. * Implements hook_video_embed_field_handlers_alter().
  31. */
  32. function jeemod_video_embed_field_handlers_alter(&$handlers) {
  33. $handlers['vimeo']['function'] = 'jeemod_handle_vimeo';
  34. }
  35. /**
  36. * Wrapper function to allow forcing API to be enabled for Vimeo videos.
  37. */
  38. function jeemod_handle_vimeo($url, $settings) {
  39. // dsm($settings, 'settings');
  40. // dsm($url, 'url');
  41. $settings['api'] = 1;
  42. // $r = db_query("SELECT entity_id FROM {field_data_field_video} WHERE field_video_video_url = :url", array(
  43. // ':url' => $url
  44. // ));
  45. // foreach($r as $result){
  46. // $id = $result->entity_id;
  47. // }
  48. // $id =
  49. // $settings['player_id'] = "video".$id;
  50. // return video_embed_field_handle_vimeo($url, $settings);
  51. // needed to rewrite the whole output here
  52. // https://github.com/jrue/Vimeo-jQuery-API
  53. // Get ID of video from URL
  54. $vid = _video_embed_field_get_vimeo_id($url);
  55. if (!$vid) {
  56. return array(
  57. '#markup' => l($url, $url),
  58. );
  59. }
  60. // Construct the embed code
  61. $settings['portrait'] = 0;
  62. $width = $settings['width'];
  63. $height = $settings['height'];
  64. unset($settings['width']);
  65. unset($settings['height']);
  66. unset($settings['color']);
  67. unset($settings['portrait']);
  68. unset($settings['title']);
  69. unset($settings['byline']);
  70. unset($settings['autoplay']);
  71. unset($settings['loop']);
  72. $settings['player_id'] = "video-".uniqid();
  73. $settings_str = _video_embed_code_get_settings_str($settings);
  74. return array(
  75. '#markup' => '<iframe id="video'.$settings['player_id'].'" width="' . $width . '" height="' . $height . '" src="//player.vimeo.com/video/' . $vid .
  76. '?' . $settings_str . '" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowfullscreen></iframe>',
  77. );
  78. }