You are here

function xbbcode_highlighter_filter in Extensible BBCode 5

File

xbbcode_highlighter/xbbcode_highlighter.module, line 16

Code

function xbbcode_highlighter_filter($op = 'list', $delta = 0, $format = -1, $text = NULL) {
  $res = db_query("SELECT delta,id,name FROM {xbbcode_highlighter} WHERE enabled=true;");
  while ($row = db_fetch_array($res)) {
    $codes[$row['delta']] = $row['id'];
    $info[$row['delta']] = $row['name'] ? $row['name'] : strtoupper($row['id']);
  }
  switch ($op) {
    case 'list':
      if (is_array($codes)) {
        foreach ($codes as $delta => $code) {
          $names[$delta] = t("Syntax coloring for !lang", array(
            '!lang' => $info[$delta],
          ));
        }
      }
      return $names;
    case 'no cache':
      return true;
    case 'process':
      return @xbbcode_highlighter_highlight($codes[$delta], $text, true);
    default:
      return $text;
  }
}