Projet

Général

Profil

Paste
Télécharger (3,14 ko) Statistiques
| Branche: | Révision:

root / drupal7 / sites / all / modules / media / modules / media_wysiwyg_view_mode / media_wysiwyg_view_mode.admin.inc @ ca0757b9

1
<?php
2

    
3
/**
4
 * @file
5
 * Generate configuration form and save settings.
6
 */
7

    
8
/**
9
 * Configuration form for Media's WYSIWYG view modes.
10
 */
11
function media_wysiwyg_view_mode_configuration_form($form, &$form_state) {
12
  $options = array();
13

    
14
  // Add the default view mode by default
15
  $options['default'] = t('Default');
16

    
17
  $entity_info = entity_get_info('file');
18
  foreach ($entity_info['view modes'] as $view_mode => $view_mode_info) {
19
    $options[$view_mode] = check_plain($view_mode_info['label']);
20
  }
21

    
22
  $form['media_wysiwyg_view_mode_wysiwyg_restricted_view_modes'] = array(
23
    '#type' => 'fieldset',
24
    '#title' => t('WYSIWYG allowed view modes'),
25
    '#collapsible' => TRUE,
26
    '#collapsed' => FALSE,
27
    '#description' => t('Restrict the allowed view modes when embedding files inside of the the WYSIWYG editor.'),
28
  );
29

    
30
  foreach (file_type_get_enabled_types() as $type) {
31
    $form['media_wysiwyg_view_mode_wysiwyg_restricted_view_modes']["media_wysiwyg_view_mode_{$type->type}_wysiwyg_restricted_view_modes_status"] = array(
32
      '#type' => 'checkbox',
33
      '#title' => t('Restrict allowed view modes for %type', array('%type' => $type->label)),
34
      '#default_value' => variable_get("media_wysiwyg_view_mode_{$type->type}_wysiwyg_restricted_view_modes_status", FALSE),
35
    );
36
    $form['media_wysiwyg_view_mode_wysiwyg_restricted_view_modes']["media_wysiwyg_view_mode_{$type->type}_wysiwyg_restricted_view_modes"] = array(
37
      '#type' => 'checkboxes',
38
      '#title' => t('Restrict view modes'),
39
      '#options' => $options,
40
      '#default_value' => variable_get("media_wysiwyg_view_mode_{$type->type}_wysiwyg_restricted_view_modes", array()),
41
      '#states' => array(
42
        'visible' => array(
43
          ':input[name="media_wysiwyg_view_mode_' . $type->type . '_wysiwyg_restricted_view_modes_status"]' => array('checked' => TRUE),
44
        ),
45
      ),
46
    );
47
  }
48

    
49
  $form['media_wysiwyg_view_mode_file_wysiwyg_view_mode'] = array(
50
    '#type' => 'fieldset',
51
    '#title' => t('File WYSIWYG view mode'),
52
    '#collapsible' => TRUE,
53
    '#collapsed' => FALSE,
54
    '#description' => t('Use a custom view mode when displaying files inside of the WYSIWYG editor.'),
55
  );
56

    
57
  foreach (file_type_get_enabled_types() as $type) {
58
    $form['media_wysiwyg_view_mode_file_wysiwyg_view_mode']["media_wysiwyg_view_mode_{$type->type}_file_wysiwyg_view_mode_status"] = array(
59
      '#type' => 'checkbox',
60
      '#title' => t('Use a custom view mode for %type', array('%type' => $type->label)),
61
      '#default_value' => variable_get("media_wysiwyg_view_mode_{$type->type}_file_wysiwyg_view_mode_status", FALSE),
62
    );
63
    $form['media_wysiwyg_view_mode_file_wysiwyg_view_mode']["media_wysiwyg_view_mode_{$type->type}_file_wysiwyg_view_mode"] = array(
64
      '#type' => 'select',
65
      '#title' => t('View mode'),
66
      '#options' => $options,
67
      '#default_value' => variable_get("media_wysiwyg_view_mode_{$type->type}_file_wysiwyg_view_mode", 'wysiwyg'),
68
      '#states' => array(
69
        'visible' => array(
70
          ':input[name="media_wysiwyg_view_mode_' . $type->type . '_file_wysiwyg_view_mode_status"]' => array('checked' => TRUE),
71
        ),
72
      ),
73
    );
74
  }
75

    
76
  return system_settings_form($form);
77
}