Projet

Général

Profil

Paste
Télécharger (2,19 ko) Statistiques
| Branche: | Révision:

root / drupal7 / sites / all / modules / ldap / ldap_views / handlers / ldap_views_handler_field.inc @ 32700c57

1 85ad3d82 Assos Assos
<?php
2
3
/**
4
 * @file
5 32700c57 Assos Assos
 * LDAP field handler.
6 85ad3d82 Assos Assos
 *
7 32700c57 Assos Assos
 * Defines a new class field handler for a default ldap field.
8 85ad3d82 Assos Assos
 */
9 bc175c27 Assos Assos
10 32700c57 Assos Assos
/**
11
 *
12
 */
13 85ad3d82 Assos Assos
class ldap_views_handler_field extends views_handler_field {
14
15 32700c57 Assos Assos
  /**
16
   *
17
   */
18
  public function render($values) {
19 85ad3d82 Assos Assos
    return array_key_exists($this->field_alias, $values) ? check_plain($values[$this->field_alias]) : '';
20
  }
21
22 32700c57 Assos Assos
  /**
23
   *
24
   */
25
  public function element_type($none_supported = FALSE, $default_empty = FALSE, $inline = FALSE) {
26 85ad3d82 Assos Assos
    if (isset($this->definition['element type'])) {
27
      return $this->definition['element type'];
28
    }
29
30
    return 'div';
31
  }
32
33 32700c57 Assos Assos
  /**
34
   *
35
   */
36
  public function option_definition() {
37
    $options                    = parent::option_definition();
38
    $options['multivalue']      = ['default' => 'v-all'];
39
    $options['value_separator'] = ['default' => ''];
40
    $options['index_value']     = ['default' => 0];
41 85ad3d82 Assos Assos
    return $options;
42
  }
43
44 32700c57 Assos Assos
  /**
45
   * Add the field for the LDAP Attribute.
46 85ad3d82 Assos Assos
   */
47 32700c57 Assos Assos
  public function options_form(&$form, &$form_state) {
48 85ad3d82 Assos Assos
    parent::options_form($form, $form_state);
49 32700c57 Assos Assos
    $form['multivalue'] = [
50
    // It should be 'radios', but it makes #dependency not to work.
51
      '#type' => 'select',
52 85ad3d82 Assos Assos
      '#title' => t('Values to show'),
53
      '#description' => t('What to do whith  multivalue attributes'),
54 32700c57 Assos Assos
      '#options' => [
55 85ad3d82 Assos Assos
        'v-all' => t('All values'),
56
        'v-index' => t('Show Nth value'),
57
        'v-count' => t('Count values'),
58 32700c57 Assos Assos
      ],
59 85ad3d82 Assos Assos
      '#default_value' => $this->options['multivalue'],
60
      '#required' => TRUE,
61 32700c57 Assos Assos
    ];
62
    $form['value_separator'] = [
63 85ad3d82 Assos Assos
      '#type' => 'textfield',
64
      '#title' => t('Value separator'),
65
      '#description' => t('Separator to use between values in multivalued attributes'),
66
      '#default_value' => $this->options['value_separator'],
67 32700c57 Assos Assos
      '#dependency' => [
68
        'edit-options-multivalue' => ['v-all'],
69
      ],
70
    ];
71
    $form['index_value'] = [
72 85ad3d82 Assos Assos
      '#type' => 'textfield',
73
      '#title' => t('Index'),
74
      '#description' => t('Index of the value to show. Use negative numbers to index from last item (0=First, -1=Last)'),
75
      '#default_value' => $this->options['index_value'],
76 32700c57 Assos Assos
      '#dependency' => [
77
        'edit-options-multivalue' => ['v-index'],
78
      ],
79
    ];
80 85ad3d82 Assos Assos
  }
81 32700c57 Assos Assos
82 85ad3d82 Assos Assos
}