function media_admin_type_manage_form in D7 Media 7
The administration form for managing media types.
File
- includes/
media.admin.inc, line 307 - This file contains the admin functions for the Media module.
Code
function media_admin_type_manage_form($form, &$form_state, $media_type) {
$form = array();
$form['media_type'] = array(
'#type' => 'value',
'#value' => $media_type->name,
);
// If this Media type is handled by us, then we can put in some default
// options. Otherwise, we leave it to the implementing module to form_alter.
if ($media_type->type_callback == 'media_is_type') {
// Options for match_type.
$options = array(
'all' => t('All'),
'any' => t('Any'),
'other' => t('Other'),
);
if ($media_type->type_callback_args['match_type'] && isset($options[$media_type->type_callback_args['match_type']])) {
$default_value = $media_type->type_callback_args['match_type'];
$other_default_value = '';
}
else {
$default_value = 'other';
$other_default_value = $media_type->type_callback_args['match_type'];
}
$form['match_type'] = array(
'#type' => 'radios',
'#title' => t('Match type'),
'#options' => $options,
'#default_value' => $default_value,
);
$form['match_type_other'] = array(
'#type' => 'textfield',
'#title' => t('Other match type value'),
'#default_value' => $other_default_value,
'#attached' => array(
'js' => array(
drupal_get_path('module', 'media') . '/js/media.admin.js',
),
),
);
// Options for allowed Streams.
$options = array(
'public' => t('Public files'),
'private' => t('Private files'),
);
foreach (file_get_stream_wrappers() as $stream => $wrapper) {
$options[$stream] = $wrapper['name'];
}
unset($options['temporary']);
$default_value = array();
if (isset($media_type->type_callback_args['streams'])) {
foreach ($media_type->type_callback_args['streams'] as $stream) {
$default_value[$stream] = $stream;
}
}
$form['streams'] = array(
'#type' => 'checkboxes',
'#title' => t('Allowed streams'),
'#options' => $options,
'#default_value' => $default_value,
);
// Options for allowed mimetypes & extensions.
$default_value = isset($media_type->type_callback_args['mimetypes']) ? implode(' ', $media_type->type_callback_args['mimetypes']) : '';
$form['mimetypes'] = array(
'#type' => 'textfield',
'#title' => t('Allowed mimetypes'),
'#description' => t('You may optionally enter one or more allowed file mimetypes for this Media type, if appropriate, separating each with a space. You may use a regular expression for matching, such as %image_match (which would match any mimetype beginning with %image) or %any_match, which would match any file mimetype.', array(
'%image_match' => '/^image/',
'%image' => t('image'),
'%any_match' => '/.*/',
)),
'#default_value' => check_plain($default_value),
);
$default_value = isset($media_type->type_callback_args['extensions']) ? implode(' ', $media_type->type_callback_args['extensions']) : '';
$form['extensions'] = array(
'#type' => 'textfield',
'#title' => t('Allowed extensions'),
'#description' => t('You may optionally enter one or more allowed file extensions for this Media type, if appropriate, separating each with a space (and no dots).'),
'#default_value' => check_plain($default_value),
);
}
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#weight' => 100,
);
return $form;
}