diff --git a/includes/media.admin.inc b/includes/media.admin.inc index f344bff..4104ff5 100644 --- a/includes/media.admin.inc +++ b/includes/media.admin.inc @@ -180,18 +180,6 @@ function media_admin_config_browser($form, &$form_state) { '#default_value' => media_variable_get('dialog_theme'), ); - $form[media_variable_name('file_extensions')] = array( - '#type' => 'textfield', - '#title' => t('Allowed file extensions'), - '#default_value' => media_variable_get('file_extensions'), - '#description' => t('File extensions which are accepted in the media - browser. Use spaces to separate (for example: "jpg gif pdf doc"). -
Note that this can be overriden on a per-field basis when - creating multimedia asset fields and files of certain extensions cannot be - embedded at this time.'), - '#maxlength' => 255, - ); - // Additional configuration if the WYSIWYG module is enabled. $form['wysiwyg'] = array( '#type' => 'fieldset', diff --git a/includes/media.fields.inc b/includes/media.fields.inc index 7551d45..565902c 100644 --- a/includes/media.fields.inc +++ b/includes/media.fields.inc @@ -162,7 +162,7 @@ function media_field_widget_form(&$form, &$form_state, $field, $instance, $langc 'enabledPlugins' => array_filter($instance['widget']['settings']['browser_plugins']), 'schemes' => $widget_settings['allowed_schemes'], 'file_directory' => isset($field_settings['file_directory']) ? $field_settings['file_directory'] : '', - 'file_extensions' => isset($field_settings['file_extensions']) ? $field_settings['file_extensions'] : media_variable_get('file_extensions'), + 'file_extensions' => isset($field_settings['file_extensions']) ? $field_settings['file_extensions'] : variable_get('file_entity_default_allowed_extensions', 'jpg jpeg gif png txt doc docx xls xlsx pdf ppt pptx pps ppsx odt ods odp mp3 mov mp4 m4a m4v mpeg avi ogg oga ogv weba webp webm'), 'max_filesize' => isset($field_settings['max_filesize']) ? $field_settings['max_filesize'] : 0, 'uri_scheme' => !empty($field['settings']['uri_scheme']) ? $field['settings']['uri_scheme'] : file_default_scheme(), ), diff --git a/includes/media.variables.inc b/includes/media.variables.inc index b70d3c6..310e0d2 100644 --- a/includes/media.variables.inc +++ b/includes/media.variables.inc @@ -134,8 +134,7 @@ function media_variable_default($name = NULL) { // Name of the theme to use in the media popup dialog, defaults to // admin_theme. 'dialog_theme' => '', - // @TODO: Make a configuration form with this. - 'file_extensions' => variable_get('file_entity_default_allowed_extensions', 'jpg jpeg gif png txt doc docx xls xlsx pdf ppt pptx pps ppsx odt ods odp') . ' mp3 mov mp4 m4a m4v mpeg avi ogg oga ogv wmv ico', + 'max_filesize' => '', 'debug' => FALSE, diff --git a/media.install b/media.install index cd1cc13..1d08452 100644 --- a/media.install +++ b/media.install @@ -1013,3 +1013,21 @@ function media_update_7212() { file_type_disable($application); } } + +/** + * Remove the obsolete file_extensions variable. + */ +function media_update_7213() { + $media_file_extensions = variable_get('media__file_extensions'); + $file_entity_file_extensions = variable_get('file_entity_default_allowed_extensions', 'jpg jpeg gif png txt doc docx xls xlsx pdf ppt pptx pps ppsx odt ods odp mp3 mov mp4 m4a m4v mpeg avi ogg oga ogv weba webp webm') + + // Preserve any custom file extensions. + if (!empty($media_file_extensions)) { + $combined_file_extensions = array_unique(array_merge($media_file_extensions, $file_entity_file_extensions)); + variable_set('file_entity_default_allowed_extensions', $combined_file_extensions); + } + + variable_del('media__file_extensions'); + + return t('Removed the obsolete file_extensions variable.'); +} diff --git a/media.module b/media.module index 5d3425f..84efe78 100644 --- a/media.module +++ b/media.module @@ -587,21 +587,6 @@ function media_form_wysiwyg_profile_form_alter(&$form, &$form_state) { } /** - * Implements hook_form_FORM_ID_alter(). - */ -function media_form_file_entity_add_upload_alter(&$form, &$form_state) { - if (isset($form['upload']['#upload_validators'])) { - $validators = &$form['upload']['#upload_validators']; - - // If the list of allowed extensions is the default provided by file_entity - // then change the default to the more permissive media extension list. - if (isset($validators['file_validate_extensions']) && $validators['file_validate_extensions'] == array(variable_get('file_entity_default_allowed_extensions', 'jpg jpeg gif png txt doc docx xls xlsx pdf ppt pptx pps ppsx odt ods odp'))) { - $validators['file_validate_extensions'] = array(media_variable_get('file_extensions')); - } - } -} - -/** * Implements hook_file_download_access(). */ function media_file_download_access($field, $entity_type, $entity) { diff --git a/modules/media_internet/media_internet.module b/modules/media_internet/media_internet.module index 77868e6..c765bcc 100644 --- a/modules/media_internet/media_internet.module +++ b/modules/media_internet/media_internet.module @@ -111,7 +111,7 @@ class MediaInternetFileHandler extends MediaInternetBaseHandler { $remote_uri = $file_obj->uri; //@TODO: we should follow redirection here an save the final filename, not just the basename. $local_filename = basename($remote_uri); - $local_filename = file_munge_filename($local_filename, media_variable_get('file_extensions'), FALSE); + $local_filename = file_munge_filename($local_filename, variable_get('file_entity_default_allowed_extensions', 'jpg jpeg gif png txt doc docx xls xlsx pdf ppt pptx pps ppsx odt ods odp mp3 mov mp4 m4a m4v mpeg avi ogg oga ogv weba webp webm'), FALSE); $local_uri = file_stream_wrapper_uri_normalize('temporary://' . $local_filename); if (!@copy($remote_uri, $local_uri)) { throw new Exception('Unable to add file ' . $remote_uri); @@ -151,7 +151,7 @@ class MediaInternetFileHandler extends MediaInternetBaseHandler { // Since this handler copies the remote file to the local web server, do not // claim a URL with an extension disallowed for media uploads. - $regex = '/\.(' . preg_replace('/ +/', '|', preg_quote(media_variable_get('file_extensions'))) . ')$/i'; + $regex = '/\.(' . preg_replace('/ +/', '|', preg_quote(variable_get('file_entity_default_allowed_extensions', 'jpg jpeg gif png txt doc docx xls xlsx pdf ppt pptx pps ppsx odt ods odp mp3 mov mp4 m4a m4v mpeg avi ogg oga ogv weba webp webm'))) . ')$/i'; if (!preg_match($regex, basename($embedCode))) { return FALSE; } diff --git a/modules/mediafield/mediafield.module b/modules/mediafield/mediafield.module index 3fa3c7a..6d2b602 100644 --- a/modules/mediafield/mediafield.module +++ b/modules/mediafield/mediafield.module @@ -15,7 +15,7 @@ function mediafield_field_info() { 'description' => t('This field stores a reference to a multimedia asset.'), 'settings' => array(), 'instance_settings' => array( - 'file_extensions' => media_variable_get('file_extensions'), + 'file_extensions' => variable_get('file_entity_default_allowed_extensions', 'jpg jpeg gif png txt doc docx xls xlsx pdf ppt pptx pps ppsx odt ods odp mp3 mov mp4 m4a m4v mpeg avi ogg oga ogv weba webp webm'), ), 'default_widget' => 'media_generic', 'default_formatter' => 'media',