From 1efc8d1b18ccb8334db33d28e20ff261330e8977 Mon Sep 17 00:00:00 2001 From: Heshan Wanigasooriya Date: Tue, 7 Dec 2010 03:33:52 +0000 Subject: Adding field to main video module of intention of removing video types we had in D6 --- types/videoupload/videoupload.field.inc | 476 -------------------------------- types/videoupload/videoupload.module | 2 - 2 files changed, 478 deletions(-) delete mode 100644 types/videoupload/videoupload.field.inc (limited to 'types') diff --git a/types/videoupload/videoupload.field.inc b/types/videoupload/videoupload.field.inc deleted file mode 100644 index d7d4d31..0000000 --- a/types/videoupload/videoupload.field.inc +++ /dev/null @@ -1,476 +0,0 @@ - array( - 'label' => t('Video'), - 'description' => t('This field stores the ID of an video file as an integer value.'), - 'settings' => array( - 'uri_scheme' => variable_get('file_default_scheme', 'public'), - 'default_image' => 0, - ), - 'instance_settings' => array( - 'file_extensions' => 'avi wmv flv', - 'file_directory' => '', - 'max_filesize' => '', - 'max_resolution' => '', - 'min_resolution' => '', - ), - 'default_widget' => 'video_video', - 'default_formatter' => 'video', - ), - ); -} - -/** - * Implements hook_field_settings_form(). - */ -function videoupload_field_settings_form($field, $instance) { - $defaults = field_info_field_settings($field['type']); - $settings = array_merge($defaults, $field['settings']); - - $scheme_options = array(); - foreach (file_get_stream_wrappers(STREAM_WRAPPERS_WRITE_VISIBLE) as $scheme => $stream_wrapper) { - $scheme_options[$scheme] = $stream_wrapper['name']; - } - $form['uri_scheme'] = array( - '#type' => 'radios', - '#title' => t('Upload destination'), - '#options' => $scheme_options, - '#default_value' => $settings['uri_scheme'], - '#description' => t('Select where the final files should be stored. Private file storage has significantly more overhead than public files, but allows restricted access to files within this field.'), - ); - - $form['default_image'] = array( - '#title' => t('Default image'), - '#type' => 'managed_file', - '#description' => t('If no image is uploaded, this image will be shown on display.'), - '#default_value' => $field['settings']['default_image'], - '#upload_location' => 'public://default_images/', - ); - - return $form; -} - -/** - * Implements hook_field_instance_settings_form(). - */ -function videoupload_field_instance_settings_form($field, $instance) { - $settings = $instance['settings']; - - // Use the file field instance settings form as a basis. - $form = file_field_instance_settings_form($field, $instance); - - //default settings - $default = video_default_widget_settings($widget); - $form = $form + $default; - return $form; -} - -/** - * Element validate function for resolution fields. - */ -function _video_field_resolution_validate($element, &$form_state) { - if (!empty($element['x']['#value']) || !empty($element['y']['#value'])) { - foreach (array('x', 'y') as $dimension) { - $value = $element[$dimension]['#value']; - if (!is_numeric($value)) { - form_error($element[$dimension], t('Height and width values must be numeric.')); - return; - } - if (intval($value) == 0) { - form_error($element[$dimension], t('Both a height and width value must be specified in the !name field.', array('!name' => $element['#title']))); - return; - } - } - form_set_value($element, intval($element['x']['#value']) . 'x' . intval($element['y']['#value']), $form_state); - } else { - form_set_value($element, '', $form_state); - } -} - -/** - * Implements hook_field_load(). - */ -function videoupload_field_load($entity_type, $entities, $field, $instances, $langcode, &$items, $age) { - file_field_load($entity_type, $entities, $field, $instances, $langcode, $items, $age); -} - -/** - * Implements hook_field_prepare_view(). - */ -function videoupload_field_prepare_view($entity_type, $entities, $field, $instances, $langcode, &$items) { - // If there are no files specified at all, use the default. - foreach ($entities as $id => $entity) { - if (empty($items[$id]) && $field['settings']['default_image']) { - if ($file = file_load($field['settings']['default_image'])) { - $items[$id][0] = (array) $file + array( - 'is_default' => TRUE, - 'alt' => '', - 'title' => '', - ); - } - } - } -} - -/** - * Implements hook_field_presave(). - */ -function videoupload_field_presave($entity_type, $entity, $field, $instance, $langcode, &$items) { - file_field_presave($entity_type, $entity, $field, $instance, $langcode, $items); -} - -/** - * Implements hook_field_insert(). - */ -function videoupload_field_insert($entity_type, $entity, $field, $instance, $langcode, &$items) { - file_field_insert($entity_type, $entity, $field, $instance, $langcode, $items); -} - -/** - * Implements hook_field_update(). - */ -function videoupload_field_update($entity_type, $entity, $field, $instance, $langcode, &$items) { - file_field_update($entity_type, $entity, $field, $instance, $langcode, $items); -} - -/** - * Implements hook_field_delete(). - */ -function videoupload_field_delete($entity_type, $entity, $field, $instance, $langcode, &$items) { - file_field_delete($entity_type, $entity, $field, $instance, $langcode, $items); -} - -/** - * Implements hook_field_delete_revision(). - */ -function videoupload_field_delete_revision($entity_type, $entity, $field, $instance, $langcode, &$items) { - file_field_delete_revision($entity_type, $entity, $field, $instance, $langcode, $items); -} - -/** - * Implements hook_field_is_empty(). - */ -function videoupload_field_is_empty($item, $field) { - return file_field_is_empty($item, $field); -} - -/** - * Implements hook_field_widget_info(). - */ -function videoupload_field_widget_info() { - return array( - 'video_video' => array( - 'label' => t('Video'), - 'field types' => array('video'), - 'settings' => array( - 'progress_indicator' => 'throbber', - 'preview_image_style' => 'thumbnail', - ), - 'behaviors' => array( - 'multiple values' => FIELD_BEHAVIOR_CUSTOM, - 'default value' => FIELD_BEHAVIOR_NONE, - ), - ), - ); -} - -/** - * Implements hook_field_widget_settings_form(). - */ -function videoupload_field_widget_settings_form($field, $instance) { - $widget = $instance['widget']; - $settings = $widget['settings']; - - // Use the file widget settings form. - $form = file_field_widget_settings_form($field, $instance); - - $form['preview_image_style'] = array( - '#title' => t('Preview image style'), - '#type' => 'select', - '#options' => image_style_options(FALSE), - '#empty_option' => '<' . t('no preview') . '>', - '#default_value' => $settings['preview_image_style'], - '#description' => t('The preview image will be shown while editing the content.'), - '#weight' => 15, - ); - - return $form; -} - -/** - * Implements hook_field_widget_form(). - */ -function videoupload_field_widget_form(&$form, &$form_state, $field, $instance, $langcode, $items, $delta, $element) { - - // Add display_field setting to field because file_field_widget_form() assumes it is set. - $field['settings']['display_field'] = 0; - - $elements = file_field_widget_form($form, $form_state, $field, $instance, $langcode, $items, $delta, $element); - $settings = $instance['settings']; - - foreach (element_children($elements) as $delta) { - // Add upload resolution validation. - if ($settings['max_resolution'] || $settings['min_resolution']) { - $elements[$delta]['#upload_validators']['file_validate_image_resolution'] = array($settings['max_resolution'], $settings['min_resolution']); - } - - // If not using custom extension validation, ensure this is an image. - $supported_extensions = array('png', 'gif', 'jpg', 'jpeg'); - $extensions = isset($elements[$delta]['#upload_validators']['file_validate_extensions'][0]) ? $elements[$delta]['#upload_validators']['file_validate_extensions'][0] : implode(' ', $supported_extensions); - $extensions = array_intersect(explode(' ', $extensions), $supported_extensions); - $elements[$delta]['#upload_validators']['file_validate_extensions'][0] = implode(' ', $extensions); - - // Add all extra functionality provided by the image widget. - $elements[$delta]['#process'][] = 'image_field_widget_process'; - } - - if ($field['cardinality'] == 1) { - // If there's only one field, return it as delta 0. - if (empty($elements[0]['#default_value']['fid'])) { - $elements[0]['#description'] = theme('file_upload_help', array('description' => $instance['description'], 'upload_validators' => $elements[0]['#upload_validators'])); - } - } else { - $elements['#file_upload_description'] = theme('file_upload_help', array('upload_validators' => $elements[0]['#upload_validators'])); - } - return $elements; -} - -/** - * An element #process callback for the image_image field type. - * - * Expands the image_image type to include the alt and title fields. - */ -function videoupload_field_widget_process($element, &$form_state, $form) { - $item = $element['#value']; - $item['fid'] = $element['fid']['#value']; - - $instance = field_widget_instance($element, $form_state); - - $settings = $instance['settings']; - $widget_settings = $instance['widget']['settings']; - - $element['#theme'] = 'image_widget'; - $element['#attached']['css'][] = drupal_get_path('module', 'image') . '/image.css'; - - // Add the image preview. - if ($element['#file'] && $widget_settings['preview_image_style']) { - $element['preview'] = array( - '#type' => 'markup', - '#markup' => theme('image_style', array('style_name' => $widget_settings['preview_image_style'], 'path' => $element['#file']->uri)), - ); - } - - // Add the additional alt and title fields. - $element['alt'] = array( - '#title' => t('Alternate text'), - '#type' => 'textfield', - '#default_value' => isset($item['alt']) ? $item['alt'] : '', - '#description' => t('This text will be used by screen readers, search engines, or when the image cannot be loaded.'), - '#maxlength' => variable_get('image_alt_length', 80), // See http://www.gawds.org/show.php?contentid=28. - '#weight' => -2, - '#access' => (bool) $item['fid'] && $settings['alt_field'], - ); - $element['title'] = array( - '#type' => 'textfield', - '#title' => t('Title'), - '#default_value' => isset($item['title']) ? $item['title'] : '', - '#description' => t('The title is used as a tool tip when the user hovers the mouse over the image.'), - '#maxlength' => variable_get('image_title_length', 500), - '#weight' => -1, - '#access' => (bool) $item['fid'] && $settings['title_field'], - ); - - return $element; -} - -/** - * Returns HTML for an image field widget. - * - * @param $variables - * An associative array containing: - * - element: A render element representing the image field widget. - * - * @ingroup themeable - */ -function theme_videoupload_widget($variables) { - $element = $variables['element']; - $output = ''; - $output .= '
'; - - if (isset($element['preview'])) { - $output .= '
'; - $output .= drupal_render($element['preview']); - $output .= '
'; - } - - $output .= '
'; - if ($element['fid']['#value'] != 0) { - $element['filename']['#markup'] .= ' (' . format_size($element['#file']->filesize) . ') '; - } - $output .= drupal_render_children($element); - $output .= '
'; - $output .= '
'; - - return $output; -} - -/** - * Implements hook_field_formatter_info(). - */ -function videoupload_field_formatter_info() { - $formatters = array( - 'video' => array( - 'label' => t('Video'), - 'field types' => array('video'), - 'settings' => array('image_style' => '', 'image_link' => ''), - ), - ); - - return $formatters; -} - -/** - * Implements hook_field_formatter_settings_form(). - */ -function videoupload_field_formatter_settings_form($field, $instance, $view_mode, $form, &$form_state) { - $display = $instance['display'][$view_mode]; - $settings = $display['settings']; - - $image_styles = image_style_options(FALSE); - $element['image_style'] = array( - '#title' => t('Image style'), - '#type' => 'select', - '#default_value' => $settings['image_style'], - '#empty_option' => t('None (original image)'), - '#options' => $image_styles, - ); - - $link_types = array( - 'content' => t('Content'), - 'file' => t('File'), - ); - $element['image_link'] = array( - '#title' => t('Link image to'), - '#type' => 'select', - '#default_value' => $settings['image_link'], - '#empty_option' => t('Nothing'), - '#options' => $link_types, - ); - - return $element; -} - -/** - * Implements hook_field_formatter_settings_summary(). - */ -function videoupload_field_formatter_settings_summary($field, $instance, $view_mode) { - $display = $instance['display'][$view_mode]; - $settings = $display['settings']; - - $summary = array(); - - $image_styles = image_style_options(FALSE); - // Unset possible 'No defined styles' option. - unset($image_styles['']); - // Styles could be lost because of enabled/disabled modules that defines - // their styles in code. - if (isset($image_styles[$settings['image_style']])) { - $summary[] = t('Image style: @style', array('@style' => $image_styles[$settings['image_style']])); - } else { - $summary[] = t('Original image'); - } - - $link_types = array( - 'content' => t('Linked to content'), - 'file' => t('Linked to file'), - ); - // Display this setting only if image is linked. - if (isset($link_types[$settings['image_link']])) { - $summary[] = $link_types[$settings['image_link']]; - } - - return implode('
', $summary); -} - -/** - * Implements hook_field_formatter_view(). - */ -function videoupload_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) { - $element = array(); - - // Check if the formatter involves a link. - if ($display['settings']['image_link'] == 'content') { - $uri = entity_uri($entity_type, $entity); - } elseif ($display['settings']['image_link'] == 'file') { - $link_file = TRUE; - } - - foreach ($items as $delta => $item) { - if (isset($link_file)) { - $uri = array( - 'path' => file_create_url($item['uri']), - 'options' => array(), - ); - } - $element[$delta] = array( - '#theme' => 'image_formatter', - '#item' => $item, - '#image_style' => $display['settings']['image_style'], - '#path' => isset($uri) ? $uri : '', - ); - } - - return $element; -} - -/** - * Returns HTML for an image field formatter. - * - * @param $variables - * An associative array containing: - * - item: An array of image data. - * - image_style: An optional image style. - * - path: An array containing the link 'path' and link 'options'. - * - * @ingroup themeable - */ -function theme_videoupload_formatter($variables) { - $item = $variables['item']; - $image = array( - 'path' => $item['uri'], - 'alt' => $item['alt'], - ); - // Do not output an empty 'title' attribute. - if (drupal_strlen($item['title']) > 0) { - $image['title'] = $item['title']; - } - - if ($variables['image_style']) { - $image['style_name'] = $variables['image_style']; - $output = theme('image_style', $image); - } else { - $output = theme('image', $image); - } - - if ($variables['path']) { - $path = $variables['path']['path']; - $options = $variables['path']['options']; - // When displaying an image inside a link, the html option must be TRUE. - $options['html'] = TRUE; - $output = l($output, $path, $options); - } - - return $output; -} diff --git a/types/videoupload/videoupload.module b/types/videoupload/videoupload.module index b482c67..3f03204 100644 --- a/types/videoupload/videoupload.module +++ b/types/videoupload/videoupload.module @@ -6,8 +6,6 @@ * uploadfield core hooks and menu callbacks. */ -module_load_include('inc', 'videoupload', 'videoupload.field'); - /** * Implementation of hook_perm(). */ -- cgit v1.2.3