123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460 |
- <?php
- function hook_field_group_formatter_info() {
- return array(
- 'form' => array(
- 'fieldset' => array(
- 'label' => t('Fieldset'),
- 'description' => t('This fieldgroup renders the inner content in a fieldset with the title as legend.'),
- 'format_types' => array('open', 'collapsible', 'collapsed'),
- 'instance_settings' => array('classes' => ''),
- 'default_formatter' => 'collapsible',
- ),
- ),
- 'display' => array(
- 'div' => array(
- 'label' => t('Div'),
- 'description' => t('This fieldgroup renders the inner content in a simple div with the title as legend.'),
- 'format_types' => array('open', 'collapsible', 'collapsed'),
- 'instance_settings' => array('effect' => 'none', 'speed' => 'fast', 'classes' => ''),
- 'default_formatter' => 'collapsible',
- ),
- ),
- );
- }
- function hook_field_group_format_settings($group) {
-
- $form = array(
- 'instance_settings' => array(
- '#tree' => TRUE,
- '#weight' => 2,
- ),
- );
- $field_group_types = field_group_formatter_info();
- $mode = $group->mode == 'form' ? 'form' : 'display';
- $formatter = $field_group_types[$mode][$group->format_type];
-
- if (isset($formatter['format_types'])) {
- $form['formatter'] = array(
- '#title' => t('Fieldgroup settings'),
- '#type' => 'select',
- '#options' => drupal_map_assoc($formatter['format_types']),
- '#default_value' => isset($group->format_settings['formatter']) ? $group->format_settings['formatter'] : $formatter['default_formatter'],
- '#weight' => 1,
- );
- }
- if ($mode == 'form') {
- $form['instance_settings']['required_fields'] = array(
- '#type' => 'checkbox',
- '#title' => t('Mark group for required fields.'),
- '#default_value' => isset($group->format_settings['instance_settings']['required_fields']) ? $group->format_settings['instance_settings']['required_fields'] : (isset($formatter['instance_settings']['required_fields']) ? $formatter['instance_settings']['required_fields'] : ''),
- '#weight' => 2,
- );
- }
- $form['instance_settings']['classes'] = array(
- '#title' => t('Extra CSS classes'),
- '#type' => 'textfield',
- '#default_value' => isset($group->format_settings['instance_settings']['classes']) ? $group->format_settings['instance_settings']['classes'] : (isset($formatter['instance_settings']['classes']) ? $formatter['instance_settings']['classes'] : ''),
- '#weight' => 3,
- '#element_validate' => array('field_group_validate_css_class'),
- );
- $form['instance_settings']['description'] = array(
- '#title' => t('Description'),
- '#type' => 'textarea',
- '#default_value' => isset($group->format_settings['instance_settings']['description']) ? $group->format_settings['instance_settings']['description'] : (isset($formatter['instance_settings']['description']) ? $formatter['instance_settings']['description'] : ''),
- '#weight' => 0,
- );
-
- switch ($group->format_type) {
- case 'div':
- $form['instance_settings']['effect'] = array(
- '#title' => t('Effect'),
- '#type' => 'select',
- '#options' => array('none' => t('None'), 'blind' => t('Blind')),
- '#default_value' => isset($group->format_settings['instance_settings']['effect']) ? $group->format_settings['instance_settings']['effect'] : $formatter['instance_settings']['effect'],
- '#weight' => 2,
- );
- $form['instance_settings']['speed'] = array(
- '#title' => t('Speed'),
- '#type' => 'select',
- '#options' => array('none' => t('None'), 'slow' => t('Slow'), 'fast' => t('Fast')),
- '#default_value' => isset($group->format_settings['instance_settings']['speed']) ? $group->format_settings['instance_settings']['speed'] : $formatter['instance_settings']['speed'],
- '#weight' => 3,
- );
- break;
- case 'fieldset':
- $form['instance_settings']['classes'] = array(
- '#title' => t('Extra CSS classes'),
- '#type' => 'textfield',
- '#default_value' => isset($group->format_settings['instance_settings']['classes']) ? $group->format_settings['instance_settings']['classes'] : $formatter['instance_settings']['classes'],
- '#weight' => 3,
- '#element_validate' => array('field_group_validate_css_class'),
- );
- break;
- case 'tabs':
- case 'htabs':
- case 'accordion':
- unset($form['instance_settings']['description']);
- if (isset($form['instance_settings']['required_fields'])) {
- unset($form['instance_settings']['required_fields']);
- }
- break;
- case 'tab':
- case 'htab':
- case 'accordion-item':
- default:
- }
- return $form;
- }
- function hook_field_group_pre_render(& $element, $group, & $form) {
-
- $view_mode = isset($form['#view_mode']) ? $form['#view_mode'] : 'form';
- $id = $form['#entity_type'] . '_' . $form['#bundle'] . '_' . $view_mode . '_' . $group->group_name;
-
- switch ($group->format_type) {
-
- case 'div':
- $effect = isset($group->format_settings['instance_settings']['effect']) ? $group->format_settings['instance_settings']['effect'] : 'none';
- $speed = isset($group->format_settings['instance_settings']['speed']) ? $group->format_settings['instance_settings']['speed'] : 'none';
- $add = array(
- '#type' => 'markup',
- '#weight' => $group->weight,
- '#id' => $id,
- );
- $classes .= " speed-$speed effect-$effect";
- if ($group->format_settings['formatter'] != 'open') {
- $add['#prefix'] = '<div class="field-group-format ' . $classes . '">
- <span class="field-group-format-toggler">' . check_plain(t($group->label)) . '</span>
- <div class="field-group-format-wrapper" style="display: none;">';
- $add['#suffix'] = '</div></div>';
- }
- else {
- $add['#prefix'] = '<div class="field-group-format ' . $group->group_name . ' ' . $classes . '">';
- $add['#suffix'] = '</div>';
- }
- if (!empty($description)) {
- $add['#prefix'] .= '<div class="description">' . $description . '</div>';
- }
- $element += $add;
- if ($effect == 'blind') {
- drupal_add_library('system', 'effects.blind');
- }
- break;
- break;
- }
- }
- function hook_field_group_pre_render_alter(&$element, $group, & $form) {
- if ($group->format_type == 'htab') {
- $element['#theme_wrappers'] = array('my_horizontal_tab');
- }
- }
- function hook_field_group_build_pre_render_alter(& $element) {
-
- $display = isset($element['#view_mode']);
- $groups = array_keys($element['#groups']);
-
- if ($display) {
- foreach (element_children($element) as $name) {
- if (in_array($name, $groups)) {
- if (field_group_field_group_is_empty($element[$name], $groups)) {
- unset($element[$name]);
- }
- }
- }
- }
-
- $element['#attached']['js'][] = drupal_get_path('module', 'field_group') . '/field_group.js';
- $element['#attached']['css'][] = drupal_get_path('module', 'field_group') . '/field_group.css';
- }
- function hook_field_group_format_summary($group) {
- $output = '';
-
- return $output;
- }
- function hook_ctools_plugin_api($module, $api) {
- if ($module == 'field_group' && $api == 'field_group') {
- return array('version' => 1);
- }
- }
- function hook_field_group_info() {
- }
- function hook_field_group_info_alter(&$groups) {
- if (!empty($groups['group_issue_metadata|node|project_issue|form'])) {
- $groups['group_issue_metadata|node|project_issue|form']->data['children'][] = 'taxonomy_vocabulary_9';
- }
- }
- function hook_field_group_update_field_group($group) {
-
- }
- function hook_field_group_delete_field_group($group) {
-
- }
- function hook_field_group_create_field_group($group) {
-
- }
- function field_group_info_groups($entity_type = NULL, $bundle = NULL, $view_mode = NULL, $reset = FALSE) {
-
- }
- function field_group_read_groups($conditions = array(), $enabled = TRUE) {
-
- }
- function field_group_hide_field_groups(&$element, $group_names) {
- }
|