function xbbcode_settings_handlers_submit in Extensible BBCode 6
Same name and namespace in other branches
- 5 xbbcode-settings.php \xbbcode_settings_handlers_submit()
1 string reference to 'xbbcode_settings_handlers_submit'
File
- ./
xbbcode.admin.inc, line 360
Code
function xbbcode_settings_handlers_submit($form, $form_state) {
$tags = $form_state['values']['tags'];
$format = $form_state['values']['format'];
if ($form_state['values']['format'] && $form_state['values']['override'] == 'global') {
db_query("DELETE FROM {xbbcode_handlers} WHERE format = %d AND format != -1", $format);
drupal_set_message(t('The format-specific settings were reset.'), 'status');
return;
}
db_query('DELETE FROM {xbbcode_handlers} WHERE format = %d', $format);
$args = array();
$vals = array();
foreach ($tags as $name => $settings) {
$args[] = "('%s', %d, '%s', %d, %d)";
if (!$settings['handler']) {
$settings['handler'] = current($form['tags'][$name]['handler']['#options']);
}
array_push($vals, $name, $format, $settings['handler'], $settings['enabled'], $settings['weight']);
}
db_query('INSERT INTO {xbbcode_handlers} (name, format, module, enabled, weight) VALUES ' . implode(', ', $args), $vals);
cache_clear_all('xbbcode_tags_' . $format, 'cache');
drupal_set_message(t('Tag settings were updated.'), 'status');
}