function accordion_block_config_settings in Accordion Blocks 7.2
Same name and namespace in other branches
- 7.3 accordion_blocks.module \accordion_block_config_settings()
Implements menu callback for the admin settings form for accordion_block
1 string reference to 'accordion_block_config_settings'
- accordion_blocks_menu in ./
accordion_blocks.module - Implements hook_menu()
File
- ./
accordion_blocks.module, line 198
Code
function accordion_block_config_settings($form, &$form_state, $formtype, $accordion_block = NULL) {
$default_values = $accordion_block;
$form = array();
if ($formtype == 'edit') {
$form['id'] = array(
'#type' => 'value',
'#value' => isset($accordion_block['id']) ? $accordion_block['id'] : 0,
);
}
$form['accordion_block_title'] = array(
'#type' => 'textfield',
'#title' => t('Title'),
'#default_value' => $default_values['title'],
'#description' => t('Title of the accordion block.'),
'#required' => TRUE,
);
$data = unserialize($default_values['content']);
$form['accordion_block_content'] = array(
'#type' => 'fieldset',
'#title' => t('Accordion Block Content'),
'#prefix' => '<div id="accordion_block_wrapper">',
'#suffix' => '</div>',
);
$blocks = accordion_block_get_all_blocks();
if (empty($form_state['accordion_blocks'])) {
$form_state['accordion_blocks'] = count($data);
}
for ($block_count = 0; $block_count < $form_state['accordion_blocks']; $block_count++) {
$form['accordion_block_content']['type']["block_" . $block_count] = array(
'#type' => 'select',
'#title' => t('Block content'),
'#default_value' => $data["block_" . $block_count],
'#description' => t('Add type of accordion block content.'),
'#options' => $blocks,
);
}
$form['accordion_block_content']['add_name'] = array(
'#type' => 'submit',
'#value' => t('Add one more'),
'#submit' => array(
'accordion_block_add_more_blocks',
),
'#ajax' => array(
'callback' => 'accordion_block_add_more_blocks_callback',
'wrapper' => 'accordion_block_wrapper',
),
);
if ($form_state['accordion_blocks'] > 1) {
$form['accordion_block_content']['remove_name'] = array(
'#type' => 'submit',
'#value' => t('Remove one'),
'#submit' => array(
'accordion_block_add_more_remove_one',
),
'#ajax' => array(
'callback' => 'accordion_block_add_more_blocks_callback',
'wrapper' => 'accordion_block_wrapper',
),
);
}
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Accordion Block Submit'),
);
$form['#validate'][] = 'accordion_block_validate';
return $form;
}