From 90ae392eadddfad417ed4ac752134e3eca70066c Mon Sep 17 00:00:00 2001 From: Heshan Wanigasooriya Date: Thu, 3 Feb 2011 08:51:55 +0000 Subject: Updating the video players with the D7 theme registry preprocess functions. --- includes/video_helper.inc | 64 ++++++++++++++++++++++++++--------------------- 1 file changed, 36 insertions(+), 28 deletions(-) (limited to 'includes') 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 '
';
-//    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);
     }
-- 
cgit v1.2.3