You are here

function xbbcode_install in Extensible BBCode 6

Same name and namespace in other branches
  1. 5 xbbcode.install \xbbcode_install()

File

./xbbcode.install, line 116

Code

function xbbcode_install() {
  drupal_install_schema('xbbcode');
  $format_exists = db_result(db_query("SELECT COUNT(*) FROM {filter_formats} WHERE name = 'BBCode'"));
  if (!$format_exists) {

    // Create a format
    db_query("INSERT INTO {filter_formats} (name, roles, cache) VALUES ('BBCode', '', 0)");
    $format = db_result(db_query("SELECT format FROM {filter_formats} WHERE name='BBCode'"));

    // Assign filters: HTML removal (filter:0), XBBCode (xbbcode:0), linebreaks (filter:1), URLs (filter:2).
    db_query("INSERT INTO {filters} (format, module, delta, weight) VALUES (%d, 'xbbcode', 0, 1), (%d, 'filter', 0, 0), (%d, 'filter', 1, 2), (%d, 'filter', 2, 3)", $format, $format, $format, $format);

    // Set filter to ESCAPE:
    variable_set("filter_html_{$format}", FILTER_HTML_ESCAPE);
    drupal_set_message(t('A <a href="@url">BBCode</a> input format has been created and assigned the additional filters HTML Filter, Line break converter, URL Filter.', array(
      '@url' => url('admin/settings/filters/' . $format),
    )));
  }
  else {
    $format = db_result(db_query("SELECT format FROM {filter_formats} WHERE name='BBCode'"));
    drupal_set_message(t('An existing format named <a href="@url">BBCode</a> has been detected. Please adjust its settings manually.', array(
      '@url' => url('admin/settings/filters/' . $format),
    )));
  }
}