You are here

function xbbcode_settings_handlers_submit in Extensible BBCode 5

Same name and namespace in other branches
  1. 6 xbbcode.admin.inc \xbbcode_settings_handlers_submit()

File

./xbbcode-settings.php, line 330

Code

function xbbcode_settings_handlers_submit($form_id, $form) {
  $tags = $form['tags'];
  $format = $form['format'];
  $format_name = $form['format_name'];
  if ($form['restore'] == t("Restore global values")) {
    db_query("DELETE FROM {xbbcode_handlers} WHERE format = %d AND format != -1", $format);
    drupal_set_message(t("Tag settings of format %format were reset to the global values.", array(
      '%format' => $format_name,
    )), 'status');
    return;
  }
  foreach ($tags as $name => $settings) {
    if (db_result(db_query("SELECT COUNT(*) FROM {xbbcode_handlers} WHERE name = '%s' AND format = %d", $name, $format))) {
      $sql = "UPDATE {xbbcode_handlers} SET module = '%s', enabled = %d, weight = %d WHERE name = '%s' AND format = %d";
    }
    else {
      $sql = "INSERT INTO {xbbcode_handlers} (module, enabled, weight, name, format) " . "VALUES ('%s', %d, %d, '%s', %d)";
    }
    db_query($sql, $settings['module'], $settings['enabled'], $settings['weight'], $name, $format);
  }
  drupal_set_message(t('Tag settings of format %format were updated.', array(
    '%name' => $format_name,
  )), 'status');
}