--git a/insert/includes/insert.inc b/insert/includes/insert.inc index ea81870..83e9142 100644 --- a/insert/includes/insert.inc +++ b/insert/includes/insert.inc @@ -14,6 +14,7 @@ function insert_insert_styles() { $insert_styles['link'] = array('label' => t('Link to file'), 'weight' => -12); $insert_styles['icon_link'] = array('label' => t('Link to file (with icon)'), 'weight' => -11); $insert_styles['image'] = array('label' => t('Original image'), 'weight' => -10); + $insert_styles['video'] = array('label' => t('Embed video'), 'weight' => -9); return $insert_styles; } @@ -32,14 +33,18 @@ function insert_insert_content($item, $style, $widget) { $info = @pathinfo($file->uri); if (in_array(strtolower($info['extension']), array('png', 'jpg', 'jpeg', 'gif'))) { $style_name = 'image'; + } elseif (in_array(strtolower($info['extension']), array('mp4'))) { + $style_name = 'video'; } } if ($style_name == 'image') { return theme('insert_image', array('item' => $item, 'widget' => $widget)); } - if ($style_name == 'icon_link') { + else if ($style_name == 'icon_link') { return theme('insert_icon_link', array('item' => $item, 'widget' => $widget)); + } elseif ($style_name == 'video') { + return theme('insert_video', array('item' => $item, 'widget' => $widget)); } else { return theme('insert_link', array('item' => $item, 'widget' => $widget)); @@ -82,3 +87,12 @@ function template_preprocess_insert_icon_link(&$vars) { $vars['type'] = $vars['file']->filemime .'; length='. $vars['file']->filesize; $vars['icon'] = theme('file_icon', array('file' => $vars['file'])); } + +/** + * Preprocess variables for the insert-video.tpl.php file. + */ +function template_preprocess_insert_video(&$vars) { + $vars['file'] = file_load($vars['item']['fid']); + $absolute = isset($vars['widget']['settings']['insert_absolute']) ? $vars['widget']['settings']['insert_absolute'] : NULL; + $vars['url'] = insert_create_url($vars['file']->uri, $absolute); +} \ No newline at end of file diff --git a/insert/includes/video.inc b/insert/includes/video.inc new file mode 100644 index 0000000..c87db7b --- /dev/null +++ b/insert/includes/video.inc @@ -0,0 +1,18 @@ + array( + 'element_type' => 'managed_file', + 'wrapper' => '.video-widget', + ), + ); +} diff --git a/insert/insert.module b/insert/insert.module index a0e9553..ef347cb 100644 --- a/insert/insert.module +++ b/insert/insert.module @@ -10,6 +10,8 @@ require dirname(__FILE__) . '/includes/file.inc'; require dirname(__FILE__) . '/includes/image.inc'; require dirname(__FILE__) . '/includes/insert.inc'; +require dirname(__FILE__) . '/includes/video.inc'; + /** * Implements hook_element_info(). @@ -55,7 +57,11 @@ function insert_theme() { 'template' => 'templates/insert-icon-link', 'file' => 'includes/insert.inc', ), - + 'insert_video' => array( + 'variables' => array('item' => NULL, 'widget' => NULL), + 'template' => 'templates/insert-video', + 'file' => 'includes/video.inc', + ), // Theme functions in includes/image.inc. 'image_insert_image' => array( 'variables' => array('item' => NULL, 'widget' => NULL, 'style_name' => NULL), diff --git a/insert/templates/insert-video.tpl.php b/insert/templates/insert-video.tpl.php new file mode 100644 index 0000000..b2dc944 --- /dev/null +++ b/insert/templates/insert-video.tpl.php @@ -0,0 +1,26 @@ + + \ No newline at end of file -- 2.3.2 (Apple Git-55)