You are here

function theme_xbbcode_settings_handlers in Extensible BBCode 5

File

./xbbcode-settings.php, line 282

Code

function theme_xbbcode_settings_handlers(&$form) {
  $header = array(
    array(
      'data' => t('Enabled'),
    ),
    array(
      'data' => t('Name'),
    ),
    array(
      'data' => t('Handler'),
    ),
    array(
      'data' => t('Weight'),
    ),
  );

  // Build rows
  $rows = array();
  uasort($form['tags'], '_element_sort');

  // sort by weight.
  foreach (element_children($form['tags']) as $i) {
    $tag =& $form['tags'][$i];
    foreach ($tag as $j => $field) {
      if (is_array($field)) {
        unset($tag[$j]['#title']);
      }

      // remove the titles
    }

    // Fetch values
    $enabled = $tag['enabled']['#default_value'];
    $handler = $tag['handler']['#default_value'];

    // Generate block row
    $row = array(
      drupal_render($tag['enabled']),
      "[{$i}]",
      drupal_render($tag['handler']) . drupal_render($tag['module']),
      drupal_render($tag['weight']),
    );
    $rows[] = $row;
  }
  unset($form['tags']);

  // to avoid the virtual fieldsets being rendered.
  // Finish table
  $output = theme('table', $header, $rows, array(
    'id' => 'xbbcode-handlers',
  ));
  $output .= drupal_render($form);
  return $output;
}