function blockanimate_form_submit in BlockAnimate 7
Helper function.
Additional submit callback for block configuration pages. Save supplied block CSS classes and block attributes.
1 string reference to 'blockanimate_form_submit'
- blockanimate_form_alter in ./
blockanimate.module - Implements hook_form_alter().
File
- ./
blockanimate.module, line 232 - Add CSS3 cross-browser animation to any Drupal block.
Code
function blockanimate_form_submit($form, &$form_state) {
$form_id = $form_state['values']['form_id'];
if ($form_id == 'block_admin_configure' || $form_id == 'block_add_block_form') {
$animate_css_class = $form_state['values']['animate_css_class'];
$animate_css_infinite = $animate_css_class != 'none' && strlen($form_state['values']['animate_css_wow_iteration']) == 0 ? $form_state['values']['animate_css_infinite'] : 0;
$animate_css_duration = _blockanimate_get_db_value_for_optional_field($animate_css_class, $form_state['values']['animate_css_wow_duration']);
$animate_css_delay = _blockanimate_get_db_value_for_optional_field($animate_css_class, $form_state['values']['animate_css_wow_delay']);
$animate_css_offset = _blockanimate_get_db_value_for_optional_field($animate_css_class, $form_state['values']['animate_css_wow_offset']);
$animate_css_iteration = _blockanimate_get_db_value_for_optional_field($animate_css_class, $form_state['values']['animate_css_wow_iteration']);
$field_values = array(
'animate_css_class' => $animate_css_class,
'animate_css_infinite' => $animate_css_infinite,
'animate_css_wow_duration' => $animate_css_duration,
'animate_css_wow_delay' => $animate_css_delay,
'animate_css_wow_offset' => $animate_css_offset,
'animate_css_wow_iteration' => $animate_css_iteration,
);
if (user_access('administer blocks') && !empty($field_values)) {
db_update('block')
->fields($field_values)
->condition('module', $form_state['values']['module'])
->condition('delta', $form_state['values']['delta'])
->execute();
// Flush all context module cache to use the updated block classes.
if (module_exists('context')) {
cache_clear_all('context', 'cache', TRUE);
}
}
}
}