diff options
Diffstat (limited to 'includes')
-rw-r--r-- | includes/video_helper.inc | 64 |
1 files changed, 36 insertions, 28 deletions
diff --git a/includes/video_helper.inc b/includes/video_helper.inc index 63f3e5a..2307f87 100644 --- a/includes/video_helper.inc +++ b/includes/video_helper.inc @@ -11,18 +11,23 @@ class video_helper { public function video_object($element) { - $field = content_fields($element['#field_name'], $element['#type_name']); + $field_settings = $element['field']['settings']; + $instance_settings = $element['instance']['settings']; //setup our width x height - $dimensions = explode("x", $element['#item']['data']['dimensions']); - $player_dimensions = explode("x", $element['#item']['data']['player_dimensions']); - if (!isset($dimensions[0]) || !isset($dimensions[1])) { - $dimensions = explode("x", $field['widget']['default_dimensions']); + + $player_dimensions = explode("x", $element['item']['player_dimensions']); + // set the video dimentions + if (!isset($element['item']['dimensions'])) { + $dimensions = explode("x", $instance_settings['default_dimensions']); if (!isset($dimensions[0]) || !isset($dimensions[1])) { drupal_set_message(t('Something is wrong with your dimensions. Make sure you enter dimensions in the form of WxH.'), 'error'); } } + else + $dimensions = explode("x", $element['item']['dimensions']); + if (!isset($player_dimensions[0]) || !isset($player_dimensions[1])) { - $player_dimensions = explode("x", $field['widget']['default_player_dimensions']); + $player_dimensions = explode("x", $instance_settings['default_player_dimensions']); if (!isset($player_dimensions[0]) || !isset($player_dimensions[1])) { drupal_set_message(t('Something is wrong with your player dimensions. Make sure you enter the player dimensions in the form of WxH.'), 'error'); } @@ -30,35 +35,34 @@ class video_helper { // Build our video object for all types. $video = new stdClass(); - $video->fid = $element['#item']['fid']; - $video->original = $element['#item']; - $extension = strtolower(pathinfo($element['#item']['filename'], PATHINFO_EXTENSION)); - $video->files->{$extension}->filename = pathinfo($element['#item']['filepath'], PATHINFO_FILENAME) . '.' . $extension; - $video->files->{$extension}->filepath = $element['#item']['filepath']; - $video->files->{$extension}->url = file_create_url($element['#item']['filepath']); + $video->fid = $element['item']['fid']; + $video->original = $element['item']; + $extension = strtolower(pathinfo($element['item']['filename'], PATHINFO_EXTENSION)); + $video->files->{$extension}->filename = pathinfo($element['item']['filename'], PATHINFO_FILENAME) . '.' . $extension; + $video->files->{$extension}->filepath = $element['item']['uri']; + $video->files->{$extension}->url = file_create_url($element['item']['uri']); $video->files->{$extension}->extension = $extension; - $video->player = strtolower(pathinfo($element['#item']['filename'], PATHINFO_EXTENSION)); + // set the player to play + $video->player = $extension; $video->width = trim($dimensions[0]); $video->height = trim($dimensions[1]); $video->player_width = trim($player_dimensions[0]); $video->player_height = trim($player_dimensions[1]); + // load thumbnail object $video->thumbnail = $this->thumbnail_object($element); - $video->formatter = $element['#formatter']; +// $video->formatter = $element['#formatter']; $video->autoplay = variable_get('video_autoplay', TRUE); $video->autobuffering = variable_get('video_autobuffering', TRUE); $video->theora_player = variable_get('video_ogg_player', 'http://theora.org/cortado.jar'); // lets find out if we have transcoded this file and update our paths. - if (isset($field['widget']['autoconversion']) && $field['widget']['autoconversion'] - && !$element['#item']['data']['bypass_autoconversion']) { + if (isset($field_settings['autoconversion']) && $field_settings['autoconversion'] + && !$element['item']['bypass_autoconversion']) { // discard all existing file data $video->files = new stdClass(); module_load_include('inc', 'video', '/includes/conversion'); $conversion = new video_conversion; $conversion->load_completed_job($video); } -// echo '<pre>'; -// print_r($video); -// die(); // Let othere module to load the video files by referance // Lets find out if we have pushed this file to the cdn if enabled. // @TODO : add correct filesystem load to this @@ -78,7 +82,8 @@ class video_helper { } public function thumbnail_object($element) { - $field = content_fields($element['#field_name'], $element['#type_name']); + $field_settings = $element['field']['settings']; + $instance_settings = $element['instance']['settings']; // Build our thumbnail object $thumbnail = new stdClass(); $thumbnail->filepath = ''; @@ -89,19 +94,22 @@ class video_helper { $thumbnail->description = ''; // Setup our thumbnail path. - $use_default_img = isset($element['#item']['data']['use_default_video_thumb']) ? $element['#item']['data']['use_default_video_thumb'] : false; - if ($use_default_img && !empty($field['widget']['default_video_thumb']['filepath'])) { - $thumbnail->filepath = $field['widget']['default_video_thumb']['filepath']; - } elseif (isset($element['#item']['data']['video_thumb']) ? $element['#item']['data']['video_thumb'] : false) { - $thumbnail->filepath = $element['#item']['data']['video_thumb']; + $default_thumbnail = file_load($field_settings['default_video_thumbnail']); + $use_default_img = isset($element['item']['use_default_video_thumb']) ? $element['item']['use_default_video_thumb'] : false; + if ($use_default_img && !empty($field_settings['default_video_thumbnail'])) { + $thumbnail->filepath = $default_thumbnail->uri; + } elseif (isset($element['item']['video_thumb']) ? $element['item']['video_thumb'] : false) { + $thumbnail_load = file_load($element['item']['video_thumb']); + $thumbnail->filepath = $thumbnail_load->uri; } else { //need some type of default if nothing is present //drupal_set_message(t('No thumbnail has been configured for the video.'), 'error'); } //lets check for an imagecache preset - if (isset($element['imagecache_preset'])) { - $thumbnail->url = imagecache_create_url($element['imagecache_preset'], $thumbnail->filepath); - $thumbnail->filepath = imagecache_create_path($element['imagecache_preset'], $thumbnail->filepath); + $style_name = $field_settings['preview_video_thumb_style']; + $style_path = image_style_path($style_name, $thumbnail->filepath); + if (!file_exists($style_path)) { + $style_path = image_style_url($style_name, $thumbnail->filepath); } else { $thumbnail->url = file_create_url($thumbnail->filepath); } |